diff --git a/.gitignore b/.gitignore index 7b80662eb..b803f1692 100644 --- a/.gitignore +++ b/.gitignore @@ -46,5 +46,7 @@ make.log docs/figures.* docs/pdf_figures share/Gnuplot +faq +tutorial FAQ.pdf build* diff --git a/INSTALL b/INSTALL index daa308415..960b946de 100644 --- a/INSTALL +++ b/INSTALL @@ -2,16 +2,20 @@ Table of contents: ================== * Installation from sources + * Use of ./configure script to customize your build * More details about ./configure --with-PACKAGE[=OPTION] - * Platform compiler problems + * Inclusion of optional features --enable-FEATURE + * Platform-specific tips + linux Ubuntu + macOS homebrew + Windows MSDOS + OS/2 and WPS * Environment variables * How to test gnuplot - * Installing WPS object for gnuplot on OS/2 - * Compiling Gnuplot with the wxt (wxWidgets) terminal If you are installing a binary package, you may still want to check out -some sections of this document, particularly the one discussing -environment variables. +some sections of this document, particularly the sections at the end +about environment variables and testing gnuplot after installation. Installation from sources @@ -20,8 +24,8 @@ Installation from sources For the impatient ----------------- - Configuration options are in the Makefile and in src/term.h, which -selects the set of terminal drivers to be compiled in. + Configuration options are in the Makefile and in src/term.h, where you +select additional terminal drivers to be compiled in. The recommended way to configure both of these is the GNU-style "./configure" script described below and described further in INSTALL.gnu. @@ -55,10 +59,6 @@ terminal support files PREFIX/share/gnuplot/$VERSION/js PREFIX/share/gnuplot/$VERSION/qt - The only files where the runtime location is defined at compile time are -gnuplot.gih and show.c. This is important if gnuplot is not installed -by running 'make install'. - The default path for the help library, gnuplot.gih, can be controlled in several different ways: @@ -85,7 +85,7 @@ several different ways: o at execution time by specifying the helpfile with the environment variable GNUHELP (see "Environment Variables" below). - The default location of the main executable can be controlled in + The default location of the main executable can be controlled in different ways: o with configure's --prefix= option, eg. @@ -101,35 +101,34 @@ different ways: make bindir='/gnuplot/bin' gnuplot will be installed as /gnuplot/bin/gnuplot. - The default location of the additional executable, like gnuplot_x11, -can be controlled in different ways: + The default location of the additional executables, including gnuplot_x11 + and gnuplot_qt, can be controlled in different ways: o with configure's --prefix= option, eg. ./configure --prefix=/gnuplot - gnuplot_x11 will be installed as /gnuplot/libexec/gnuplot/4.0/gnuplot_x11. + gnuplot_x11 will be installed as /gnuplot/libexec/gnuplot/6.0/gnuplot_x11. Attention: This affects the location of *all* installed files! o with configure's --libexecdir= option, eg. ./configure --libexecdir='/gnuplot/lib' - gnuplot_x11 will be installed as /gnuplot/lib/gnuplot/4.0/gnuplot_x11 + gnuplot_x11 will be installed as /gnuplot/lib/gnuplot/6.0/gnuplot_x11 o at make time, eg. - make X11_DRIVER_DIR='/gnuplot/lib/4.0' - gnuplot_x11 will be installed as /gnuplot/lib/4.0/gnuplot_x11 + make X11_DRIVER_DIR='/gnuplot/lib/6.0' + gnuplot_x11 will be installed as /gnuplot/lib/6.0/gnuplot_x11 -If you don't install the program at the place chosen by ./configure, + If you don't install the program at the place chosen by ./configure, e.g. by overriding the "prefix" at "make install" time, files written -by the `save' command cannot be used as scripts on Un*x platforms, so -this should be avoided. There is no way to specify the location of -the executables during runtime. Other platforms are not affected by -this. +by the `save' command cannot be used as self-executing scripts on Un*x +platforms (but they still work as input scripts to gnuplot). The gnuplot demo files are not installed by default, mainly because there is no universally agreed place where such files should go. If desired, they should be copied manually to a location of choice. -Unix, configure ---------------- + +Use of ./configure script to customize your build +================================================= On Unix, use $ ./configure @@ -140,47 +139,40 @@ $ make install If gcc is installed, it is used by default. A different compiler can be used by passing its name to configure: -$ ./configure CC=c99 - - Any environment settings for CFLAGS are included into the Makefile, -so please make sure that these are really needed. - +$ ./configure CC=clang CXX=clang++ + + Any environment settings for CFLAGS and CXXFLAGS are included into the +Makefile, so please make sure that these are appropriate. Example: + +$ export CXXFLAGS="-Wall -g -Og -fPIC -std=c++11" + There are several options available for configure that you may want to change. A complete list of options is available through $ ./configure --help - Some options relevant to gnuplot are listed below: - - --prefix=PREFIX Install architecture-independent files in PREFIX - [/usr/local] - --exec-prefix=EPREFIX Install architecture-specific file in EPREFIX - [PREFIX] - --bindir=DIR user executables in DIR [EPREFIX/bin] - The gnuplot binary is installed this directory - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - gnuplot_x11 goes into $libexecdir/gnuplot/. - --datadir=DIR Read-only architecture-independent data in DIR - [PREFIX/share]. The gnuplot help file is installed - in this directory. - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --mandir=DIR Man documentation in DIR [PREFIX/man] + Many of the available options are generic to programs built with the + autotools/autoconf build system. A few example options specifically + relevant to gnuplot are shown below: - --disable-history-file do not use history file - --disable-mouse disable mouse for interactive terminals - --disable-x11-mbfonts disable multi-byte font support for x11 - --disable-x11-external disable drawing to windows belonging to external apps - --disable-raise-console spacebar in plot window does not raise console - --disable-wxwidgets wxWidgets terminal (default enabled) - --enable-backwards-compatibility enable deprecated syntax - - --with-bitmap-terminals enable support for HP deskjet era dot matrix printers - and *.pbm files --with-readline={gnu|bsd|builtin} Override the automatic choice of terminal input modes. See below for more detail. + --disable-history-file do not use history file + --without-latex do not install latex support files + --with-textdir=DIR where to install latex support files + + Source files for many older terminal types, legacy output modes, and +hardware or platform-specific devices are included in the distribution. +These can be included in the gnuplot executable by selecting a corresponding +configure option. For example to build in support for physical terminals or +terminal emulators that accept Tektronix graphics protocols (1970s-1980s), +and also build in support for a large set of 1990s era dot matrix printers +(HP deskjet, epson, tandy, etc): + + ./configure --with-tektronix --with-bitmap-terminals + Options marked with (*) are enabled by default, ie. these features or packages are used if configure detects them even if the corresponding option is not specified. Please note that the `--with-PACKAGE' @@ -192,22 +184,152 @@ options can have additional arguments: o `--with-PACKAGE=DIR' checks for PACKAGE in DIR +More details about ./configure --with-PACKAGE[=OPTION] +====================================================== + +Every `--with-PACKAGE' option sets a `with_package' variable in configure. +Depending on how `--with-PACKAGE' was invoked, there are only three different +possible values for the `with_package' variable: + + Option $with_package +---------------------------------------- +(not specified) yes or no; default set in configure +--with-package yes +--with-package=yes yes +--with-package=no no +--with-package=DIR DIR +--without-package no + +In gnuplot, the following --with-PACKAGE options are available. The +--with-PACKAGE=DIR form is always required if a package is installed in a +non-default location that is not searched by the preprocessor or linker. + + --with-readline + + Use whatever readline support is detected automatically, either an + external library or gnuplot's built-in version. This is the default. + + --with-readline=builtin + + Use gnuplot's own builtin readline routines even if a GNU or BSD readline + library is detected. + + --without-readline + + (same as --with-readline=no) Do not use any readline processing. + + --with-readline=gnu + + Use the GNU readline library instead of gnuplot's builtin readline. + + --with-readline[=DIR] + + Use the GNU readline library instead of gnuplot's builtin readline. + This form is required if GNU readline is not installed in a default + location. + + --with-gd[=DIR] + + Thomas Boutell's gd library is needed to support jpeg and gif output. + It is also one of several options for producing png or sixel output. + This option is on by default, i.e. configure will check if the library exists + and use it if found. + + --with-amos=DIR + --with-libcerf + + Gnuplot includes support for additional complex special functions provided + by one or more of the external libraries libcerf, libamos, or libopenspecfun. + The ./configure script will search for these in standard system library + locations and include support for the routines that are found. + These libraries are relatively uncommon, however, so you might want to + build them separately and tell the ./configure script where they are + using for example --with-amos=/usr/local/lib/ + If these libraries are not found, gnuplot will configure and build + successfully but it will not provide the corresponding special functions. + + +Inclusion of optional features +============================== + +Each release of gnuplot may include features that are experimental or of +limited general interest. These may be optionally included or excluded +from the configuration using the --enable or --disable flags. +Examples from gnuplot 6 include + + --enable-watchpoints support setting watchpoints in 2D plots + --enable-function-blocks support defining a function as a here document + +These features may become standard in a subsequent release and will then +no longer require a special configuration option. + + +Platform-specific tips +====================== + Linux ----- - ./configure may fail to find lua support if the package configuration tool is - installed as "lua5.1" or "lua5.3" rather than "lua". If necessary, you can fix - this by adding a symlink prior to running ./configure as shown below: + lua: ./configure may fail to find lua support if the package configuration + tool is installed as "lua5.1" or "lua5.3" rather than "lua". If necessary, + you can fix this by adding a symlink prior to running ./configure - ln -s /usr/lib/pkgconfig/lua5.3.pc /usr/lib/pkgconfig/lua.pc + ln -s /usr/lib/pkgconfig/lua5.3.pc /usr/lib/pkgconfig/lua.pc + wxt: Some wxWidgets configurations require linking to the X11 library but + fail to include "-lX11" in the string provided for auto-configuration. + You may have to add this manually when configuring gnuplot: + TERMLIBS="-lX11" ./configure + Note that some people have reported runtime problems with wxgtk 3.0. + If you have the option of linking to libraries for wxgtk 2.8 instead, + this may be preferable. The -lX11 flag is not need in this case. + +Ubuntu +------ + + These instructions were tested on Ubuntu 22.04 + + Install build tools, libraries, and documentation tools (TeX) for + building gnuplot binary (5.4.2). + sudo apt build-dep gnuplot + + Install additonal tools and libraries for development version + + sudo apt install gfortran libcerf-dev libwebp-dev adwaita-icon-theme-full \ + unzip texlive-science + + # openspecfun provides the Amos routines (except for cexint) + git clone https://github.com/JuliaMath/openspecfun.git + cd openspecfun + make + sudo make install + + Add the below to ~/.profile + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib + + install picins.sty to LaTeX + + wget https://mirrors.ctan.org/macros/latex209/contrib/picins.zip + unzip picins.zip + sudo cp -pR ./picins /usr/share/texlive/texmf-dist/tex/latex + sudo texhash + + git clone, build, install and documantation + + git clone https://git.code.sf.net/p/gnuplot/gnuplot-main gnuplot-dev + cd gnuplot-dev + # change configure line according to your condition + ./configure --enable-function-blocks + make + sudo make install + make check + # gnuplot.pdf + make pdf Mac OSX ------- -Readline issues: - - As I understand the situation, Apple ships OSX with a "fake" libreadline + Readline: As I understand the situation, OSX ships with a "fake" libreadline shared library. The file /usr/lib/libreadline.dylib is really a symlink to a compatibility layer over the BSD libedit library. But the compatibility isn't complete, and in particular it is missing some routines used for readline @@ -215,10 +337,10 @@ Readline issues: But you will still be left without some of the functionality of the "real" libreadline. For one thing, libedit doesn't handle UTF-8 input. You have several options: - + 1) Delete the fake libreadline libraries from OSX and install the real gnu libreadline as a system library. - + 2) Install the real gnu libreadline into your personal account and tell gnuplot to use it: ./configure --with-readline=/my/private/readline/installdir @@ -230,74 +352,66 @@ Readline issues: input and tab-completion of file names. ./configure --with-readline=builtin -wxt terminal: + wxt: This interactive terminal is in principle cross-platform and you + needn't do anything special. However if you discover that practice + diverges from principle, the notes below collected from problems + encountered in the past might help. - Cairo & pango need to be installed first on Mac, + Cairo & pango need to be installed first on Mac, I recommend using MacPorts building universal (i386 libraries): sudo port install cairo +no_x11 +quartz +universal sudo port install pango +no_x11 +quartz +universal - Next gnuplot may be compiled with shipped with Mac OS X 10.6 SL wxWidgets using: + Next gnuplot may be compiled with Mac OS X 10.6 SL wxWidgets using: ./configure CPPFLAGS='-arch i386' LDFLAGS='-arch i386' NOTE: 10.6 SL by default generates x86_64 code, but wxWidgets stable is using Carbon API on Mac which is 32-bit only, that makes compiling gnuplot, cairo and pango to i386 necessary. - linux: Some wxWidgets configurations require linking to the X11 library but - fail to include "-lX11" in the string provided for auto-configuration. - You may have to add this manually when configuring gnuplot: - TERMLIBS="-lX11" ./configure - Note that some people have reported runtime problems with wxgtk 3.0. - If you have the option of linking to libraries for wxgtk 2.8 instead, - this may be preferable. The -lX11 flag is not need in this case. +macOS + homebrew +---------------- + + As of the time of writing (Feb 2023) homebrew provides a bottled gnuplot + with Qt support. However it was not built with all the optional features + or terminals that you might want. This is a quick summary of what is + needed to configure and build from source. -VMS ---- - - John Hasstedt has written configure.vms, -a command file that creates the necessary make and option files to build -gnuplot. See the file for instructions on using it. If you have problems -with it, the old build files are still included; instructions for using -them follow. - - On VMS, you can use MMS, MMK, or another make utility, or you can -use BUILDVMS.COM. The supplied files work with Alpha/VMS V6.2 and -DECC V5.7; you may get warnings or more serious errors depending on -the versions of the C compiler, the C run-time libraries, and VMS on -your system. - - To compile using MMK: - MMK/DESCRIPTION=MAKEFILE.VMS - To compile using MMS on VAX: - MMS/DESCRIPTION=MAKEFILE.VMS - To compile using MMS on Alpha: - MMS/DESCRIPTION=MAKEFILE.VMS/MACRO=__ALPHA__=1 - - Alternatively, you can use MAKE_VMS.COM. This command file will run -MMK or MMS to build gnuplot. If you don't have either one installed, it -will use the command file. The first parameter on the command line is -the compiler you want to use (default DECC). - - It may sometimes be useful to add `/IGNORE=WARNING' to the `MMS' call. - - To compile using GNUC or VAXC: - add /MACRO=GNUC or /MACRO=VAXC to the above command - To compile with another make utility: - check the documentation of your utility to specify the description - file and any necessary macros (__ALPHA__, GNUC, or VAXC) - Or if you don't have a suitable make: - @BUILDVMS - To tell gnuplot where to find the help library: - $ define gnuplot$help disk:[directory]gnuplot.hlb - Alternatively, put the help in the main system help library. + If you have gnuplot installed from homebrew you can do + brew info gnuplot + to see that it has already installed these dependencies: + Build: pkg-config ✔ + Required: gd ✔, libcerf ✔, lua ✔, pango ✔, qt@5 ✔, readline ✔ + Otherwise you must install these first. Depending on what you intend to + add to the configuration you may have to install other dependencies also. + Gnuplot's default ./configure and make will automatically compile gnuplot + support for the x11 terminal and for the qt terminal if it finds the Qt + libraries. However, it seems that the Qt installed by homebrew is not + found automatically. If you say, for example, ./configure --with-qt + you get a problem like "fatal error: 'QtCore' file not found". + To solve this you can add the homebrew installation path to the environment + prior to running ./configure so that it knows where to look: + + $ CXXFLAGS=' -std=c++11 ' \ + PKG_CONFIG_PATH='/opt/homebrew/opt/qt5/lib/pkgconfig' \ + configure --with-qt + + If for some reason your qt5/lib/pkgconfig is installed somewhere else, + change that command accordingly. + + Look carefully at the summary of terminal support printed out by the + configure command. If all looks well, continue with + + $ make + $ make check + $ sudo make install MS-Windows ---------- -We provide binary packages with an installer or as "portable" versions packed -in zip / 7z format on SourceForge. +We provide binary packages on SourceForge, either as a self-installing +executable or as a "portable" version packed in 7z format. We currently support and test building with the following compilers and Makefiles: @@ -313,10 +427,9 @@ For MSYS2/Mingw-w64 you can find detailed instructions at https://sourceforge.net/p/gnuplot/support-requests/199/ Some of the Makefiles include an "install" target (e.g. config/mingw/Makefile). -In order to build the help file you require the "Microsoft HTML Help 1.4 -SDK", which is freely downloadable here: -http://go.microsoft.com/fwlink/?LinkId=154968 - +In order to build the help file you require the "Microsoft HTML Help Workshop", +which is freely downloadable here: +https://www.helpandmanual.com/downloads_mscomp.html MSDOS ----- @@ -352,128 +465,41 @@ Be sure to enable only those devices for which you have the necessary software already installed. Also ensure that the libraries and the sources are all compiled (not) using the '-Zmt' flags. -Executing +Executing make -f makefile.os2 should create a default build while make -f makefile.os2 help will show you all pre-defined targets. -See other sections of the manuals for more information about installing/using -gnuplot on OS/2. - - -More details about ./configure --with-PACKAGE[=OPTION] -====================================================== - -Every `--with-PACKAGE' option sets a `with_package' variable in configure. -Depending on how `--with-PACKAGE' was invoked, there are only three different -possible values for the `with_package' variable: - - Option $with_package ----------------------------------------- -(not specified) yes or no; default set in configure ---with-package yes ---with-package=yes yes ---with-package=no no ---with-package=DIR DIR ---without-package no - -In gnuplot, the following --with-PACKAGE options are available. The ---with-PACKAGE=DIR form is always required if a package is installed in a -non-default location that is not searched by the preprocessor or linker. - - --with-readline - - Use whatever readline support is detected automatically, either an - external library or gnuplot's built-in version. This is the default. - - --with-readline=builtin - - Use gnuplot's own builtin readline routines even if a GNU or BSD readline - library is detected. - - --without-readline - - (same as --with-readline=no) Do not use any readline processing. - - --with-readline=gnu +WPS object for gnuplot on OS/2 +------------------------------ - Use the GNU readline library instead of gnuplot's builtin readline. +GNUPLOT can be run from the command line of an OS/2 session, or can be set up +as a program object in the WPS. - --with-readline[=DIR] +GNUPLOT starts up as a command line session which accepts the usual GNUPLOT +input. The Presentation Manager (PM) window for graphics display is only opened +when the first 'plot' or 'splot' command is entered. - Use the GNU readline library instead of gnuplot's builtin readline. - This form is required if GNU readline is not installed in a default - location. +If GNUPLOT is set up as a program object, it can be configured for 'drag and +drop' in the usual way, by specifying '%*' as the program parameter. - --with-gd[=DIR] +The PM window has facilities for printing the plot, for changing the fonts +used in the plot, and so on. These of course are handled through the usual +PM interface. In addition, you can 'drop' a font onto the window to change +the font. - Thomas Boutell's gd library is needed to support jpeg and gif output. - It is also one of several options for producing png output. - This option is on by default, i.e. configure will check if the library exists, - and use it if found. +The usual GNUPLOT commands can also be used to produce output on supported +devices. +Settings and the positions and sizes of the windows can be saved in the file +gnushell.ini. This file is saved in the program's working directory; several +different directories can be set up (as program objects) with different +options, if you wish. -Platform compiler problems -========================== - -This section addresses trouble shooting and testing issues. Userland questions -are answered in the FAQ. - -Platform and compiler notes ---------------------------- - - Generally, if you think that configure has made a mistake in detecting -platform features, you should consider that a bug either in GNU autoconf -or in gnuplot's use of it, which you should report. As a workaround -you can override such faulty tests in a site-wide collection -of preset configure test results, or manually override them after running -configure. - - Example: -configure was for some reason unable to detect the memset() function, but -you are sure it is ok to use on your platform. To fix that, you'll have -to edit the generated config.h and change the line - - /* #undef HAVE_MEMSET */ -to - #define HAVE_MEMSET 1 - - Note that changing such defines from outside config.h, eg. via -'make DEFS=-DHAVE_MEMSET' is wrong, because config.h will usually -override such changes. Also note that this change will be lost -whenever you re-run configure. - - - gcc -ansi - - If you wish to compile with gcc -ansi (CC='gcc -ansi -pedantic' - ./configure), additional platform specific defines may be necessary - to include non-ANSI function prototypes. E.g. on Solaris, - -D__EXTENSIONS__ is needed. Otherwise, non-declared functions not - returning int will be assumed to return int, with possibly - dangerous consequences. Especially scpecfun.c is vulnerable here. - - - HP-UX 10.x and above - GCC has known problems on this platform if configured to use HP's - assembler. The telltale symptom are tic labels all ending up at - position 0.0. So either make sure you use a GCC configured to use - GNU as, or use HP's ANSI cc (the unbundled one). - - - Alpha CPUs - The Alpha family of CPUs exhibits somewhat unusual behaviour in the - case of floating point exceptions. In default mode, it doesn't comply - to IEEE floating point standards very well, leading to crashes of the - whole program because of a floating point exception in certain cases. - In order to avoid these, you may want to turn on IEEE compatibility - mode in your compiler flags. For DEC cc, the relevant option is - `-ieee', for GCC, it's `-mieee'. The configure script tries to - automatically detect this situation and apply the flag, but you may want - to double-check it. - - - SunOS / Solaris - There are known issues with regard to compiler support for Booleans. - You may have to tweak gnuplot's definition of TBOOLEAN. - The plugin demo Makefile may also require editing as noted in comments. +PM terminal is fully mouse-capable. Type 'm' to switch the mouse on/off (see +'help mouse' for more details), or 'h' for the full list of current hotkeys +(see also 'help bind'). Environment variables @@ -504,20 +530,21 @@ On all versions of Windows and OS/2 the variable looked at is COMSPEC. Other platforms will consult SHELL. The x11 and qt terminals each require an auxiliary program (gnuplot_x11 -gnuplot_qt) to manage the displayed plots. These are installed by +gnuplot_qt) to manage the displayed plots. These are installed by default in /usr/local/libexec/gnuplot// but this default can be overridden by the environmental variable GNUPLOT_DRIVER_DIR. GDFONTPATH is the directory where the libgd terminals (jpeg png gif) -search for fonts. You should set it to directory where files like +search for fonts. You should set it to directory where files like arial.ttf and Symbol.pfa exist. GNUPLOT_DEFAULT_GDFONT is the default font to be used by the png and jpeg terminal types. This must either be a full path to the font file or the face name of a font found in the GDFONTPATH search path. - + GNUPLOT_FONTPATH is used by the postscript driver as search path for -postscript (Adobe Type 1 and Type 2) fonts. +postscript (Adobe Type 1 and Type 2) fonts (only needed if you want +to embed a copy of the font in the output file, which is not common). GNUPLOT_PS_DIR is used by the postscript driver to use external prologue files. Depending on the build process, gnuplot contains either a builtin @@ -535,21 +562,6 @@ GNUFITLOG holds the name of a file that saves fit results. The default is fit.log. If the name ends with a "/" or "\", it is treated as a directory name, and "fit.log" will be created as a file in that directory. -The CGI drivers need the CGIPATH environment variable to set the path -to the CGI agents, and the CGIDISP and/or CGIPRNT environment variables -to the CGI agents, and the CGIDISP and/or CGIPRNT environment variables -to set the output devices. - -If creating dynamically linked executables, it may be necessary to add -flags to the LIBS variable in Makefile to make sure gnuplot finds all -required libraries at runtime. Systems like SunOS and Solaris use -R -to specify the runtime library search path, whereas OSF/Dec Unix, Irix -and Linux use -rpath. If this is not possible, the LD_LIBRARY_PATH -environment variable should be set. Generally it's recommended to -install shared libraries only in places that are already searched by -the linker without such options. LD_LIBRARY_PATH is the second-best -choice. - How to test gnuplot =================== @@ -603,55 +615,3 @@ gnuplot> test appropriate for the terminal you are using. -Installing WPS object for gnuplot on OS/2 -========================================= - -GNUPLOT can be run from the command line of an OS/2 session, or can be set up -as a program object in the WPS. - -GNUPLOT starts up as a command line session which accepts the usual GNUPLOT -input. The Presentation Manager (PM) window for graphics display is only opened -when the first 'plot' or 'splot' command is entered. - -If GNUPLOT is set up as a program object, it can be configured for 'drag and -drop' in the usual way, by specifying '%*' as the program parameter. - -The PM window has facilities for printing the plot, for changing the fonts -used in the plot, and so on. These of course are handled through the usual -PM interface. In addition, you can 'drop' a font onto the window to change -the font. - -The usual GNUPLOT commands can also be used to produce output on supported -devices. - -Settings and the positions and sizes of the windows can be saved in the file -gnushell.ini. This file is saved in the program's working directory; several -different directories can be set up (as program objects) with different -options, if you wish. - -PM terminal is fully mouse-capable. Type 'm' to switch the mouse on/off (see -'help mouse' for more details), or 'h' for the full list of current hotkeys -(see also 'help bind'). - - -Compiling Gnuplot with the wxWidgets terminal -============================================== - -The `wxt` terminal provides an interactive windowed output. The code is -cross-platform and can be compiled as soon as the following requirements are -met: - -First, this terminal is based on the wxWidgets library. This library can be -found on http://www.wxwidgets.org. It comes in different flavours corresponding -to the underlying API : Microsoft Windows ("wxMSW"), GTK+ ("wxGTK"), X11 -("wxX11"), MacOS ("wxMAC"), etc. - -Then, the terminal needs the Cairo library (no specific backend is required) -which can be found on http://www.cairographics.org, and the Pango library, -which can be found on http://www.pango.org and need to be compiled with its -Cairo backend. - -On Unix, use the usual `./configure; make; make install' build process to -compile this terminal. On Windows, please use the MinGW/MSYS makefile, namely -config/makefile.mgw. MinGW and MSYS can be found on http://www.mingw.org. - diff --git a/Makefile.am b/Makefile.am index 71ee062dd..b9fbc0885 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ SUBDIRS = config m4 term src docs man demo share EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \ PATCHLEVEL PGPKEYS README RELEASE_NOTES \ -configure.vms win +win DISTCLEANFILES = stamp-h @@ -20,6 +20,11 @@ dist-hook: @find $(distdir) -type d -name .deps -print | xargs rm -rf @find $(distdir) -type f -name .cvsignore -print | xargs rm -f +ReleaseNotes.html: RELEASE_NOTES + txt2html -pm --style_url ReleaseNotes.css RELEASE_NOTES \ + --bold_delimiter "" \ + --bullets "-=o*\\044" --outfile ReleaseNotes.html + gnuplot: cd src; make binonly diff --git a/NEWS b/NEWS index 02e86edc8..e2666e00b 100644 --- a/NEWS +++ b/NEWS @@ -1,22 +1,19 @@ -Changes not in 5.4 +Changes between 6.0-rc1 and -rc2 +================================ +* Japanese documentation updated + (missing file title-ja.tex, build dependencies for mingw) +* Support building against Qt6 + (./configure falls back to Qt5 if the Qt6 libraries are not found) +* New configure option --enable-stable-sort + 1) Use mergesort rather than qsort if the system provides it. + 2) If neither mergesort nor glibc stable qsort is available, + modify internal gnuplot structures to contain a secondary sort key +* Render color gradient in colorbox as a pixel array (cairo, qt terminals) + +Version 6.0 ================== -* NEW weighted and unweighted cubic spline smoothing for 3D "splot with lines" -* NEW smoothing options for "plot with filledcurves {above|below|between}" -* NEW "set palette save " creates a named colormap from the current palette -* NEW "splot ... with pm3d fc palette " uses a saved colormap -* NEW "plot ... with image fc palette " uses a saved colormap -* NEW support XDG base directory as location for gnuplotrc preferences file -* NEW up to 256 colors with the sixeltek terminal -* NEW keyword "smooth kdensity period " -* NEW if ... else if ... else -* NEW terminal "blocks" uses pseudo-graphics for terminal mode graphics -* NEW terminal webp generates single frames or full animation in webp encoding -* NEW "set palette file" accepts datablocks; also accepts 24-bit RGB colors -* CHANGE account for font size when estimating string extents -* CHANGE "stats " yields a testable non-fatal error -* CHANGE criterion for fallback to default axes in 'plot with ellipse' -* CHANGE deprecate special case of 'with boxerrorbars" flagged by boxwidth = -2 -* CHANGE wgnuplot menu files use UTF-8 encoding + Too many changes between version 5 and version 6 to list here. + See Release Notes. Changes in 5.4 ============== diff --git a/PATCHLEVEL b/PATCHLEVEL index 01c8e4737..59619e75b 100644 --- a/PATCHLEVEL +++ b/PATCHLEVEL @@ -1 +1 @@ -0alpha +rc2 diff --git a/README b/README index b40d1b154..aadac86a2 100644 --- a/README +++ b/README @@ -6,16 +6,15 @@ The Gnuplot Plotting Utility for linux, OSX, MSWin, VMS, and many other platforms. The software is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally written to allow scientists and students to visualize -mathematical functions and data. Gnuplot supports many different types -of terminals, plotters, and printers (including pseudo-devices like -LaTeX) and is easily extensible to include new devices. +mathematical functions and data. Gnuplot supports output to many types +of terminals, printers, and file formats. It is easily extensible to +include new devices. - The "GNU" in gnuplot is NOT related to the Free Software Foundation, -the naming is just a coincidence (and a long story; see the gnuplot FAQ + The "gnu" in gnuplot is NOT related to the Free Software Foundation. +The naming is just a coincidence (and a long story; see the gnuplot FAQ for details). Thus gnuplot is not covered by the GPL (GNU Public License) copyleft, but rather by its own copyright statement, included in all source -code files. However, some of the associated drivers and support utilities -are dual-licensed. +code files. Some code modules are dual-licensed. Gnuplot handles both curves (2 dimensions) and surfaces (3 dimensions). Surfaces can be plotted as a mesh fitting the specified function, floating @@ -41,8 +40,6 @@ Copyright and Porting See the Copyright file for copyright conditions. - See the ChangeLog and docs/old/History.old file for changes to gnuplot. - Build instructions are in the INSTALL file. Some additional information needed to port gnuplot to new platforms not covered by GNU autoconf can be found in the PORTING file. @@ -52,9 +49,8 @@ run on an amazing variety of operating systems and hardware over the years. However, the current code has not been tested on all those older platforms and some of the conditional code to support quirks of obsolete compilers and OS features has been removed. You can expect that gnuplot will compile -more or less out of the box on any system which has the GNU C compiler gcc -or other ANSI-compliant C compiler. Some specific [optional] drivers are -written in C++ or lua. +more or less out of the box on any system which has a C compiler compliant +with the c99 standard. Some optional drivers are written in C++ or lua. Help and Bug Reports ==================== @@ -69,9 +65,8 @@ page, also at SourceForge: http://sourceforge.net/projects/gnuplot/ - Note that since gnuplot has nothing to do with the GNU project, please -don't ask them for help or information about gnuplot; also, please -don't ask us about GNU stuff. + There are separate tracking systems for Feature Requests and proposed +patches that implement new features, also hosted at SourceForge. All bug reports should include the version of gnuplot you are using, the operating system and version you are running it on, and the output @@ -79,13 +74,6 @@ device (gnuplot's "terminal") that you are plotting to. It helps a lot to provide a simple script, possibly with data, that reproducibly demonstrates the problem you are reporting. -Usenet -====== - - Additional help can be obtained from the USENET newsgroup - - comp.graphics.apps.gnuplot - Mailing Lists ============= @@ -95,38 +83,10 @@ the web interface at http://sourceforge.net/mail/?group_id=2055 - The main lists you may be interested in are "gnuplot-info" and -"gnuplot-bugs". "gnuplot-info" is for general discussion and -questions about how to use the program. But as noted above, -using the Usenet newsgroup for this kind of communication is -almost certainly better both for you and for us. - - "gnuplot-bugs" is NOT an appropriate place to ask questions on how to -solve a gnuplot problem or even to report a bug that you haven't -investigated personally. It is far more likely you'll get the help -you need for this kind of problem from comp.graphics.apps.gnuplot -or the gnuplot-info mailing list. - - Using "gnuplot-bugs" is also slightly disfavoured, because it makes it -hard for us to keep track what bugs are currently under investigation, -and hard for you to check if maybe the bug you've found has already -been reported by somebody else before. We would thus like to ask to -you please use the "Bug Tracker" system that is part of gnuplot's -development web site at SourceForge.net instead of this mailing list. - - If you found a fix already, pleast post it in "diff -c" or "diff -u" -format done against the most current official version of gnuplot or -a snapshot of the current development source. Major modifications should -include documentation and, if new features were added, a demo file. -Finally, it is much easier to integrate smaller stepwise modifications -rather than one gigantic diff file which represents months of changes. - - There are separate tracking systems for Feature Requests and proposed -patches that implement new features, also hosted at SourceForge. - - Discussions about plans for new features or other significant changes -should be announced and discussed on the developers' mailing list, -gnuplot-beta, which is also hosted by SourceForge.net. + The lists you may be interested in are "gnuplot-info" and "gnuplot-beta". +"gnuplot-info" is for general discussion and questions about how to use +the program. "gnuplot-beta" is for discussion about possible new features, +plans for future work, release schedules, or other development issues. ---- diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 2958d9446..db061b4b7 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -1,5 +1,258 @@ - GNUPLOT VERSION 5.5 NOTES - ========================= + Gnuplot Version 6.0 rc2 Release Notes + ===================================== -This file is a placeholder for the release notes that accompany a -stable gnuplot release. The current stable release series is 5.4. +Version 6.0 is the start of a new stable release series. +Work on gnuplot 6 has proceeded in parallel with the incremental updates to +version 5.4 over the past three years. The new version introduces extensions +to the gnuplot command language, support for new output protocols, and +additional plotting styles. Backwards compatibility is given high priority +in gnuplot development, so users should find no significant changes required +for techniques or code they are currently using with gnuplot 5. + +Your feedback from testing of this release candidate will contribute to +the success of a full 6.0 release expected later in 2023. + +Gnuplot development is tracked in a git repository on SourceForge. +You can generate a complete history of changes using "git log" +after downloading: + +
+    git clone -b branch-6-0-stable git://git.code.sf.net/p/gnuplot/gnuplot-main
+    git log
+
+ +Release Notes date: 12-Aug-2023 + + Features introduced in version 6 + ================================ +For a detailed list of new features, with illustrations, see + http://gnuplot.info/docs_6.0/NewFeatures.html + +For more example plots see + http://gnuplot.info/demo_6.0/ + +- Function blocks and scoped variables +- Larger collection of special and complex-valued functions +- New plot styles + o 2D plot style `with surface` works in 2D polar coordinates to produce a + solid-fill gridded representation of the plane. This is analogous to the + use of dgrid3d and pm3d to produce a 3D gridded surface. + o 2D plot style `with sectors` renders one annular segment ("sector") for + each line of input data. This style can generate pie and donut charts, + windrose charts, and a polar equivalent to sparse-matrix heatmaps. + o 2D plot style `with lines` now has a filter option `sharpen`. + This filter detects spikes in a function plot that would be missed or + under-represented due to coarse sampling. It adds an additional + sampling point at the location of each such peak. +- Hulls, masks, and smoothing + o A cluster of 2D points can be replaced by a bounding polygon ("hull"). + Both convex hulls and concave hulls (χ-shapes) are supported. + o Any hull or other closed path can be used as a mask to display only + selected regions of a pm3d surface or image plot. + o New smoothing option "smooth path" can be used on 2D and 3D curves + that are not monotonic on x or y. This allows smoothing of hulls. +- Named palettes + o The current palette can be saved to a named colormap for future us. + o A predefined palette named "viridis" is provided. + o Plots can specify a previously saved palette by name. + This permits the use of multiple palettes in a single plot command. + o Named palettes can be edited to contain an alpha channel. +- New built-in functions and array operations + o palette(z) returns the current RGB palette color mapping for z. + o rgbcolor("name") returns the 32bit ARGB value for a named color. + o index(Array, element) returns the first index i for which Array[i] + is equal to element. + o split("string", "separator") unpacks the fields in a string into + an array of strings. + o join(array, "separator") is the complement to split(). + It concatenates the elements of a string array into a single string. + o `stats ` yields a testable value with no error; + useful to avoid errors or warnings in scripts. +- Program control flow + o New syntax if {...} else if {...} else {...} + o XDG base directory conventions for configuration files are supported. + o `unset warnings` suppresses output of warning messages to the console. + o The `fit` command is protected by exception handling. Control always + returns to the next line of input even in the case of fit errors. + On return FIT_ERROR is non-zero if an error occurred. + o "Watchpoints" are target values associated with individual plots + in a graph. As that plot is drawn, each component line segment is + monitored to see if its endpoints bracket the target value of a + watchpoint coordinate (x, y, or z) or function f(x,y). + If a match is found, the [x,y] coordinates of the match point are + saved for later use. Possible uses include + - find the intersection points of two curves + - find zeros of a function + - find and notate where a dependent variable or function f(x,y) + crosses a threshold value + - use the mouse to track values along multiple plots simultaneously +- New terminals and terminal options + o Terminals that display graphics in the same window as text entry now + support pseudo-mousing; i.e. they respond to arrow keys and other + hot-key bindings during "pause mouse". + o New terminals kittygd and kittycairo provide in-window graphics for + terminal emulators that support the kitty protocol. + o New terminal webp generates a single frame or an animation sequence + using webp encoding. Frames are generated using pngcairo, + then encoded through the WebPAnimEncoder API. + o New terminal block for text-mode pseudo-graphics uses Unicode block + or Braille characters to offer improved resolution compared to the + dumb or caca terminals. + o latex terminals standalone mode updated to work with texlive2023 +- Miscellaneous other new features + o Time unit settings for major and minor axis tics. For example, + minor tic marks can be placed at exactly one month intervals. + o The character sequence $# in a using specifier evaluates to the total + number of columns available in the current line of data. + "plot FOO using 0:(column($# - 1))" plots the last-but-one field of each row. + o keyword binvalue=avg plots the average, rather than the sum, of binned data. + o "set colorbox bottom" places the color box underneath the plot. + o "set pm3d spotlight" adds a user-controlled spotlight to the lighting model. + o New key layout options to force specific width or number of columns. + Automatic positioning of the key on the page can be manually tweaked + by giving an offset. + o "set isotropic" adjusts the axis scaling in both 2D and 3D plots such + that x, y, and z axes all have the same scale. + o Text rotation angles are not limited to integral degree values. + o Data-driven color assignments in plot style "histograms". + + + Changes between 6.0 -rc1 and -rc2 + ================================= +* Japanese documentation updated + - added missing file title-ja.tex, build dependencies for mingw +* Support building against Qt6 + - ./configure falls back to Qt5 if the Qt6 libraries are not found +* New configure option --enable-stable-sort + - Use mergesort rather than qsort if the system provides it. + - If neither mergesort nor glibc stabe qsort is available, + modify internal gnuplot structures to contain a secondary sort key +* Render color gradient in colorbox as a pixel array + - cairo, qt terminals + + + Notes for packagers and testers + =============================== + +Obsolete or deprecated components +--------------------------------- + +The "gnuplot mode" elisp and TeX files for use with emacs are now +maintained as a separate project: https://github.com/bruceravel/gnuplot-mode +so there is no longer a configuration option --with-lisp-files. + +LaTeX-related terminal drivers latex, emtex, eepic, and tpic are no longer +built by default. Their closest equivalent is the new pict2e terminal, but +LaTeX users who want support for the full range of gnuplot plot styles are +recommended to use the cairolatex or tikz terminals. + +Configuration options for interactive use +----------------------------------------- + +The 6.0 source code supports three primary cross-platform interactive +modes in addition to several platform-specific modes. + +1) Qt + + The qt terminal supports interactive display with menu-driven + output to png, svg or pdf. If either Qt4 or Qt5 is detected by the + configure script, this will be the default terminal. It is now the + fastest and most full-featured interactive terminal option. + + To disable this terminal or force use of Qt4 even if Qt5 is present + $ ./configure --with-qt=qt4 + $ ./configure --without-qt + +2) Cairo/pango/wxWidgets + + This set of terminals includes pngcairo, pdfcairo, epscairo, and cairolatex + for output to a file. The wxt terminal provides interactive display + All of these will be built by default if the configuration script finds + the required libcairo, libpango, libcairo, libwxgtk, and related + support libraries + + To disable these terminals: + $ ./configure --without-cairo + $ ./configure --with-cairo --disable-wxwidgets + +3) X11 (the "classic" interactive interface) + This used to be the preferred interactive interface, but the newer + wxt and qt terminals offer nicer output and a wider range of features. + + +Output to files +--------------- + +Of course the terminals (output modes) present in previous gnuplot versions +are also still available. These include, among many more obscure options: + +- PostScript (*.ps or *.eps) +- svg +- png/jpeg/gif output via libgd graphics library +- png/pdf/eps output via cairo graphics library +- TeX/LaTeX including TikZ and ConTeXt +- Bitmapped output to support older devices (e.g. HP deskjet, epson, and + seiko printers, pbm bitmapped graphics files) is available if needed + but is no longer configured in by default. + ./configure --with-bitmap-terminals + +Output of inline graphics to terminal emulator or linux console +--------------------------------------------------------------- + +The sixel and kitty terminals display graphics in-line with the commands +typed in a suitable terminal emulator window. For example "xterm -ti 340" +emulates a vt340 with indexed color sixel graphics. +The KDE desktop konsole terminal provides RGB color sixel graphics +and 32-bit color + alpha channel graphics using the kitty protocol. +The yaft terminal emulator can provide sixel graphics at linux console +level with no x11 or other windowing system active. + +Generating interactive plots for web display +-------------------------------------------- + +- Mouseable output for display on the web can be created using either + the canvas terminal (HTML5 2D canvas element) or the svg terminal. + Both allow zooming, toggling plot elements on/off, and user-scriptable + hot keys. + + Other Notes + =========== + +Installation +------------ + +You can download a source tarball for the current gnuplot version +from the gnuplot development site on SourceForge. + http://sourceforge.net/projects/gnuplot + +Some platform-specific installation tips are given in the INSTALL +file of the source package; the short version for linux/unix-like +systems is to unpack the tarball and then +
+build it:
+      cd gnuplot-6.0.rc2 ; ./configure ; make
+test it:
+      make check
+install it:
+      make install
+
+ +Pay careful attention to the output of the ./configure script. +It may indicate that some output modes have been omitted because the +necessary support libraries were not found. In general you need to have +previously installed the "*-devel-*" versions of these libraries. + + +Support +------- +Please report all bugs and installation problems to the bug tracker +on SourceForge: + https://sourceforge.net/p/gnuplot/bugs/ + +Development +----------- +Gnuplot development is ongoing. The development branch contains preliminary +implementations of new features. The current development version is 6.1. +Once version 6.0 is released, bugfixes will appear in patchlevel releases +6.0.1, 6.0.2, etc., approximately twice a year or as needed to correct a +serious regression. diff --git a/ReleaseNotes.css b/ReleaseNotes.css new file mode 100644 index 000000000..617d882d4 --- /dev/null +++ b/ReleaseNotes.css @@ -0,0 +1,13 @@ + BODY { + background-color:white; + margin-left: 5%; margin-right: 5%; + } + + H1 { + text-align: center; + text-decoration:underline; + } + + LI { + padding-top: 0.3em; + } diff --git a/TODO b/TODO deleted file mode 100644 index 7dae6e12f..000000000 --- a/TODO +++ /dev/null @@ -1,118 +0,0 @@ -[========================================================================] -[========= List of things to be done. Plans, ideas, whatever... ========] -[========================================================================] - -COMMANDS: -========= - - -DOCUMENTATION: -============== - - -- Improve the documentation on fonts - -- More figures in the manual - -- We no longer have a working build path for HTML documentation. - Is there a suitable replacement? - -- The LaTeX tutorial is so out of date that it is useless. - Update or replace. - -PLATFORMS: -========== - - -- We've seen a proof-of-principle build of gnuplot into javascript - running in a browser. If the tool chain is simple enough, we could - make this a build target for autoconf/make. - -GNUPLOT TOOLS LIBRARY: -====================== - -Make a library (e.g. usr/local/gnuplot/scripts/, .../gnuplot/bin) of -(a) gnuplot scripts, and (b) shell scripts relevant for gnuplot: - --- enclose script "gpsavediff" that diff's output of gnuplot's "save" command -and default setup after "reset" - -INSTALLATION --- LINUX: -======================= - --- the installation paths for TeX-related files are a mess - - -[========================================================================] -[========================================================================] -[========================================================================] - -Note: use - www.sourceforge.net/projects/gnuplot -=> "Feature request" for feature requests. - - -Lars' list from way back when -============================= - -- provide library of replacement functions instead of stdfn.c -- completely rewrite the parser. Use yacc/bison if possible. -- maybe rewrite the scanner in lex? The benefits are not so obvious, - because the current scanner is extremely simple. This is probably - only worthwhile if the parser is rewritten at the same time. -- maybe use PD hash code for table-lookup (SNIPPETS code). Tables for - builtin and user functions, variables, commands. What else? aliases -- standardise float/double comparisons around the suggestion in the - comp.lang.c FAQ (What's a good way to check for "close enough" - floating-point equality?) and symbolic constants from standard header files. - LOADS of errors throughout the code, especially in graphics.c -- autogenerate term.h from config file in text format and/or configure? -- add more maintainer checks (eg. file permissions) -- better documentation format; get rid of the doc2xxx utils - [SGML. SGML. SGML] -- tilde and variable expansion to be done by a shared routine gp_fopen() - -HBB: -=== - -[Optional:] See if 16-bit compilations can be made to work again. - - -Ethan's list of ideas for development series 5.5 -================================================ - -Code cleanup ------------- -- refactor VMS conditionals so that all the code is in vms.c -- matrix data should be stored as (double) not (float) -- audit all FIXMEs, some must be out of date - -Build system options --------------------- -- OSX autoconf -- all-qt or all-cairo build targets -- emscriptem build target - -Terminals ---------- -- canvas terminal overhaul (use browser's font support) -- possible updates for - dxy aquaterm -- outboard driver for wxt -- libgd routines are used for core operations such as - "binary filetype=xxx" and pixmap. Can these alternatively use cairo - or libpng instead, removing a dependence on libgd? - Direct use of libpng would allow input of 16bit or 32bit png data - without loss of precision (cairo and libgd only keep 8 bits on input). -- webp animation (including yuv color space for better compression) - -Fitting -------- -- Patch #655 (Bastian Maerkisch) additional fit algorithms -- Handle complex-valued functions - -Math ----- -- improved support for special functions. - Better precision, extension to complex values wherever possible, - document algorithms used with citations and expected precision. -- specfun.c has many lines of initializing constants for floating - point math on platforms that are no longer supported. Delete them? -- consistent handling of NaN, +Inf, -Inf, and underflow. -- Savitzky-Golay filtering - diff --git a/config/config.cyg b/config/config.cyg index 4be27065a..a917a2ada 100644 --- a/config/config.cyg +++ b/config/config.cyg @@ -7,9 +7,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ #define DEVELOPMENT_VERSION 1 diff --git a/config/config.dj2 b/config/config.dj2 index c35ad5852..0f11cda47 100644 --- a/config/config.dj2 +++ b/config/config.dj2 @@ -7,9 +7,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ /* #undef DEVELOPMENT_VERSION */ /* Don't change it here -- this define is set in config/djgpp/Makefile. */ diff --git a/config/config.mgw b/config/config.mgw index c3e3e2bd8..e0e1c382d 100644 --- a/config/config.mgw +++ b/config/config.mgw @@ -10,9 +10,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ /* #undef DEVELOPMENT_VERSION */ /* Don't change it here -- this define is set in config/mingw/Makefile. */ diff --git a/config/config.nt b/config/config.nt index aa3855a37..ec272b9f0 100644 --- a/config/config.nt +++ b/config/config.nt @@ -8,9 +8,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ /* #undef DEVELOPMENT_VERSION */ /* Don't change it here -- this define is set in config/msvc/Makefile. */ diff --git a/config/config.os2 b/config/config.os2 index 5aaed175e..b88582c16 100644 --- a/config/config.os2 +++ b/config/config.os2 @@ -7,9 +7,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ /* #undef DEVELOPMENT_VERSION */ /* Don't change it here -- this define is set in config/makefile.os2 */ diff --git a/config/config.oww b/config/config.oww index 9d5e68044..23a978418 100644 --- a/config/config.oww +++ b/config/config.oww @@ -7,9 +7,6 @@ /* Define to allow use of certain deprecated syntax. */ /* #undef BACKWARDS_COMPATIBLE */ -/* Define if you want online help and subtopic tables sorted by column. */ -/* #undef COLUMN_HELP */ - /* Provide contact info for gnuplot development */ /* #undef DEVELOPMENT_VERSION */ /* Don't change it here -- this define is set in config/watcom/Makefile. */ diff --git a/config/mingw/Makefile b/config/mingw/Makefile index 8ef77d45a..3cac56adc 100644 --- a/config/mingw/Makefile +++ b/config/mingw/Makefile @@ -173,6 +173,9 @@ OPENSPECFUN=1 # Uncomment if you want to use functionblocks #FUNCTIONBLOCKS=1 +# Uncomment if you want a stable sort for pm3d and hidden3d surfaces +#STABLE_SORT=1 + # Uncomment if you want to use Direct2D 1.1 (Windows 8 and Windows 7 Platform Update) DIRECT2D11=1 @@ -274,6 +277,8 @@ endif # to see their output during make. TARGET=gnuplot.exe +BUILT_SOURCES = allterm.h allterm-ja.h + ifdef MINGW64 ifdef M32 CFLAGS += -m32 @@ -344,6 +349,7 @@ TERMLIBS = CFLAGS += -I. -I$(S) -I$(T) -DHAVE_CONFIG_H CFLAGS += -D__USE_MINGW_ANSI_STDIO=1 +CFLAGS += -DWITH_CHI_SHAPES=1 CFLAGS += -DGNUPLOT_SHARE_DIR=\"$(GNUPLOT_SHARE_DIR)\" CFLAGS_DOCS = -I. -I$(S) -DHAVE_CONFIG_H @@ -562,6 +568,10 @@ ifdef FUNCTIONBLOCKS CFLAGS += -DUSE_FUNCTIONBLOCKS endif +ifdef STABLE_SORT + CFLAGS += -DWITH_STABLE_SORT +endif + ifdef DIRECT2D11 CFLAGS += -DHAVE_D2D11 TERMLIBS += -ld3d11 -ldxguid -lwindowscodecs -lprntvpt @@ -625,9 +635,7 @@ pipes: $(TARGETS_PIPES) console: $(TARGETS_CONSOLE) -docs: gnuplot.pdf ps_symbols.pdf ps_fontfile_doc.pdf ps_guide.pdf faq.pdf - -faq: faq.pdf +docs: $(BUILT_SOURCES) gnuplot.pdf ps_symbols.pdf ps_fontfile_doc.pdf ps_guide.pdf helpfile: $(HELPFILE) @@ -945,7 +953,7 @@ allterm.h: $(CORETERM) $(LUA_HELP) sed '/^ *$$/d;/^#/d' > allterm.h @rm -f allterm.c endif -doc2tex.exe: $(D)doc2tex.c $(D)termdoc.c allterm.h $(CORETERM) $(LUA_HELP) +doc2tex.exe: $(D)doc2tex.c $(D)termdoc.c allterm.h allterm-ja.h $(CORETERM) $(LUA_HELP) $(LD) $(LDFLAGS) -o $@ -DWINDOWS_NO_GUI -DALL_TERM_DOC $(CFLAGS) \ -I. -I$(D) -I$(T) $(D)doc2tex.c $(D)termdoc.c else @@ -964,7 +972,7 @@ allterm-ja.h: $(JASRC) $(LUA_HELP) iconv -f EUC-JP -t UTF-8 allterm-jp.h > allterm-ja.h rm allterm-jp.h -doc2tex-ja.exe: allterm-ja.h $(D)doc2tex.c $(D)termdoc.c +doc2tex-ja.exe: allterm-ja.h allterm.h $(D)doc2tex.c $(D)termdoc.c $(LD) $(LDFLAGS) -o $@ -DWINDOWS_NO_GUI \ -DALL_TERM_DOC \ -DVERSION_MAJOR='"$(MAINVERSION)"' -DPATCHLEVEL='"$(PATCHLEVEL)"' \ @@ -1041,27 +1049,6 @@ gropdf: $(D)titlepag.ms gnuplot.ms sed "s,titlepag\.ms,$(D)titlepag\.ms," gnuplot.ms | \ groff -s -p -t -e -ms -k -K utf-8 -Tpdf > gnuplot.pdf -TUT = $(TOP)/tutorial -tutorial.pdf: $(TUT)/eg1.plt $(TUT)/eg2.plt $(TUT)/eg3.plt $(TUT)/eg4.plt \ - $(TUT)/eg5.plt $(TUT)/eg6.plt $(TUT)/eg7.plt $(TUT)/linepoin.plt \ - $(TUT)/test.plt $(TUT)/test_tikz.plt $(TUT)/tutorial.tex - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg1.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg2.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg3.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg4.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg5.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) eg6.plt - GNUPLOT_LIB=$(TUT) GNUPLOT_PS_DIR=$(T)PostScript ./$(TARGET) eg7.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) linepoin.plt - GNUPLOT_LIB=$(TUT) ./$(TARGET) test.plt -#ifdef LUA - GNUPLOT_LIB=$(TUT) GNUPLOT_LUA_DIR=$(T)lua ./$(TARGET) test_tikz.plt -#endif - # run latex twice to get references right - TEXINPUTS=.:$(TUT) latex tutorial.tex - TEXINPUTS=.:$(TUT) latex tutorial.tex - dvipdfm tutorial.dvi - ps_symbols.pdf: $(D)psdoc/ps_symbols.gpi GNUPLOT_LIB=$(D)psdoc GNUPLOT_PS_DIR=$(T)PostScript ./$(TARGET) -d ps_symbols.gpi ps2pdf ps_symbols.ps @@ -1078,11 +1065,6 @@ ps_fontfile_doc.pdf: $(D)psdoc/ps_fontfile_doc.tex ps_guide.pdf: $(D)psdoc/ps_guide.ps ps2pdf $(D)psdoc/ps_guide.ps ps_guide.pdf -faq.pdf: $(TOP)/faq/faq.tex - pdflatex $< - pdflatex $< - pdflatex $< - latex_demo.pdf: gnuplot.exe $(M)/latex_demo.dem $(M)/latex_demo.tex GNUTERM="dumb noenhanced" GNUPLOT_LIB=$(M) GNUPLOT_PS_DIR=$(T)/PostScript ./gnuplot latex_demo.dem latex epslatex.tex @@ -1121,7 +1103,6 @@ veryclean: clean -$(RM) $(HELPFILE) $(HELPFILEJA) wgnuplot.chw wgnuplot.gid wgnuplot.mnu $(RM) gnuplot.ps gnuplot.pdf -$(RM) gnuplot-ja.pdf - -$(RM) tutorial.pdf faq.pdf $(RM) ps_fontfile_doc.pdf ps_fontfile_doc.ps ps_guide.pdf $(RM) ps_symbols.ps ps_symbols.pdf $(RM) $(M)binary[123] $(M)fit.log $(M)soundfit.par @@ -1198,7 +1179,6 @@ endif mkdir -p $(DESTDIR)/docs -cp -p gnuplot.pdf $(DESTDIR)/docs/ cp -p FAQ.pdf $(DESTDIR)/docs/FAQ.pdf - #-cp -p tutorial.pdf $(DESTDIR)/docs/ mkdir -p $(DESTDIR)/docs/psdoc cp -p $(D)psdoc/ps_file.doc $(DESTDIR)/docs/psdoc/ps_file_doc.txt cp -p $(D)psdoc/ps_guide.ps $(DESTDIR)/docs/psdoc/ diff --git a/configure.ac b/configure.ac index 3d53f9fb7..c2b3c3fe8 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl NB: Change version/patchlevel immediately below dnl and also in PATCHLEVEL and src/version.c dnl -AC_INIT(gnuplot, 6.0.0alpha) +AC_INIT(gnuplot, 6.0.rc2) AC_CONFIG_SRCDIR(src/graphics.c) AC_PREREQ([2.69]) @@ -114,7 +114,7 @@ if test "${with_libcerf}" = yes ; then fi AC_ARG_WITH(amos,dnl -[ --with-amos[=DIR] location of libamos or libopenspecfun (complex functions)],, +[ --with-amos[=DIR] location of libamos or libopenspecfun (complex functions)],, with_amos=yes) if test -d "$with_amos"; then @@ -161,7 +161,6 @@ else fi AM_CONDITIONAL(HAVE_LATEX, test "$with_latex" != no) AC_CHECK_PROGS(DVIPS, dvips, no) -AC_CHECK_PROGS(TROFF, troff, no) AC_ARG_WITH(texdir,dnl [--with-texdir=DIR where to install latex style files (default: ask kpsewhich)], @@ -360,36 +359,6 @@ AC_ARG_WITH(gihdir,dnl GIHDIR="$withval", GIHDIR="$pkgdatadir/$VERSION_MAJOR") -dnl TODO: simplify, update ggi support -dnl new ggi driver -GGI_SUPPORT=no -AC_ARG_WITH(ggi,dnl -[ --with-ggi[=DIR] enable the ggi driver], - [if test "$withval" != no; then - if test -d $withval/include; then - CPPFLAGS="$CPPFLAGS -I$withval/include" - fi - if test -d $withval/lib; then - LDFLAGS="$LDFLAGS -L$withval/lib" - fi - AC_CHECK_LIB(ggi,ggiInit, - [TERMLIBS="-lggi $TERMLIBS" - AC_DEFINE(USE_GGI_DRIVER,1, - [ Define this to build the General Graphics Interface (ggi) driver. ]) - GGI_SUPPORT=yes - dnl check for customized libxmi (xmiInit not in normal libxmi) - AC_CHECK_LIB(xmi,xmiInit, - [TERMLIBS="-lxmi $TERMLIBS" - AC_CHECK_HEADERS(ggi/xmi.h)]) - dnl check if libggiwmh and ggi/wmh.h are found - AC_CHECK_LIB(ggiwmh,ggiWmhInit, - [TERMLIBS="-lggiwmh $TERMLIBS" - AC_CHECK_HEADERS(ggi/wmh.h,, - AC_MSG_WARN([found ggiwmh library but not ggi/wmh.h -please add path to ggi/wmh.h to CPPFLAGS in Makefile])) - ])]) - fi]) - dnl Use builtin readline or GNU readline or NetBSD editline AC_ARG_WITH(readline,dnl [ --with-readline=builtin use the built-in readline @@ -542,6 +511,19 @@ please add path to history.h to CPPFLAGS in Makefile])) fi dnl end readline +dnl the "qsort" provided by macOS is not stable (items that evaluate equal are not +dnl guaranteed to retain their original ordering). +dnl This option allows you to replace it with mergesort, if found, +dnl or add code in gnuplot to make the sort stable with respect to pm3d depthorder +AC_CHECK_FUNCS(mergesort, have_stable_sort=yes) +AC_CHECK_FUNCS(gnu_get_libc_version, have_stable_sort=yes) +AC_ARG_ENABLE(stable-sort, dnl +[ --enable-stable-sort guarantee that pm3d depth-sorting retains object order], + [AC_DEFINE(WITH_STABLE_SORT,1, + [ Define if qsort on your O/S is unstable and that bothers you. ]) + ] + ,) + dnl check presence of z library dnl TODO: path to zlib includes; -lz -lm specified multiple times dnl we don't do anything about missing png/gd includes either @@ -557,30 +539,22 @@ dnl check presence of gd library dnl we don't check for libfreetype and libjpeg locations - if gd requires dnl them, the gdlib-config script or the gdlibc.pc contains all the required information AC_ARG_WITH(gd,dnl -[ --with-gd[=DIR] location of gd library (png jpeg gif terminals)],, +[ --with-gd[=DIR] (DIR is location of include/gd.h and lib/libgd.so)],, with_gd=yes) -if test "$with_gd" != no; then - PKG_CHECK_MODULES_NOFAIL(libgd, [gdlib]) - AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config]) +if test -d "$with_gd"; then + libgd_LDFLAGS=-L$with_gd/lib + libgd_CFLAGS=-I$with_gd/include + libgd_LIBS=-lgd + AC_MSG_WARN(([Looking for $with_gd/include/gd.h and $with_gd/lib/libgd.so])) +elif test "$with_gd" != no; then + PKG_CHECK_MODULES_NOFAIL(libgd, [gdlib]) # If pkg-config did return libgd configuration then # libgd_{CFLAGS,LDFLAGS,LIBS} is set - # If gdlib-config executable is found then GDLIB_CONFIG is set - if test $pkg_failed = no && test -n "$GDLIB_CONFIG"; then - # If pkg-config did succeed and we have gdlib-config then the later takes - # priority - libgd_CFLAGS=`$GDLIB_CONFIG --cflags` - libgd_LDFLAGS=`$GDLIB_CONFIG --ldflags` - libgd_LIBS=`$GDLIB_CONFIG --libs` - elif test -d "$with_gd"; then - # pkg-config did NOT succeed, we do NOT have gdlib-config but user - # specified --with-gd= - libgd_CFLAGS="-I$with_gd/include" - libgd_LDFLAGS="-L$with_gd/lib" - libgd_LIBS="-ljpeg -lpng -lfreetype -lz" - fi +fi +if test "$with_gd" != no; then # Verify that libgd works, but backup the previous compilation variables to # be able to revert in the case that libgd is not functional _cppflags="$CPPFLAGS" @@ -741,15 +715,6 @@ dnl end caca dnl Process rest of with and enable options -dnl Use .gnuplot file in current directory -AC_ARG_WITH(cwdrc,dnl -[ --with-cwdrc check current directory for .gnuplot file, - normally disabled for security reasons],,) -if test "$with_cwdrc" = yes; then - AC_DEFINE(USE_CWDRC,1, - [ Define if you want to read .gnuplot from current directory (SECURITY RISK!).]) -fi - dnl without-extra-coordinate may leave a hole in "struct coordinate" AC_ARG_WITH(extra-coordinate,dnl [ --without-extra-coordinate leave possible hole in struct coordinate],,) @@ -758,22 +723,12 @@ if test "$with_extra_coordinate" != no; then [ Define to make use of otherwise empty space in struct coordinate ]) fi -dnl Sort help/subtopic tables by row or column -AC_ARG_WITH(row-help,dnl -[ --with-row-help format help and subtopic tables by row (default) - --without-row-help format help and subtopic tables by column], - [if test "$with_row_help" = no; then - AC_DEFINE(COLUMN_HELP,1, - [ Define if you want online help and subtopic tables sorted by column. ]) - fi]) - -dnl Whether we want to create the LaTeX tutorial -TUTORIAL=notutorial -AC_ARG_WITH(tutorial,dnl -[ --with-tutorial process the LaTeX tutorial when building]) -dnl only if latex/2e is found -if test "$with_latex" != no -a "$with_tutorial" = yes ; then - TUTORIAL=tutorial +dnl EXPERIMENTAL support for concave hulls via Delaunay triangulation and chi-shapes +AC_ARG_ENABLE(chi-shapes,dnl +[ --disable-chi-shapes no support for Delaunay triangulation or chi-shapes],,) +if test "$enable_chi_shapes" != no; then + AC_DEFINE(WITH_CHI_SHAPES,1, + [ Define to support Delaunay triangulation and chi-shapes ]) fi dnl enable multi-byte font support in x11 terminal @@ -813,13 +768,6 @@ AC_ARG_ENABLE(raise-console,dnl fi -dnl -if test ! -f src/graphics.c ; then - AC_MSG_RESULT([Compiling outside source directory - copying needed files]) - mkdir tutorial >/dev/null 2>&1 - cp ${srcdir}/tutorial/eg3.dat tutorial -fi - dnl wxWidgets terminal dnl wxWidgets terminal needs C++ @@ -1034,7 +982,7 @@ fi dnl Enable polar mode gridded surface plots AC_ARG_ENABLE(polar-grid,dnl -[ --enable-polar-grid include support for gridded polar surface plots], +[ --enable-polar-grid include support for gridded polar surface plots], [if test "$enableval" != no; then AC_DEFINE(USE_POLAR_GRID,1, [ Define to support polar gridded surface plots]) @@ -1068,10 +1016,12 @@ AC_ARG_ENABLE(watchpoints,dnl dnl Enable callable blocks of gnuplot code treated as functions AC_ARG_ENABLE(function-blocks,dnl [ --enable-function-blocks include support for defining a function as a here document], - [if test "$enableval" = yes; then + [if test "$enableval" != no; then + AC_DEFINE(USE_FUNCTIONBLOCKS, 1, + [ Define to support defining a function as a here document]) + fi], AC_DEFINE(USE_FUNCTIONBLOCKS, 1, [ Define to support defining a function as a here document]) - fi] ) dnl Enable parsing of deprecated syntax @@ -1101,29 +1051,55 @@ if test "${enable_qt}" = yes ; then enable_qt_ok=no fi - dnl First check for Qt5 - if test "x${with_qt}" = "xqt5"; then - try_qt4=no - else + dnl Qt4 only by special request + if test "x${with_qt}" = "xqt4"; then try_qt4=yes + else + try_qt4=no fi + if test "x${with_qt}" != "xqt4"; then - PKG_CHECK_MODULES_NOFAIL(QT, [Qt5Core Qt5Gui Qt5Network Qt5Svg Qt5PrintSupport]) + pkg_failed="not_tried" + if test "x${with_qt}" != "xqt5"; then + AC_MSG_CHECKING([Checking for Qt6 support libraries]) + PKG_CHECK_MODULES_NOFAIL(QT, [Qt6Core Qt6Gui Qt6Network Qt6Svg Qt6PrintSupport Qt6Core5Compat]) + fi if test $pkg_failed = no; then - try_qt4=no - QT5LOC=`$PKG_CONFIG --variable=host_bins Qt5Core` - if test "x${QT5LOC}" != "x"; then - UIC=${QT5LOC}/uic - MOC=${QT5LOC}/moc - RCC=${QT5LOC}/rcc - LRELEASE=${QT5LOC}/lrelease + QT6LOC=`$PKG_CONFIG --variable=libexecdir Qt6Core` + if test "x${QT6LOC}" != "x"; then + UIC=${QT6LOC}/uic + MOC=${QT6LOC}/moc + RCC=${QT6LOC}/rcc + else + UIC=uic-qt6 + MOC=moc-qt6 + RCC=rcc-qt6 fi + LRELEASE=lrelease-qt6 CXXFLAGS="$CXXFLAGS -fPIC" + AC_MSG_RESULT([The Qt terminal will use Qt6.]) + QTVER="6" + else + AC_MSG_CHECKING([Checking for Qt5 support libraries]) + PKG_CHECK_MODULES_NOFAIL(QT, [Qt5Core Qt5Gui Qt5Network Qt5Svg Qt5PrintSupport]) + if test $pkg_failed = no; then + QT5LOC=`$PKG_CONFIG --variable=host_bins Qt5Core` + if test "x${QT5LOC}" != "x"; then + UIC=${QT5LOC}/uic + MOC=${QT5LOC}/moc + RCC=${QT5LOC}/rcc + LRELEASE=${QT5LOC}/lrelease + fi + CXXFLAGS="$CXXFLAGS -fPIC" + AC_MSG_RESULT([The Qt terminal will use Qt5.]) + QTVER="5" + fi fi fi - dnl No Qt5, check for Qt4.5 or greater - if test ${try_qt4} != no; then + dnl Explicit request for qt4 + if test ${try_qt4} = yes; then + AC_MSG_CHECKING([Checking for Qt4 support]) PKG_CHECK_MODULES_NOFAIL(QT, [QtCore >= 4.5 QtGui >= 4.5 QtNetwork >= 4.5 QtSvg >= 4.5]) if test $pkg_failed != no; then enable_qt_ok=no @@ -1137,9 +1113,6 @@ if test "${enable_qt}" = yes ; then AC_MSG_RESULT([The Qt terminal will use Qt4.]) QTVER="4" fi - else - AC_MSG_RESULT([The Qt terminal will use Qt5.]) - QTVER="5" fi fi @@ -1212,7 +1185,7 @@ AC_SUBST(GIHDIR) AC_SUBST(TEXDIR) AC_SUBST(TERMLIBS) AC_SUBST(TERMXLIBS) -AC_SUBST(TUTORIAL) +dnl AC_SUBST(TUTORIAL) dnl Write Makefiles and configuration header AC_CONFIG_FILES([Makefile @@ -1222,6 +1195,7 @@ AC_CONFIG_FILES([Makefile docs/Makefile m4/Makefile man/Makefile + man/ja/Makefile share/Makefile share/LaTeX/Makefile src/Makefile @@ -1229,7 +1203,7 @@ AC_CONFIG_FILES([Makefile src/wxterminal/Makefile src/qtterminal/Makefile term/Makefile - tutorial/Makefile]) + ]) AC_CONFIG_COMMANDS([default],[test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h],[]) AC_OUTPUT @@ -1249,25 +1223,26 @@ AC_MSG_RESULT([gnuplot will be compiled with the following terminals:]) AC_MSG_RESULT([]) AC_MSG_RESULT([ Standalone terminals: yes (included by default)]) -AC_MSG_RESULT([ canvas, cgm, context, dumb, dxf, emf, epslatex,]) -AC_MSG_RESULT([ fig, hpgl, pcl5, postscript,]) -AC_MSG_RESULT([ pict2e, pslatex, pstex, pstricks, svg, texdraw, tkcanvas]) +AC_MSG_RESULT([ canvas cgm context dumb dxf emf epslatex]) +AC_MSG_RESULT([ fig hpgl pcl5 postscript]) +AC_MSG_RESULT([ pict2e pslatex pstex pstricks svg texdraw tkcanvas]) AC_MSG_RESULT([]) if test "$with_bitmap_terminals" = yes; then - AC_MSG_RESULT([ dot-matrix terminals: yes ( --without-bitmap-terminals to disable)]) + AC_MSG_RESULT([ Dot-matrix terminals: yes ( --without-bitmap-terminals to disable)]) else - AC_MSG_RESULT([ dot-matrix terminals: no (use --with-bitmap-terminals to enable)]) + AC_MSG_RESULT([ Dot-matrix terminals: no (use --with-bitmap-terminals to enable)]) + AC_MSG_RESULT([ These would include, if enabled]) fi -AC_MSG_RESULT([ printers: epson, nec, okidata, tandy, seiko dpu414 ]) -AC_MSG_RESULT([ hp500c, hpdj, hpljii, hppj, starc]) +AC_MSG_RESULT([ printers: epson nec okidata tandy seiko dpu414 ]) +AC_MSG_RESULT([ hp500c hpdj hpljii hppj starc]) AC_MSG_RESULT([ other: block pbm ]) AC_MSG_RESULT([]) if test "$with_tektronix" = no; then - AC_MSG_RESULT([ tektronix terminal emulators: no ( --with-tektronix to enable)]) + AC_MSG_RESULT([ Tektronix terminal emulators: no ( --with-tektronix to enable)]) else - AC_MSG_RESULT([ tektronix terminal emulators: yes ( --without-tektronix to disable)]) + AC_MSG_RESULT([ Tektronix terminal emulators: yes ( --without-tektronix to disable)]) fi AC_MSG_RESULT([ tek410x tek40 vttek xterm kc_tek40 km_tek40 selanar bitgraph]) AC_MSG_RESULT([ sixeltek (not needed for sixel graphics output to vt100-series emulators)]) @@ -1275,16 +1250,6 @@ AC_MSG_RESULT([ sixeltek (not needed for sixel graphics output to vt100-serie AC_MSG_RESULT([]) AC_MSG_RESULT([ Platform-specific, legacy, or specialized terminals omitted by default:]) -if test "$GGI_SUPPORT" = yes; then - if test "$ac_cv_header_ggi_xmi_h" = yes; then - AC_MSG_RESULT([ ggi : yes (with pm3d support)]) - else - AC_MSG_RESULT([ ggi : yes (no pm3d support, requires ggi xmi library)]) - fi -else - AC_MSG_RESULT([ ggi : no (use --with-ggi to enable, requires libggi)]) -fi - if test "$with_gpic" = yes; then AC_MSG_RESULT([ gpic : yes]) else @@ -1331,9 +1296,9 @@ else fi if test "$gnuplot_framework_AquaTerm" = yes; then - AC_MSG_RESULT([ aqua (OSX): yes]) + AC_MSG_RESULT([ aqua : yes (macOS only)]) else - AC_MSG_RESULT([ aqua (OSX): no]) + AC_MSG_RESULT([ aqua : no (macOS only)]) fi AC_MSG_RESULT([]) @@ -1345,91 +1310,82 @@ dnl These are the most common interactive terminal options AC_MSG_RESULT([]) if test "$no_x" != yes; then if test "$enable_x11_mbfonts" = yes; then - AC_MSG_RESULT([ x11 (X Window System) : yes (multi-byte fonts OK)]) + AC_MSG_RESULT([ x11 (X Window System): yes (multi-byte fonts OK)]) else - AC_MSG_RESULT([ x11 (X Window System) : yes (multi-byte fonts not supported)]) + AC_MSG_RESULT([ x11 (X Window System): yes (multi-byte fonts not supported)]) fi if test "$enable_x11_external" = yes; then - AC_MSG_RESULT([ (enable plotting to windows opened by external apps) ]) + AC_MSG_RESULT([ (enable plotting to windows opened by external apps) ]) else - AC_MSG_RESULT([ (disable plotting to windows opened by external apps) ]) + AC_MSG_RESULT([ (disable plotting to windows opened by external apps) ]) fi if test "$with_x_dcop" = yes; then AC_MSG_RESULT([ (gnuplot_x11 can use KDE3/DCOP to raise konsole) ]) fi else - AC_MSG_RESULT([ x11 (X Window System) : no (requires X libraries)]) + AC_MSG_RESULT([ x11 (X Window System) : no (requires X libraries)]) fi if test "$ac_cv_lib_gd_gdImageJpeg" = yes && test "$ac_cv_lib_gd_gdImagePng" = yes && test "$ac_cv_lib_gd_gdImageGif" = yes; then if test "$ac_cv_lib_gd_gdImageGifAnimBegin" = yes; then - AC_MSG_RESULT([ libgd-based png, jpeg, gif, and sixel terminals: yes (with animated gif)]) + AC_MSG_RESULT([ libgd-based png jpeg gif sixel: yes (with animated gif)]) else - AC_MSG_RESULT([ libgd-based png, jpeg, gif, and sixel terminals: yes (no animated gif)]) + AC_MSG_RESULT([ libgd-based png jpeg gif sixel: yes (no animated gif)]) fi else - AC_MSG_RESULT([ libgd-based png, jpeg, gif, and sixel terminals: no (requires libgd, see config.log) ]) + AC_MSG_RESULT([ libgd-based png jpeg gif sixel: no (requires libgd, see config.log) ]) fi if test "$with_cairo" = yes; then - AC_MSG_RESULT([ cairo-based pdf and png terminals: yes ]) + AC_MSG_RESULT([ cairo-based pdf png : yes ]) else AC_MSG_RESULT([ cairo-based terminals: no (requires cairo>=1.2, pango>=1.22, glib>=2.28)]) fi if test "$with_webp" = yes; then - AC_MSG_RESULT([ webp terminal: yes ]) + AC_MSG_RESULT([ webp : yes ]) else - AC_MSG_RESULT([ webp terminal: no (requires cairo, pango, libwebp, libwebpmux)]) + AC_MSG_RESULT([ webp : no (requires cairo, pango, libwebp, libwebpmux)]) fi if test "$with_lua" = yes; then - AC_MSG_RESULT([ lua/TikZ terminal: yes ]) + AC_MSG_RESULT([ lua/TikZ : yes ]) else - AC_MSG_RESULT([ lua/TikZ terminal: no ]) + AC_MSG_RESULT([ lua/TikZ : no ]) fi if test "$enable_wxwidgets_ok" = yes; then if test "$with_wx_multithreaded" = yes; then - AC_MSG_RESULT([ wxt terminal: yes (multithreaded)]) + AC_MSG_RESULT([ wxt : yes (multithreaded)]) else - AC_MSG_RESULT([ wxt terminal: yes ]) + AC_MSG_RESULT([ wxt : yes ]) fi else - AC_MSG_RESULT([ wxt terminal: no (requires C++, wxWidgets>2.6, cairo>0.9, pango>1.22)]) + AC_MSG_RESULT([ wxt : no (requires C++, wxWidgets>2.6, cairo>0.9, pango>1.22)]) fi if test "$enable_qt_ok" = yes; then if test "$QTVER" = 4; then - AC_MSG_RESULT([ Qt terminal: yes (qt4)]) + AC_MSG_RESULT([ Qt : yes (qt4)]) fi if test "$QTVER" = 5; then - AC_MSG_RESULT([ Qt terminal: yes (qt5)]) + AC_MSG_RESULT([ Qt : yes (qt5)]) + fi + if test "$QTVER" = 6; then + AC_MSG_RESULT([ Qt : yes (qt6)]) fi else - AC_MSG_RESULT([ Qt terminal: no (use --with-qt or --with-qt=qt4 to enable]) + AC_MSG_RESULT([ Qt : no (use --with-qt or --with-qt=qt4 or --with-qt=qt5 to enable]) fi AC_MSG_RESULT([]) AC_MSG_RESULT([gnuplot will be compiled with the following configurable features:]) AC_MSG_RESULT([]) -if test "$enable_mouse" = yes; then - AC_MSG_RESULT([ Mouse support in interactive terminals: yes]) -else - AC_MSG_RESULT([ Mouse support in interactive terminals: no]) -fi - -if test "$enable_raise_console" = yes; then - AC_MSG_RESULT([ Typing in plot window raises console: yes]) -else - AC_MSG_RESULT([ Typing in plot window raises console: no]) -fi - if test "$with_readline" = no; then AC_MSG_RESULT([ No readline support (use --with-readline=gnu or --with-readline=builtin)]) fi @@ -1456,21 +1412,29 @@ fi fi if test "$enable_history_file" = yes; then - AC_MSG_RESULT([ Command-line history file: yes]) + AC_MSG_RESULT([ Command-line history file: yes]) +else + AC_MSG_RESULT([ Command-line history file: no]) +fi + +if test "${enable_stable_sort}" = yes; then + AC_MSG_RESULT([ Add code to ensure pm3d depth sorting is stable: yes]) +elif test "${have_stable_sort}" = yes; then + AC_MSG_RESULT([ Add code to ensure pm3d depth sorting is stable: no (not needed)]) else - AC_MSG_RESULT([ Command-line history file: no]) + AC_MSG_RESULT([ Add code to ensure pm3d depth sorting is stable: no]) fi -if test "$with_cwdrc" = yes; then - AC_MSG_RESULT([ Check current directory for .gnuplot file: yes (warning: security risk)]) +if test "$enable_mouse" = yes; then + AC_MSG_RESULT([ Mouse support in interactive terminals: yes]) else - AC_MSG_RESULT([ Check current directory for .gnuplot file: no (use --with-cwdrc to enable)]) + AC_MSG_RESULT([ Mouse support in interactive terminals: no]) fi -if test "$with_row_help" = no; then - AC_MSG_RESULT([ Sort help/subtopic tables by column: yes]) +if test "$enable_raise_console" = yes; then + AC_MSG_RESULT([ Typing in plot window raises console: yes]) else - AC_MSG_RESULT([ Sort help/subtopic tables by column: no (use --without-row-help to enable)]) + AC_MSG_RESULT([ Typing in plot window raises console: no]) fi if test "$have_libcerf" = yes; then @@ -1480,20 +1444,20 @@ else fi if test "$have_amoslibrary" = yes; then - AC_MSG_RESULT([ Airy and Bessel functions from libopenspecfun or libamos: yes]) + AC_MSG_RESULT([ Complex Airy and Bessel functions: yes]) else - AC_MSG_RESULT([ Library containing Amos routines for complex functions not found]) + AC_MSG_RESULT([ Complex Airy and Bessel functions: no (requires libopenspec or libamos]) fi if test "$have_cexint" = yes; then - AC_MSG_RESULT([ Complex exponential integral cexint from libamos: yes]) + AC_MSG_RESULT([ Complex exponential integral cexint (libamos): yes]) else - AC_MSG_RESULT([ Complex exponential integral cexint from libamos: no]) + AC_MSG_RESULT([ Complex exponential integral cexint (libamos): no]) fi if test "$have_external_functions" = yes; then - AC_MSG_RESULT([ plugin support for loading external functions: yes ]) + AC_MSG_RESULT([ plugin support for loading external functions: yes ]) else - AC_MSG_RESULT([ plugin support for loading external functions: no ]) + AC_MSG_RESULT([ plugin support for loading external functions: no ]) fi dnl if test "$enable_backwards_compatibility" = yes; then @@ -1503,29 +1467,34 @@ dnl AC_MSG_RESULT([ Allow deprecated syntax: no (use --enable-backwards-compa dnl fi if test "$enable_stats" != no; then - AC_MSG_RESULT([ Statistical summary of data ("stats" command): yes]) + AC_MSG_RESULT([ Statistical summary of data ("stats" command): yes]) else - AC_MSG_RESULT([ Statistical summary of data ("stats" command): no (--enable-stats to enable)]) + AC_MSG_RESULT([ Statistical summary of data ("stats" command): no (--enable-stats to enable)]) fi if test "$enable_watchpoints" != no; then - AC_MSG_RESULT([ Support watchpoints during 2D plotting: yes]) + AC_MSG_RESULT([ Support watchpoints during 2D plotting: yes]) else - AC_MSG_RESULT([ Support watchpoints during 2D plotting: no (--enable-watchpoints to enable)]) + AC_MSG_RESULT([ Support watchpoints during 2D plotting: no (--enable-watchpoints to enable)]) fi if test "$enable_polar_grid" != no; then - AC_MSG_RESULT([ Support for polar gridded surfaces: yes]) + AC_MSG_RESULT([ Support for polar gridded surfaces: yes]) else - AC_MSG_RESULT([ Support for polar gridded surfaces: no (--enable-polar-grid to enable)]) + AC_MSG_RESULT([ Support for polar gridded surfaces: no (--enable-polar-grid to enable)]) fi -if test "$enable_function_blocks" = yes; then - AC_MSG_RESULT([ Support function blocks: yes]) +if test "$enable_function_blocks" != no; then + AC_MSG_RESULT([ Support function blocks: yes]) else - AC_MSG_RESULT([ Support function blocks: no (--enable-function-blocks to enable)]) + AC_MSG_RESULT([ Support function blocks: no (--enable-function-blocks to enable)]) fi +if test "$enable_chi_shapes" != no; then + AC_MSG_RESULT([ Support concave hulls: yes]) +else + AC_MSG_RESULT([ Support concave hulls: no (--enable-chi-shapes to enable)]) +fi AC_MSG_RESULT([]) AC_MSG_RESULT([gnuplot will install the following additional materials:]) diff --git a/configure.vms b/configure.vms index ca66483be..0780f994b 100755 --- a/configure.vms +++ b/configure.vms @@ -330,7 +330,6 @@ $ HAVE_LIBPNG = 0 $ CGI = 0 $ NOCWDRC = 0 $ THIN_PLATE_SPLINES_GRID = 0 -$ COLUMN_HELP = 0 $ ! USE_MOUSE = 0 ! USE_MOUSE is defined above $ MAX_PARALLEL_AXES = 7 $ ! diff --git a/demo/all.dem b/demo/all.dem index f9ba38a53..42bce65ff 100644 --- a/demo/all.dem +++ b/demo/all.dem @@ -49,6 +49,11 @@ print "****************** file convex_hull.dem ********************" load "convex_hull.dem" reset +print "****************** file concave_hull.dem ********************" +load "concave_hull.dem" +load "iris.dem" +reset + print "****************** file mask_pm3d.dem ********************" load "mask_pm3d.dem" reset @@ -96,6 +101,10 @@ print "******************** file polar_quadrants.dem ********************" load "polar_quadrants.dem" reset +print "******************** file sectors.dem ********************" +load "sectors.dem" +reset + print "******************** file orbits.dem ********************" load "orbits.dem" reset @@ -303,6 +312,7 @@ reset print "********************** file heatmaps *********************" load "heatmaps.dem" +load "heatmap_4D.dem" load "heatmap_points.dem" reset @@ -422,7 +432,6 @@ reset print "********************** Image formats *********************" load "image.dem" load "image2.dem" -load "rgbalpha.dem" load "imageNaN.dem" load "barchart_art.dem" reset @@ -536,8 +545,8 @@ load "named_palettes.dem" print "********************** file palette+alpha.dem *********************" load "palette+alpha.dem" -print "********************** file rgb_hexdata.dem *********************" -load "rgb_hexdata.dem" +print "********************** file argb_hexdata.dem *********************" +load "argb_hexdata.dem" print "********************** file vplot.dem *********************" load "vplot.dem" diff --git a/demo/antenna.dat b/demo/antenna.dat new file mode 100644 index 000000000..65a5aedc0 --- /dev/null +++ b/demo/antenna.dat @@ -0,0 +1,463 @@ +# Input data ncmain.d4 generated by genpat2.f:Tx antenna pattern +# x,y,z of center point B in coord 3 +# -5.12 0 -1.5 +# euler matrix +# 0 -1 0 +# 0.7071 0 0.7071 +# -0.7071 0 0.7071 +# theta(deg) phi(deg) E-theta(dB) phase E-phi(dB) phase + 0 0 -200 0 18.992 0 + 2 0 -200 0 18.898 0 + 4 0 -200 0 18.619 0 + 6 0 -200 0 18.152 0 + 8 0 -200 0 17.497 0 + 10 0 -200 0 16.651 0 + 12 0 -200 0 15.614 0 + 14 0 -200 0 14.382 0 + 16 0 -200 0 12.952 0 + 18 0 -200 0 11.32 0 + 20 0 -200 0 9.483 0 + 22 0 -200 0 7.434 0 + 24 0 -200 0 5.169 0 + 26 0 -200 0 2.68 0 + 28 0 -200 0 -0.039 0 + 30 0 -200 0 -2.998 0 + 32 0 -200 0 -6.204 0 + 34 0 -200 0 -9.67 0 + 36 0 -200 0 -13.407 0 + 38 0 -200 0 -17.429 0 + 40 0 -200 0 -21.751 0 + 42 0 -200 0 -26.391 0 + 44 0 -200 0 -31.368 0 + 46 0 -200 0 -36.705 0 + 48 0 -200 0 -42.429 0 + 50 0 -200 0 -48.569 0 + 52 0 -200 0 -55.16 0 + 54 0 -200 0 -62.243 0 + 56 0 -200 0 -69.867 0 + 58 0 -200 0 -78.087 0 + 60 0 -200 0 -86.971 0 + 62 0 -200 0 -96.602 0 + 64 0 -200 0 -107.08 0 + 66 0 -200 0 -118.53 0 + 68 0 -200 0 -131.11 0 + 70 0 -200 0 -145.022 0 + 72 0 -200 0 -160.534 0 + 74 0 -200 0 -177.982 0 + 76 0 -200 0 -195.848 0 + 78 0 -200 0 -199.967 0 + 80 0 -200 0 -200 0 + 82 0 -200 0 -200 0 + 84 0 -200 0 -200 0 + 86 0 -200 0 -200 0 + 88 0 -200 0 -200 0 + 90 0 -200 0 -200 0 + 92 0 -200 0 -200 0 + 94 0 -200 0 -200 0 + 96 0 -200 0 -200 0 + 98 0 -200 0 -200 0 + 100 0 -200 0 -200 0 + 102 0 -200 0 -200 0 + 104 0 -200 0 -200 0 + 106 0 -200 0 -200 0 + 108 0 -200 0 -200 0 + 110 0 -200 0 -200 0 + 112 0 -200 0 -200 0 + 114 0 -200 0 -200 0 + 116 0 -200 0 -200 0 + 118 0 -200 0 -200 0 + 120 0 -200 0 -200 0 + 122 0 -200 0 -200 0 + 124 0 -200 0 -200 0 + 126 0 -200 0 -200 0 + 128 0 -200 0 -200 0 + 130 0 -200 0 -200 0 + 132 0 -200 0 -200 0 + 134 0 -200 0 -200 0 + 136 0 -200 0 -200 0 + 138 0 -200 0 -200 0 + 140 0 -200 0 -200 0 + 142 0 -200 0 -200 0 + 144 0 -200 0 -200 0 + 146 0 -200 0 -200 0 + 148 0 -200 0 -200 0 + 150 0 -200 0 -200 0 + 152 0 -200 0 -200 0 + 154 0 -200 0 -200 0 + 156 0 -200 0 -200 0 + 158 0 -200 0 -200 0 + 160 0 -200 0 -200 0 + 162 0 -200 0 -200 0 + 164 0 -200 0 -200 0 + 166 0 -200 0 -200 0 + 168 0 -200 0 -200 0 + 170 0 -200 0 -200 0 + 172 0 -200 0 -200 0 + 174 0 -200 0 -200 0 + 176 0 -200 0 -200 0 + 178 0 -200 0 -200 0 + 180 0 -200 0 -200 0 + + + 0 9.0007 -35.926 -71.297 9.0783 + 2 8.1667 0.13355 -32.735 8.9007 + 4 6.0696 4.0782 -28.04 8.3501 + 6 3.3053 4.8742 -26.062 7.3795 + 8 0.131 4.2554 -25.105 5.9101 + 10 -3.4589 2.6769 -24.794 3.8084 + 12 -7.6407 0.15917 -25.211 0.82257 + 14 -12.849 -3.6543 -26.702 -3.6253 + 16 -20.405 -10.185 -30.112 -11.564 + 18 -41.802 -37.181 -39.114 -24.83 + 20 -25.979 -11.868 -38.677 -10.86 + 22 -22.06 -7.1064 -29.743 -7.4312 + 24 -21.258 -5.2193 -26.432 -6.2183 + 26 -22.103 -4.8803 -25.429 -5.9416 + 28 -24.356 -5.858 -26.299 -6.0712 + 30 -28.216 -8.3757 -29.576 -6.4985 + 32 -33.989 -13.34 -38.93 -7.5039 + 34 -37.632 -21.69 -37.458 -9.6424 + 36 -35.691 -16.286 -29.566 -13.578 + 38 -35.22 -12.594 -27.052 -15.787 + 40 -36.549 -12.197 -27.142 -11.075 + 42 -38.418 -14.735 -29.897 -7.6375 + 44 -39.287 -23.397 -38.646 -6.0943 + 46 -39.287 -23.397 -38.646 -6.0943 + 48 -38.418 -14.735 -29.897 -7.6375 + 50 -36.549 -12.197 -27.142 -11.075 + 52 -35.22 -12.594 -27.052 -15.787 + 54 -35.691 -16.286 -29.566 -13.578 + 56 -37.632 -21.69 -37.458 -9.6424 + 58 -33.989 -13.34 -38.93 -7.5039 + 60 -28.216 -8.3757 -29.576 -6.4985 + 62 -24.356 -5.858 -26.299 -6.0712 + 64 -22.103 -4.8803 -25.429 -5.9416 + 66 -21.258 -5.2193 -26.432 -6.2183 + 68 -22.06 -7.1064 -29.743 -7.4312 + 70 -25.979 -11.868 -38.677 -10.86 + 72 -41.802 -37.18 -39.114 -24.83 + 74 -20.405 -10.185 -30.112 -11.564 + 76 -12.849 -3.6543 -26.702 -3.6253 + 78 -7.6407 0.15917 -25.211 0.82257 + 80 -3.4589 2.6769 -24.794 3.8084 + 82 0.131 4.2554 -25.105 5.9101 + 84 3.3053 4.8742 -26.062 7.3795 + 86 6.0696 4.0782 -28.04 8.3501 + 88 8.1667 0.13355 -32.735 8.9007 + 90 9.0007 -35.926 -71.297 9.0783 + 92 8.1667 0.13355 -32.735 8.9007 + 94 6.0696 4.0782 -28.04 8.3501 + 96 3.3053 4.8742 -26.062 7.3795 + 98 0.131 4.2554 -25.105 5.9101 + 100 -3.4589 2.6769 -24.794 3.8084 + 102 -7.6407 0.15917 -25.211 0.82257 + 104 -12.849 -3.6543 -26.702 -3.6253 + 106 -20.405 -10.185 -30.112 -11.564 + 108 -41.802 -37.181 -39.114 -24.83 + 110 -25.979 -11.868 -38.677 -10.86 + 112 -22.06 -7.1064 -29.743 -7.4312 + 114 -21.258 -5.2193 -26.432 -6.2183 + 116 -22.103 -4.8803 -25.429 -5.9416 + 118 -24.356 -5.858 -26.299 -6.0712 + 120 -28.216 -8.3757 -29.576 -6.4985 + 122 -33.989 -13.34 -38.93 -7.5039 + 124 -37.632 -21.69 -37.458 -9.6424 + 126 -35.691 -16.286 -29.566 -13.578 + 128 -35.22 -12.594 -27.052 -15.787 + 130 -36.549 -12.197 -27.142 -11.075 + 132 -38.418 -14.735 -29.897 -7.6375 + 134 -39.287 -23.397 -38.646 -6.0943 + 136 -39.287 -23.397 -38.646 -6.0943 + 138 -38.418 -14.735 -29.897 -7.6375 + 140 -36.549 -12.197 -27.142 -11.075 + 142 -35.22 -12.594 -27.052 -15.787 + 144 -35.691 -16.286 -29.566 -13.578 + 146 -37.632 -21.69 -37.458 -9.6424 + 148 -33.989 -13.34 -38.93 -7.5039 + 150 -28.216 -8.3757 -29.576 -6.4985 + 152 -24.356 -5.858 -26.299 -6.0712 + 154 -22.103 -4.8803 -25.429 -5.9416 + 156 -21.258 -5.2193 -26.432 -6.2183 + 158 -22.06 -7.1064 -29.743 -7.4312 + 160 -25.979 -11.868 -38.677 -10.86 + 162 -41.802 -37.181 -39.114 -24.83 + 164 -20.405 -10.185 -30.112 -11.564 + 166 -12.849 -3.6543 -26.702 -3.6253 + 168 -7.6407 0.15917 -25.211 0.82257 + 170 -3.4589 2.6769 -24.794 3.8084 + 172 0.131 4.2554 -25.105 5.9101 + 174 3.3053 4.8742 -26.062 7.3795 + 176 6.0696 4.0782 -28.04 8.3501 + 178 8.1667 0.13355 -32.735 8.9007 + 180 9.0007 -35.926 -71.297 9.0783 + 182 8.1667 0.13355 -32.735 8.9007 + 184 6.0696 4.0782 -28.04 8.3501 + 186 3.3053 4.8742 -26.062 7.3795 + 188 0.131 4.2554 -25.105 5.9101 + 190 -3.4589 2.6769 -24.794 3.8084 + 192 -7.6407 0.15917 -25.211 0.82257 + 194 -12.849 -3.6543 -26.702 -3.6253 + 196 -20.405 -10.185 -30.112 -11.564 + 198 -41.802 -37.181 -39.114 -24.83 + 200 -25.979 -11.868 -38.677 -10.86 + 202 -22.06 -7.1064 -29.743 -7.4312 + 204 -21.258 -5.2193 -26.432 -6.2183 + 206 -22.103 -4.8803 -25.429 -5.9416 + 208 -24.356 -5.858 -26.299 -6.0712 + 210 -28.216 -8.3757 -29.576 -6.4985 + 212 -33.989 -13.34 -38.93 -7.5039 + 214 -37.632 -21.69 -37.458 -9.6424 + 216 -35.691 -16.286 -29.566 -13.578 + 218 -35.22 -12.594 -27.052 -15.787 + 220 -36.549 -12.197 -27.142 -11.075 + 222 -38.418 -14.735 -29.897 -7.6375 + 224 -39.287 -23.397 -38.646 -6.0943 + 226 -39.287 -23.397 -38.646 -6.0943 + 228 -38.418 -14.735 -29.897 -7.6375 + 230 -36.549 -12.197 -27.142 -11.075 + 232 -35.22 -12.594 -27.052 -15.787 + 234 -35.691 -16.286 -29.566 -13.578 + 236 -37.632 -21.69 -37.458 -9.6424 + 238 -33.989 -13.34 -38.93 -7.5039 + 240 -28.216 -8.3757 -29.576 -6.4985 + 242 -24.356 -5.858 -26.299 -6.0712 + 244 -22.103 -4.8803 -25.429 -5.9416 + 246 -21.258 -5.2193 -26.432 -6.2183 + 248 -22.06 -7.1064 -29.743 -7.4312 + 250 -25.979 -11.868 -38.677 -10.86 + 252 -41.802 -37.18 -39.114 -24.83 + 254 -20.405 -10.185 -30.112 -11.564 + 256 -12.849 -3.6543 -26.702 -3.6253 + 258 -7.6407 0.15917 -25.211 0.82257 + 260 -3.4589 2.6769 -24.794 3.8084 + 262 0.131 4.2554 -25.105 5.9101 + 264 3.3053 4.8742 -26.062 7.3795 + 266 6.0696 4.0782 -28.04 8.3501 + 268 8.1667 0.13355 -32.735 8.9007 + 270 9.0007 -35.926 -71.297 9.0783 + 272 8.1667 0.13355 -32.735 8.9007 + 274 6.0696 4.0782 -28.04 8.3501 + 276 3.3053 4.8742 -26.062 7.3795 + 278 0.13099 4.2554 -25.105 5.9101 + 280 -3.4589 2.6769 -24.794 3.8084 + 282 -7.6407 0.15917 -25.211 0.82257 + 284 -12.849 -3.6543 -26.702 -3.6253 + 286 -20.405 -10.185 -30.112 -11.564 + 288 -41.802 -37.181 -39.114 -24.83 + 290 -25.979 -11.868 -38.677 -10.86 + 292 -22.06 -7.1064 -29.743 -7.4312 + 294 -21.258 -5.2193 -26.432 -6.2183 + 296 -22.103 -4.8803 -25.429 -5.9416 + 298 -24.356 -5.858 -26.299 -6.0712 + 300 -28.216 -8.3757 -29.576 -6.4985 + 302 -33.989 -13.34 -38.93 -7.5039 + 304 -37.632 -21.69 -37.458 -9.6424 + 306 -35.691 -16.286 -29.566 -13.578 + 308 -35.22 -12.594 -27.052 -15.787 + 310 -36.549 -12.197 -27.142 -11.075 + 312 -38.418 -14.735 -29.897 -7.6375 + 314 -39.287 -23.397 -38.646 -6.0943 + 316 -39.287 -23.397 -38.646 -6.0943 + 318 -38.418 -14.735 -29.897 -7.6375 + 320 -36.549 -12.197 -27.142 -11.075 + 322 -35.22 -12.594 -27.052 -15.787 + 324 -35.691 -16.286 -29.566 -13.578 + 326 -37.632 -21.69 -37.458 -9.6424 + 328 -33.989 -13.34 -38.93 -7.5039 + 330 -28.216 -8.3757 -29.576 -6.4985 + 332 -24.356 -5.858 -26.299 -6.0712 + 334 -22.103 -4.8803 -25.429 -5.9416 + 336 -21.258 -5.2193 -26.432 -6.2183 + 338 -22.06 -7.1064 -29.743 -7.4312 + 340 -25.979 -11.868 -38.677 -10.86 + 342 -41.802 -37.181 -39.114 -24.83 + 344 -20.405 -10.185 -30.112 -11.564 + 346 -12.849 -3.6543 -26.702 -3.6253 + 348 -7.6407 0.15917 -25.211 0.82257 + 350 -3.4589 2.6769 -24.794 3.8084 + 352 0.131 4.2554 -25.105 5.9101 + 354 3.3053 4.8742 -26.062 7.3795 + 356 6.0696 4.0782 -28.04 8.3501 + 358 8.1667 0.13355 -32.735 8.9007 + 360 9.0007 -35.926 -71.297 9.0783 + 2 8.1667 0.13355 -32.735 8.9007 + 4 6.0696 4.0782 -28.04 8.3501 + 6 3.3053 4.8742 -26.062 7.3795 + 8 0.131 4.2554 -25.105 5.9101 + 10 -3.4589 2.6769 -24.794 3.8084 + 12 -7.6407 0.15917 -25.211 0.82257 + 14 -12.849 -3.6543 -26.702 -3.6253 + 16 -20.405 -10.185 -30.112 -11.564 + 18 -41.802 -37.181 -39.114 -24.83 + 20 -25.979 -11.868 -38.677 -10.86 + 22 -22.06 -7.1064 -29.743 -7.4312 + 24 -21.258 -5.2193 -26.432 -6.2183 + 26 -22.103 -4.8803 -25.429 -5.9416 + 28 -24.356 -5.858 -26.299 -6.0712 + 30 -28.216 -8.3757 -29.576 -6.4985 + 32 -33.989 -13.34 -38.93 -7.5039 + 34 -37.632 -21.69 -37.458 -9.6424 + 36 -35.691 -16.286 -29.566 -13.578 + 38 -35.22 -12.594 -27.052 -15.787 + 40 -36.549 -12.197 -27.142 -11.075 + 42 -38.418 -14.735 -29.897 -7.6375 + 44 -39.287 -23.397 -38.646 -6.0943 + 46 -39.287 -23.397 -38.646 -6.0943 + 48 -38.418 -14.735 -29.897 -7.6375 + 50 -36.549 -12.197 -27.142 -11.075 + 52 -35.22 -12.594 -27.052 -15.787 + 54 -35.691 -16.286 -29.566 -13.578 + 56 -37.632 -21.69 -37.458 -9.6424 + 58 -33.989 -13.34 -38.93 -7.5039 + 60 -28.216 -8.3757 -29.576 -6.4985 + 62 -24.356 -5.858 -26.299 -6.0712 + 64 -22.103 -4.8803 -25.429 -5.9416 + 66 -21.258 -5.2193 -26.432 -6.2183 + 68 -22.06 -7.1064 -29.743 -7.4312 + 70 -25.979 -11.868 -38.677 -10.86 + 72 -41.802 -37.18 -39.114 -24.83 + 74 -20.405 -10.185 -30.112 -11.564 + 76 -12.849 -3.6543 -26.702 -3.6253 + 78 -7.6407 0.15917 -25.211 0.82257 + 80 -3.4589 2.6769 -24.794 3.8084 + 82 0.131 4.2554 -25.105 5.9101 + 84 3.3053 4.8742 -26.062 7.3795 + 86 6.0696 4.0782 -28.04 8.3501 + 88 8.1667 0.13355 -32.735 8.9007 + 90 9.0007 -35.926 -71.297 9.0783 + 92 8.1667 0.13355 -32.735 8.9007 + 94 6.0696 4.0782 -28.04 8.3501 + 96 3.3053 4.8742 -26.062 7.3795 + 98 0.131 4.2554 -25.105 5.9101 + 100 -3.4589 2.6769 -24.794 3.8084 + 102 -7.6407 0.15917 -25.211 0.82257 + 104 -12.849 -3.6543 -26.702 -3.6253 + 106 -20.405 -10.185 -30.112 -11.564 + 108 -41.802 -37.181 -39.114 -24.83 + 110 -25.979 -11.868 -38.677 -10.86 + 112 -22.06 -7.1064 -29.743 -7.4312 + 114 -21.258 -5.2193 -26.432 -6.2183 + 116 -22.103 -4.8803 -25.429 -5.9416 + 118 -24.356 -5.858 -26.299 -6.0712 + 120 -28.216 -8.3757 -29.576 -6.4985 + 122 -33.989 -13.34 -38.93 -7.5039 + 124 -37.632 -21.69 -37.458 -9.6424 + 126 -35.691 -16.286 -29.566 -13.578 + 128 -35.22 -12.594 -27.052 -15.787 + 130 -36.549 -12.197 -27.142 -11.075 + 132 -38.418 -14.735 -29.897 -7.6375 + 134 -39.287 -23.397 -38.646 -6.0943 + 136 -39.287 -23.397 -38.646 -6.0943 + 138 -38.418 -14.735 -29.897 -7.6375 + 140 -36.549 -12.197 -27.142 -11.075 + 142 -35.22 -12.594 -27.052 -15.787 + 144 -35.691 -16.286 -29.566 -13.578 + 146 -37.632 -21.69 -37.458 -9.6424 + 148 -33.989 -13.34 -38.93 -7.5039 + 150 -28.216 -8.3757 -29.576 -6.4985 + 152 -24.356 -5.858 -26.299 -6.0712 + 154 -22.103 -4.8803 -25.429 -5.9416 + 156 -21.258 -5.2193 -26.432 -6.2183 + 158 -22.06 -7.1064 -29.743 -7.4312 + 160 -25.979 -11.868 -38.677 -10.86 + 162 -41.802 -37.181 -39.114 -24.83 + 164 -20.405 -10.185 -30.112 -11.564 + 166 -12.849 -3.6543 -26.702 -3.6253 + 168 -7.6407 0.15917 -25.211 0.82257 + 170 -3.4589 2.6769 -24.794 3.8084 + 172 0.131 4.2554 -25.105 5.9101 + 174 3.3053 4.8742 -26.062 7.3795 + 176 6.0696 4.0782 -28.04 8.3501 + 178 8.1667 0.13355 -32.735 8.9007 + 180 9.0007 -35.926 -71.297 9.0783 + 182 8.1667 0.13355 -32.735 8.9007 + 184 6.0696 4.0782 -28.04 8.3501 + 186 3.3053 4.8742 -26.062 7.3795 + 188 0.131 4.2554 -25.105 5.9101 + 190 -3.4589 2.6769 -24.794 3.8084 + 192 -7.6407 0.15917 -25.211 0.82257 + 194 -12.849 -3.6543 -26.702 -3.6253 + 196 -20.405 -10.185 -30.112 -11.564 + 198 -41.802 -37.181 -39.114 -24.83 + 200 -25.979 -11.868 -38.677 -10.86 + 202 -22.06 -7.1064 -29.743 -7.4312 + 204 -21.258 -5.2193 -26.432 -6.2183 + 206 -22.103 -4.8803 -25.429 -5.9416 + 208 -24.356 -5.858 -26.299 -6.0712 + 210 -28.216 -8.3757 -29.576 -6.4985 + 212 -33.989 -13.34 -38.93 -7.5039 + 214 -37.632 -21.69 -37.458 -9.6424 + 216 -35.691 -16.286 -29.566 -13.578 + 218 -35.22 -12.594 -27.052 -15.787 + 220 -36.549 -12.197 -27.142 -11.075 + 222 -38.418 -14.735 -29.897 -7.6375 + 224 -39.287 -23.397 -38.646 -6.0943 + 226 -39.287 -23.397 -38.646 -6.0943 + 228 -38.418 -14.735 -29.897 -7.6375 + 230 -36.549 -12.197 -27.142 -11.075 + 232 -35.22 -12.594 -27.052 -15.787 + 234 -35.691 -16.286 -29.566 -13.578 + 236 -37.632 -21.69 -37.458 -9.6424 + 238 -33.989 -13.34 -38.93 -7.5039 + 240 -28.216 -8.3757 -29.576 -6.4985 + 242 -24.356 -5.858 -26.299 -6.0712 + 244 -22.103 -4.8803 -25.429 -5.9416 + 246 -21.258 -5.2193 -26.432 -6.2183 + 248 -22.06 -7.1064 -29.743 -7.4312 + 250 -25.979 -11.868 -38.677 -10.86 + 252 -41.802 -37.18 -39.114 -24.83 + 254 -20.405 -10.185 -30.112 -11.564 + 256 -12.849 -3.6543 -26.702 -3.6253 + 258 -7.6407 0.15917 -25.211 0.82257 + 260 -3.4589 2.6769 -24.794 3.8084 + 262 0.131 4.2554 -25.105 5.9101 + 264 3.3053 4.8742 -26.062 7.3795 + 266 6.0696 4.0782 -28.04 8.3501 + 268 8.1667 0.13355 -32.735 8.9007 + 270 9.0007 -35.926 -71.297 9.0783 + 272 8.1667 0.13355 -32.735 8.9007 + 274 6.0696 4.0782 -28.04 8.3501 + 276 3.3053 4.8742 -26.062 7.3795 + 278 0.13099 4.2554 -25.105 5.9101 + 280 -3.4589 2.6769 -24.794 3.8084 + 282 -7.6407 0.15917 -25.211 0.82257 + 284 -12.849 -3.6543 -26.702 -3.6253 + 286 -20.405 -10.185 -30.112 -11.564 + 288 -41.802 -37.181 -39.114 -24.83 + 290 -25.979 -11.868 -38.677 -10.86 + 292 -22.06 -7.1064 -29.743 -7.4312 + 294 -21.258 -5.2193 -26.432 -6.2183 + 296 -22.103 -4.8803 -25.429 -5.9416 + 298 -24.356 -5.858 -26.299 -6.0712 + 300 -28.216 -8.3757 -29.576 -6.4985 + 302 -33.989 -13.34 -38.93 -7.5039 + 304 -37.632 -21.69 -37.458 -9.6424 + 306 -35.691 -16.286 -29.566 -13.578 + 308 -35.22 -12.594 -27.052 -15.787 + 310 -36.549 -12.197 -27.142 -11.075 + 312 -38.418 -14.735 -29.897 -7.6375 + 314 -39.287 -23.397 -38.646 -6.0943 + 316 -39.287 -23.397 -38.646 -6.0943 + 318 -38.418 -14.735 -29.897 -7.6375 + 320 -36.549 -12.197 -27.142 -11.075 + 322 -35.22 -12.594 -27.052 -15.787 + 324 -35.691 -16.286 -29.566 -13.578 + 326 -37.632 -21.69 -37.458 -9.6424 + 328 -33.989 -13.34 -38.93 -7.5039 + 330 -28.216 -8.3757 -29.576 -6.4985 + 332 -24.356 -5.858 -26.299 -6.0712 + 334 -22.103 -4.8803 -25.429 -5.9416 + 336 -21.258 -5.2193 -26.432 -6.2183 + 338 -22.06 -7.1064 -29.743 -7.4312 + 340 -25.979 -11.868 -38.677 -10.86 + 342 -41.802 -37.181 -39.114 -24.83 + 344 -20.405 -10.185 -30.112 -11.564 + 346 -12.849 -3.6543 -26.702 -3.6253 + 348 -7.6407 0.15917 -25.211 0.82257 + 350 -3.4589 2.6769 -24.794 3.8084 + 352 0.131 4.2554 -25.105 5.9101 + 354 3.3053 4.8742 -26.062 7.3795 + 356 6.0696 4.0782 -28.04 8.3501 + 358 8.1667 0.13355 -32.735 8.9007 + 360 9.0007 -35.926 -71.297 9.0783 +e diff --git a/demo/argb_hexdata.dem b/demo/argb_hexdata.dem new file mode 100644 index 000000000..c2c860324 --- /dev/null +++ b/demo/argb_hexdata.dem @@ -0,0 +1,27 @@ +# +# test unpacking of integer hex matrix data into an ARGB image +# +$BITS << EOB +0xafffffff 0x3fff0000 0x1f8833aa 0x00ffaa44 +0xafff0000 0x3f8833aa 0x1fffaa44 0x00ffffff +0xaf8833aa 0x3fffaa44 0x1f00dddd 0xefffffff +0xafffaa44 0x3fff0000 0x1f8833aa 0x00bb0000 +EOB + +set pixmap 123 'gradient.png' at screen 0,0 size screen 1,1 behind +set tics 1 +unset key +set xrange [-0.5:3.5]; set yrange [-1:3.5] +set title "Alpha+RGB image data loaded from a hexadecimal matrix" + +plot 1+2*sin(x*x) lw 4 lc "black", $BITS matrix using 1:2:3 with rgbalpha pixels, \ + $BITS matrix using 1:2:(sprintf("0x%08X",$3)) with labels center font ",12" + +pause -1 " to continue" + +set grid x y z vertical +set view 33, 46 +splot $BITS matrix using 1:2:(1.0):3 with rgbalpha pixels + +pause -1 " to continue" +reset diff --git a/demo/armillary.dem b/demo/armillary.dem index c4b868053..a287f6b45 100644 --- a/demo/armillary.dem +++ b/demo/armillary.dem @@ -49,7 +49,7 @@ array Longitude[13] = [267., 300., 328., 352., 29., 53., 90., 118., 138., 174., do for [i=1:13] { set label i Zodiac[i] at polar Longitude[i], 1.1, 0 center font ",15" set obj i circle at polar Longitude[i], 1.1, 0 radius char 1.5 - set obj i fs solid fc rgb hsv2rgb( Longitude[i]/360., 0.5, 1.0) + set obj i fs solid border lt -1 fc rgb hsv2rgb( Longitude[i]/360., 0.5, 1.0) } # diff --git a/demo/array_index.dem b/demo/array_index.dem index 1edca8e3c..fc7cdd803 100644 --- a/demo/array_index.dem +++ b/demo/array_index.dem @@ -5,6 +5,7 @@ # It returns the index of that entry. array A = [1, 2, 3.0, 4.0, "five", "six", 7*I, {8,8}, NaN] +array B = A[2:4] do for [ i = 1:|A| ] { x = A[i] @@ -15,6 +16,7 @@ do for [ i = 1:|A| ] { print "no member of A matches ", x } } +print "array B = ", B # Use of index to establish key/value pairs print "\nKey/value pairs\n" diff --git a/demo/barchart_art.dem b/demo/barchart_art.dem index 37510b99d..4a7a636d4 100644 --- a/demo/barchart_art.dem +++ b/demo/barchart_art.dem @@ -6,7 +6,6 @@ if (!strstrt(GPVAL_COMPILE_OPTIONS,"+GD_PNG")) \ print "This copy of gnuplot was built without support for loading png images" ;\ exit ; -reset set title "Building Code Height Limits" unset key diff --git a/demo/boxclusters.dem b/demo/boxclusters.dem index 3792b1edd..a40c0572a 100644 --- a/demo/boxclusters.dem +++ b/demo/boxclusters.dem @@ -1,11 +1,11 @@ # -# The "histograms" style automates the construction of barcharts with -# various stacking and clustering options. But it doesn't offer much -# choice for coloring. +# The "with histograms" plot style automates the construction of barcharts +# with various stacking and clustering options. But sometimes it doesn't +# handle exactly what you want, particularly for color assignment. # # This demo show using the "with boxes" plot style to generate clustered -# histograms with individual box coloring generated by a user-provided function. -# This could, for example, depend on data from other columns in the input. +# histograms with individual box coloring generated by a user function. +# It could, for example, depend on data from other columns in the input. # set title "Clustered bar graph with individual colors\nspecified via plotstyle 'boxes'" diff --git a/demo/boxplot.dem b/demo/boxplot.dem index dd6b45415..71cc22339 100644 --- a/demo/boxplot.dem +++ b/demo/boxplot.dem @@ -82,4 +82,5 @@ plot for [i=1:NF-2] 'energy_circles.dat' using (i):(filter(8, 4, i)), \ pause -1 'Hit to continue: boxplot demo finished' +unset datafile reset diff --git a/demo/callargs.dem b/demo/callargs.dem index e40839b68..0ac0aceac 100644 --- a/demo/callargs.dem +++ b/demo/callargs.dem @@ -11,7 +11,7 @@ $DATA << EOD 1 2 3 4 EOD -set table +set table $OUT print "\nEntering ", ARG0, " with ", ARGC, " parameters" if (ARGC == 0) { diff --git a/demo/chi_shapes.dem b/demo/chi_shapes.dem new file mode 100644 index 000000000..d8237a6f3 --- /dev/null +++ b/demo/chi_shapes.dem @@ -0,0 +1,45 @@ +# +# Illustrate effect of chi_length on construction of concave hull +# +# Appropriate choice of `chi_length` depends strongly on the density and +# distribution of the input data points. +# Too-large values of chi_length will yield the convex hull. +# Too-small values of chi_length will make the chi-shape very 'spikey'. +# If no value for `chi_length` has set, gnuplot will choose one automatically +# but there is no guarantee that this value is suitable for your data. +# For the data used here gnuplot would choose chi_length=22.6 by default, +# which is 0.6 of the length of the longest edge in the convex hull. +# +if (!strstrt(GPVAL_COMPILE_OPTIONS, "+CHI_SHAPES")) { + print "Your copy of gnuplot was not built with support for chi shapes" +} else { + unset key + unset tics; unset border + set offsets graph 0, 0, graph 0.1, graph 0.1 + set style line 2 lc "forest-green" pt 7 ps 0.5 + set style fill transparent solid 0.1 noborder + set xrange [-30:30] + set yrange [-30:30] + + set title noenhanced offset 0, -2.0 + + set multiplot layout 2,2 spacing 0 margins 0, 1, 0, 0.9 \ + title "concave hull smooth path expand 3.0 " font ":Bold" + chi_length = real("+Inf") + set title "chi_length = +Inf (convex hull)" + plot 'hull.dat' index 0 with points ls 2 notitle, \ + '' index 0 concavehull with polygons fs empty border lc "black", \ + '' index 0 concavehull smooth path expand 3.00 with filledcurve ls 2 \ + title sprintf("chi_length = %.1f", GPVAL_CHI_LENGTH) + chi_length = 25.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 20.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 16.; set title sprintf("chi_length = %.1f", chi_length) + replot + unset multiplot +} + +pause -1 "Hit return to continue" + +reset diff --git a/demo/circles.dem b/demo/circles.dem index 870ed28af..ffc3df15b 100644 --- a/demo/circles.dem +++ b/demo/circles.dem @@ -63,31 +63,4 @@ plot 'optimize.dat' with circles lc rgb "blue" fs transparent solid 0.15 noborde pause -1 "Hit return to continue" - -reset -set size ratio -1 -set title "Lena's key points" -unset xlabel -unset xtics -unset ytics -unset key -unset border -set yrange [] reverse - -plot 'lena.rgb' binary array=(128,128) dx=4 dy=4 format='%uchar' with rgbimage, \ - 'lena-keypoints.bin' binary format='%double' with circles lc rgb "yellow" - -pause -1 "Hit return to continue" - - -reset -set size ratio -1 -set title "Delaunay triangulation of Hemisphere points, some empty circles in red" -unset key - -plot 'empty-circles.dat' with circles lw 2 lc rgb "red", \ - 'delaunay-edges.dat' with lines lc rgb "forest-green", \ - 'hemisphr.dat' u (100*$1):(100*$2) with points pt 7 lc rgb "black" - -pause -1 "Hit return to continue" reset diff --git a/demo/concave_hull.dem b/demo/concave_hull.dem new file mode 100644 index 000000000..67044a796 --- /dev/null +++ b/demo/concave_hull.dem @@ -0,0 +1,66 @@ +# +# Debugging / test code for Delaunay triangulation, χ-shapes, +# and generation of concave hulls. +# +if (!strstrt(GPVAL_COMPILE_OPTIONS, "+CHI_SHAPES")) { + print "This copy of gnuplot does not support concave hulls" + exit # return to caller +} + +set title "Concave hulls" offset 0,-2 font ":Bold" + +if (!exists("N")) { N = 17 } + +set sample N*10 + +set print $DATA +do for [i=1:N] { + print rand(0), rand(0) + print rand(0) + 0.3, rand(0) + 0.5 + print rand(0) + 0.6, rand(0) - 0.5 + print rand(0) + 1.2, rand(0) +} +unset print + +set xrange [-.5 : 2.5] +set yrange [-.5 : 2.0] +set isotropic +set key invert +set tics 0.5 nomirror rangelimited +set border 3 + +plot $DATA using 1:2 convexhull with lines lw 2 lt 4 title "convex", \ + $DATA using 1:2 concavehull with lines lc "blue" title "concave", \ + $DATA using 1:2 with points pt 7 ps 2 lc bgnd notitle, \ + $DATA using 1:2:(sprintf("%d",int($0))) with labels font ",9" notitle, \ + keyentry title sprintf("chi_length = %.2f",GPVAL_CHI_LENGTH) noenhanced + +pause -1 " to continue" + +set style fill transparent solid 0.25 noborder + +plot $DATA using 1:2 concavehull expand .05 smooth path with filledcurve fc "dark-green" \ + title "expand .05 smooth concave", \ + $DATA using 1:2 concavehull with lines lc "blue" title "concave", \ + $DATA using 1:2 convexhull with lines lw 1 lt 4 title "convex", \ + $DATA using 1:2 with points pt 7 ps 0.5 lc "black" notitle, \ + keyentry title sprintf("chi_length = %.2f",GPVAL_CHI_LENGTH) noenhanced + +pause -1 " to continue" + +# +# This uses [undocumented?] filter "delaunay" to convert the original set +# of points into a polygon representation of the Delaunay triangulation. +# This will fail if the debugging code is not present or not enabled. +# +if (N < 50) { + set style fill transparent solid 0.25 border + plot $DATA using 1:2 delaunay with polygons fs empty lw 0.5 title "Delaunay triangulation", \ + $DATA using 1:2 concavehull with filledcurve fc "dark-green" lw 2 title "concavehull", \ + $DATA using 1:2 with points pt 7 ps 0.5 lc "black" notitle, \ + keyentry title sprintf("chi_length = %.2f",GPVAL_CHI_LENGTH) noenhanced + + pause -1 " to continue" +} + +reset diff --git a/demo/convex_hull.dem b/demo/convex_hull.dem index be37c41bf..11bb9722c 100644 --- a/demo/convex_hull.dem +++ b/demo/convex_hull.dem @@ -25,10 +25,10 @@ plot for [i=0:1] 'hull.dat' index i with points ls (i+1), \ pause -1 " to continue" -set title "Smooth convex hull expanded by 5%" +set title "Smooth convex hull expanded by increment of 1.5" plot for [i=0:1] 'hull.dat' index i with points ls (i+1), \ - for [i=0:1] '' index i convexhull smooth path expand 1.05 with filledcurve ls (i+1) + for [i=0:1] '' index i convexhull expand 1.5 smooth path with filledcurve ls (i+1) pause -1 " to continue" diff --git a/demo/delaunay-edges.dat b/demo/delaunay-edges.dat deleted file mode 100644 index 4c1c87b2f..000000000 --- a/demo/delaunay-edges.dat +++ /dev/null @@ -1,2154 +0,0 @@ - 67.6558 73.6342 - 38.2874 89.2396 - - 66.3301 72.8159 - 68.5076 72.3350 - - 76.9607 63.3896 - 67.6558 73.6342 - - 67.6558 73.6342 - 68.5076 72.3350 - - 67.6558 73.6342 - 65.9021 74.2999 - - 66.3301 72.8159 - 67.6558 73.6342 - - 65.9021 74.2999 - 66.3301 72.8159 - - 66.3301 72.8159 - 58.8167 70.8096 - - 68.1090 69.5442 - 66.3301 72.8159 - - 70.8415 59.7082 - 68.1090 69.5442 - - 68.5076 72.3350 - 68.1090 69.5442 - - 76.9607 63.3896 - 68.5076 72.3350 - - 68.1090 69.5442 - 76.9607 63.3896 - - 62.1210 61.5790 - 60.6825 62.9365 - - 61.2938 56.4586 - 62.1210 61.5790 - - 68.1090 69.5442 - 62.1210 61.5790 - - 66.6548 60.1906 - 68.1090 69.5442 - - 62.1210 61.5790 - 66.6548 60.1906 - - 58.8167 70.8096 - 65.9021 74.2999 - - 38.2874 89.2396 - 57.3002 72.7986 - - 65.9021 74.2999 - 38.2874 89.2396 - - 57.3002 72.7986 - 65.9021 74.2999 - - 58.8167 70.8096 - 57.3002 72.7986 - - 54.2856 71.3704 - 55.3844 71.1779 - - 55.3844 71.1779 - 57.3002 72.7986 - - 48.6897 71.9655 - 50.1835 61.2707 - - 57.3002 72.7986 - 48.6897 71.9655 - - 54.2856 71.3704 - 57.3002 72.7986 - - 48.6897 71.9655 - 54.2856 71.3704 - - 58.8167 70.8096 - 55.3844 71.1779 - - 55.3844 71.1779 - 57.9425 68.5534 - - 58.8167 70.8096 - 57.9425 68.5534 - - 68.1090 69.5442 - 58.8167 70.8096 - - 60.6825 62.9365 - 68.1090 69.5442 - - 68.1090 69.5442 - 57.9425 68.5534 - - 60.6825 62.9365 - 57.9425 68.5534 - - 50.1835 61.2707 - 60.6825 62.9365 - - 57.9425 68.5534 - 54.2856 71.3704 - - 50.1835 61.2707 - 57.9425 68.5534 - - 54.2856 71.3704 - 50.1835 61.2707 - - 70.8415 59.7082 - 66.6548 60.1906 - - 96.4888 24.6811 - 76.9607 63.3896 - - 61.2938 56.4586 - 60.6825 62.9365 - - 60.6825 62.9365 - 54.0892 54.2901 - - 68.6633 57.8928 - 73.0240 56.7015 - - 70.8415 59.7082 - 68.6633 57.8928 - - 73.0240 56.7015 - 76.9607 63.3896 - - 70.8415 59.7082 - 73.0240 56.7015 - - 76.9607 63.3896 - 70.8415 59.7082 - - 65.8314 49.6308 - 68.6633 57.8928 - - 68.6633 57.8928 - 66.6548 60.1906 - - 61.2938 56.4586 - 68.6633 57.8928 - - 66.6548 60.1906 - 61.2938 56.4586 - - 96.4888 24.6811 - 73.0240 56.7015 - - 73.7523 30.0789 - 96.4888 24.6811 - - 73.6650 2.0192 - 73.7523 30.0789 - - 59.2487 22.4923 - 73.7523 30.0789 - - 73.7523 30.0789 - 60.3351 24.7584 - - 73.0240 56.7015 - 65.8314 49.6308 - - 73.7523 30.0789 - 73.0240 56.7015 - - 73.7523 30.0789 - 65.8314 49.6308 - - 59.3555 42.1221 - 73.7523 30.0789 - - 65.8314 49.6308 - 61.2938 56.4586 - - 59.2487 22.4923 - 60.3351 24.7584 - - 65.8314 49.6308 - 58.6683 46.4120 - - 59.3555 42.1221 - 65.8314 49.6308 - - 54.0892 54.2901 - 50.1835 61.2707 - - 50.1835 61.2707 - 45.1841 58.4772 - - 58.5611 46.3666 - 54.0892 54.2901 - - 61.2938 56.4586 - 54.0892 54.2901 - - 58.6683 46.4120 - 61.2938 56.4586 - - 54.0892 54.2901 - 58.6683 46.4120 - - 54.0892 54.2901 - 45.1841 58.4772 - - 47.8855 49.3185 - 54.0892 54.2901 - - 45.1841 58.4772 - 47.8855 49.3185 - - 58.6683 46.4120 - 58.5611 46.3666 - - 59.3555 42.1221 - 58.6683 46.4120 - - 47.8855 49.3185 - 39.9696 46.6770 - - 31.4462 32.0252 - 60.3351 24.7584 - - 60.3351 24.7584 - 59.3555 42.1221 - - 55.2130 42.7566 - 60.3351 24.7584 - - 59.3555 42.1221 - 58.5611 46.3666 - - 55.2130 42.7566 - 59.3555 42.1221 - - 47.8855 49.3185 - 55.2130 42.7566 - - 58.5611 46.3666 - 47.8855 49.3185 - - 55.2130 42.7566 - 58.5611 46.3666 - - 38.8299 15.8032 - 59.2487 22.4923 - - 59.2487 22.4923 - 31.4462 32.0252 - - 48.6897 71.9655 - 38.2874 89.2396 - - 43.8727 69.8150 - 48.6897 71.9655 - - 38.2874 89.2396 - 21.4063 95.3829 - - 30.6393 87.4114 - 32.9262 74.5222 - - 32.9262 74.5222 - 38.2874 89.2396 - - 26.1925 84.7441 - 30.6393 87.4114 - - 38.2874 89.2396 - 28.5538 89.3811 - - 30.6393 87.4114 - 38.2874 89.2396 - - 28.5538 89.3811 - 30.6393 87.4114 - - 38.2874 89.2396 - 35.6317 71.7007 - - 43.8727 69.8150 - 38.2874 89.2396 - - 29.4122 67.0369 - 27.9697 69.3758 - - 41.1266 67.2267 - 50.1835 61.2707 - - 50.1835 61.2707 - 43.8727 69.8150 - - 35.6317 71.7007 - 41.1266 67.2267 - - 43.8727 69.8150 - 35.6317 71.7007 - - 41.1266 67.2267 - 43.8727 69.8150 - - 35.6317 71.7007 - 29.4122 67.0369 - - 35.5187 62.5974 - 35.6317 71.7007 - - 27.9697 69.3758 - 35.6317 71.7007 - - 35.6317 71.7007 - 32.9262 74.5222 - - 26.1925 84.7441 - 28.5538 89.3811 - - 16.0743 90.5419 - 24.1305 87.3806 - - 24.1305 87.3806 - 28.5538 89.3811 - - 21.4063 95.3829 - 24.1305 87.3806 - - 28.5538 89.3811 - 21.4063 95.3829 - - 14.1310 77.6791 - 16.0743 90.5419 - - 21.4063 95.3829 - 12.6868 93.8774 - - 16.0743 90.5419 - 21.4063 95.3829 - - 12.6868 93.8774 - 16.0743 90.5419 - - 24.1305 87.3806 - 14.1310 77.6791 - - 26.1925 84.7441 - 24.1305 87.3806 - - 23.8979 64.7361 - 27.9697 69.3758 - - 14.1310 77.6791 - 27.9697 69.3758 - - 26.1925 84.7441 - 14.1310 77.6791 - - 32.9262 74.5222 - 26.1925 84.7441 - - 27.9697 69.3758 - 32.9262 74.5222 - - 26.1925 84.7441 - 27.9697 69.3758 - - 14.1310 77.6791 - -1.8365 65.6245 - - 23.8979 64.7361 - 14.1310 77.6791 - - 14.1310 77.6791 - 12.6868 93.8774 - - 23.8979 64.7361 - -1.8365 65.6245 - - 41.1266 67.2267 - 35.5187 62.5974 - - 45.1841 58.4772 - 41.1266 67.2267 - - 35.5187 62.5974 - 29.4122 67.0369 - - 35.5187 62.5974 - 30.5420 59.4325 - - 39.9696 46.6770 - 30.5420 59.4325 - - 29.4122 67.0369 - 23.8979 64.7361 - - 30.5420 59.4325 - 29.4122 67.0369 - - 24.0731 52.2574 - 30.5420 59.4325 - - 23.8979 64.7361 - 21.6045 57.5576 - - 30.5420 59.4325 - 23.8979 64.7361 - - 39.9696 46.6770 - 24.0731 52.2574 - - 35.5187 62.5974 - 39.9696 46.6770 - - 45.1841 58.4772 - 35.5187 62.5974 - - 39.9696 46.6770 - 45.1841 58.4772 - - 39.9696 46.6770 - 31.4462 32.0252 - - 55.2130 42.7566 - 39.9696 46.6770 - - 31.4462 32.0252 - 55.2130 42.7566 - - 38.8299 15.8032 - 31.4462 32.0252 - - 26.1892 21.1723 - 38.8299 15.8032 - - 31.4462 32.0252 - 26.1892 21.1723 - - 31.4462 32.0252 - 24.0731 52.2574 - - 10.7372 15.5924 - 26.1892 21.1723 - - 26.1892 21.1723 - 3.2428 27.1616 - - 21.6045 57.5576 - -1.8365 65.6245 - - -1.8365 65.6245 - -4.7170 57.8270 - - 24.0731 52.2574 - 22.6818 55.2577 - - 20.6564 49.7907 - 24.0731 52.2574 - - 20.6564 49.7907 - 22.6818 55.2577 - - 30.5420 59.4325 - 21.6045 57.5576 - - 22.6818 55.2577 - 30.5420 59.4325 - - 21.6045 57.5576 - 22.6818 55.2577 - - 21.6045 57.5576 - -4.7170 57.8270 - - 20.6564 49.7907 - 21.6045 57.5576 - - -4.7170 57.8270 - 20.6564 49.7907 - - 20.6564 49.7907 - -10.5718 48.9948 - - 31.4462 32.0252 - 20.6564 49.7907 - - 3.2428 27.1616 - 31.4462 32.0252 - - 20.6564 49.7907 - 3.2428 27.1616 - - 3.2428 27.1616 - -4.6413 21.2599 - - 10.7372 15.5924 - 3.2428 27.1616 - - -4.6413 21.2599 - 10.7372 15.5924 - - 59.2487 22.4923 - 68.2514 -9.0759 - - 73.6650 2.0192 - 59.2487 22.4923 - - 96.4888 24.6811 - 73.6650 2.0192 - - 63.2050 -34.0980 - 81.0010 -38.6643 - - 96.4888 24.6811 - 85.1855 -7.8785 - - 96.4970 -22.9158 - 96.4888 24.6811 - - 96.4970 -22.9158 - 85.1855 -7.8785 - - 87.9867 -15.3159 - 96.4970 -22.9158 - - 87.9867 -15.3159 - 85.1855 -7.8785 - - 83.2393 -8.0222 - 87.9867 -15.3159 - - 85.1855 -7.8785 - 73.6650 2.0192 - - 83.2393 -8.0222 - 85.1855 -7.8785 - - 91.2208 -30.2322 - 87.9867 -15.3159 - - 82.6057 -35.6650 - 94.0858 -32.4848 - - 91.2208 -30.2322 - 82.6057 -35.6650 - - 96.4970 -22.9158 - 91.2208 -30.2322 - - 94.0858 -32.4848 - 96.4970 -22.9158 - - 91.2208 -30.2322 - 94.0858 -32.4848 - - 82.6057 -35.6650 - 81.0010 -38.6643 - - 86.9944 -44.0150 - 82.6057 -35.6650 - - 82.6057 -35.6650 - 87.9867 -15.3159 - - 82.6057 -35.6650 - 64.1845 -23.2436 - - 63.2050 -34.0980 - 82.6057 -35.6650 - - 38.8299 15.8032 - 32.8900 3.5730 - - 68.2514 -9.0759 - 38.8299 15.8032 - - 68.6614 -8.9142 - 79.4300 -9.1894 - - 83.2393 -8.0222 - 73.6650 2.0192 - - 79.4300 -9.1894 - 83.2393 -8.0222 - - 73.6650 2.0192 - 79.4300 -9.1894 - - 64.1845 -23.2436 - 68.6614 -8.9142 - - 73.6650 2.0192 - 68.2514 -9.0759 - - 68.6614 -8.9142 - 73.6650 2.0192 - - 68.2514 -9.0759 - 68.6614 -8.9142 - - 64.1845 -23.2436 - 68.2514 -9.0759 - - 69.6711 -47.1073 - 63.2050 -34.0980 - - 87.9867 -15.3159 - 79.4300 -9.1894 - - 64.1845 -23.2436 - 87.9867 -15.3159 - - 79.4300 -9.1894 - 64.1845 -23.2436 - - 63.2050 -34.0980 - 64.1845 -23.2436 - - 49.7595 -35.3890 - 63.2050 -34.0980 - - 51.7803 -37.2629 - 49.7595 -35.3890 - - 63.2050 -34.0980 - 51.7803 -37.2629 - - 51.9810 -39.6648 - 63.2050 -34.0980 - - 51.7803 -37.2629 - 51.9810 -39.6648 - - 69.6711 -47.1073 - 51.9810 -39.6648 - - 51.4538 -81.7664 - 66.4685 -74.1902 - - 94.0858 -32.4848 - 86.9944 -44.0150 - - 73.0081 -67.7485 - 94.0858 -32.4848 - - 86.9944 -44.0150 - 81.0010 -38.6643 - - 73.0081 -67.7485 - 86.9944 -44.0150 - - 86.9944 -44.0150 - 80.9815 -40.3364 - - 84.6712 -47.4373 - 86.9944 -44.0150 - - 84.6712 -47.4373 - 80.9815 -40.3364 - - 69.6711 -47.1073 - 84.6712 -47.4373 - - 81.0010 -38.6643 - 69.6711 -47.1073 - - 80.9815 -40.3364 - 81.0010 -38.6643 - - 69.6711 -47.1073 - 80.9815 -40.3364 - - 68.7151 -63.6061 - 69.6711 -47.1073 - - 64.3521 -71.0952 - 73.0081 -67.7485 - - 84.6712 -47.4373 - 68.7151 -63.6061 - - 73.0081 -67.7485 - 84.6712 -47.4373 - - 68.7151 -63.6061 - 73.0081 -67.7485 - - 63.0038 -75.7773 - 66.4685 -74.1902 - - 73.0081 -67.7485 - 65.8176 -72.6097 - - 66.4685 -74.1902 - 73.0081 -67.7485 - - 65.8176 -72.6097 - 66.4685 -74.1902 - - 65.8176 -72.6097 - 64.3521 -71.0952 - - 63.0038 -75.7773 - 65.8176 -72.6097 - - 60.1183 -58.6111 - 69.6711 -47.1073 - - 51.7661 -65.1774 - 64.3521 -71.0952 - - 52.9336 -62.1840 - 64.3521 -71.0952 - - 68.7151 -63.6061 - 60.1183 -58.6111 - - 64.3521 -71.0952 - 68.7151 -63.6061 - - 60.1183 -58.6111 - 64.3521 -71.0952 - - 60.1183 -58.6111 - 59.3833 -58.3880 - - 52.9336 -62.1840 - 60.1183 -58.6111 - - 59.3833 -58.3880 - 52.9336 -62.1840 - - 51.1738 -53.4049 - 59.3833 -58.3880 - - 69.6711 -47.1073 - 51.1738 -53.4049 - - 59.3833 -58.3880 - 69.6711 -47.1073 - - 64.3521 -71.0952 - 53.7112 -74.9640 - - 63.0038 -75.7773 - 64.3521 -71.0952 - - 51.4538 -81.7664 - 63.0038 -75.7773 - - 51.4538 -81.7664 - 54.2618 -77.8095 - - 63.0038 -75.7773 - 53.7112 -74.9640 - - 54.2618 -77.8095 - 63.0038 -75.7773 - - 53.7112 -74.9640 - 54.2618 -77.8095 - - 8.2968 8.8643 - -4.6413 21.2599 - - 51.4538 -81.7664 - 53.7112 -74.9640 - - 49.7595 -35.3890 - 64.1845 -23.2436 - - 64.1845 -23.2436 - 41.1338 -21.5215 - - 51.7661 -65.1774 - 52.9336 -62.1840 - - 68.2514 -9.0759 - 32.8900 3.5730 - - 41.1338 -21.5215 - 68.2514 -9.0759 - - 51.9810 -39.6648 - 49.7595 -35.3890 - - 45.5903 -59.4463 - 49.7595 -35.3890 - - 41.5254 -28.2774 - 45.5903 -59.4463 - - 51.1738 -53.4049 - 51.9810 -39.6648 - - 51.9810 -39.6648 - 45.5903 -59.4463 - - 49.7595 -35.3890 - 41.1338 -21.5215 - - 41.5254 -28.2774 - 49.7595 -35.3890 - - 41.1338 -21.5215 - 41.5254 -28.2774 - - 52.9336 -62.1840 - 51.1738 -53.4049 - - 47.1778 -60.8160 - 52.9336 -62.1840 - - 39.9406 -76.6162 - 47.1778 -60.8160 - - 53.7112 -74.9640 - 51.7661 -65.1774 - - 47.1778 -60.8160 - 50.2269 -67.2584 - - 51.7661 -65.1774 - 47.1778 -60.8160 - - 50.2269 -67.2584 - 51.7661 -65.1774 - - 39.9406 -76.6162 - 45.5903 -59.4463 - - 51.1738 -53.4049 - 45.5903 -59.4463 - - 47.1778 -60.8160 - 51.1738 -53.4049 - - 45.5903 -59.4463 - 47.1778 -60.8160 - - 45.5903 -59.4463 - 22.7478 -64.1231 - - 30.2450 -70.1212 - 45.5903 -59.4463 - - 10.7372 15.5924 - 8.2968 8.8643 - - 17.2975 14.1665 - 10.7372 15.5924 - - 41.1338 -21.5215 - 32.8900 3.5730 - - -9.7612 -19.2980 - 41.1338 -21.5215 - - 17.2975 14.1665 - 8.2968 8.8643 - - 32.8900 3.5730 - 26.1892 21.1723 - - 17.2975 14.1665 - 32.8900 3.5730 - - 26.1892 21.1723 - 17.2975 14.1665 - - 32.8900 3.5730 - 8.2968 8.8643 - - -9.7612 -19.2980 - 32.8900 3.5730 - - 41.5254 -28.2774 - -9.7612 -19.2980 - - 22.7478 -64.1231 - 41.5254 -28.2774 - - 41.5254 -28.2774 - 0.7187 -59.7134 - - 30.2450 -70.1212 - 22.7478 -64.1231 - - 23.1465 -73.7745 - 30.2450 -70.1212 - - 23.1465 -73.7745 - 22.7478 -64.1231 - - 15.5904 -68.1863 - 23.1465 -73.7745 - - 0.7187 -59.7134 - 15.5904 -68.1863 - - 22.7478 -64.1231 - 0.7187 -59.7134 - - 15.5904 -68.1863 - 22.7478 -64.1231 - - 23.1465 -73.7745 - 20.6515 -79.1156 - - 23.7904 -75.5351 - 23.1465 -73.7745 - - 23.7904 -75.5351 - 20.6515 -79.1156 - - 20.0343 -96.8269 - 51.4538 -81.7664 - - 39.9406 -76.6162 - 30.2450 -70.1212 - - 27.2020 -87.1201 - 51.4538 -81.7664 - - 34.2285 -79.1855 - 51.4538 -81.7664 - - 39.9406 -76.6162 - 34.2285 -79.1855 - - 51.4538 -81.7664 - 39.9406 -76.6162 - - 53.7112 -74.9640 - 50.2269 -67.2584 - - 39.9406 -76.6162 - 53.7112 -74.9640 - - 50.2269 -67.2584 - 39.9406 -76.6162 - - 34.2285 -79.1855 - 30.2450 -70.1212 - - 23.7904 -75.5351 - 34.2285 -79.1855 - - 30.2450 -70.1212 - 23.7904 -75.5351 - - 23.7904 -75.5351 - 23.7607 -84.6347 - - 27.3514 -84.8211 - 23.7904 -75.5351 - - 20.0343 -96.8269 - 27.2020 -87.1201 - - 34.2285 -79.1855 - 27.3514 -84.8211 - - 27.2020 -87.1201 - 34.2285 -79.1855 - - 25.3152 -87.5528 - 27.2020 -87.1201 - - 27.2020 -87.1201 - 27.3514 -84.8211 - - 27.3514 -84.8211 - 23.7607 -84.6347 - - 25.3152 -87.5528 - 27.3514 -84.8211 - - 23.7607 -84.6347 - 25.3152 -87.5528 - - -0.5218 -77.3747 - 0.7187 -59.7134 - - 20.0343 -96.8269 - 25.3152 -87.5528 - - 20.6515 -79.1156 - 15.5904 -68.1863 - - 11.7736 -78.6009 - 22.2153 -84.1996 - - 20.6515 -79.1156 - 11.7736 -78.6009 - - 23.7607 -84.6347 - 20.6515 -79.1156 - - 22.2153 -84.1996 - 23.7607 -84.6347 - - 20.6515 -79.1156 - 22.2153 -84.1996 - - -0.5218 -77.3747 - -4.4254 -93.8949 - - -0.5218 -77.3747 - 11.7736 -78.6009 - - 15.5904 -68.1863 - -0.5218 -77.3747 - - 11.7736 -78.6009 - 15.5904 -68.1863 - - 11.7736 -78.6009 - -4.4254 -93.8949 - - 14.4714 -94.1617 - 11.7736 -78.6009 - - 25.3152 -87.5528 - 22.2153 -84.1996 - - 14.4714 -94.1617 - 25.3152 -87.5528 - - 22.2153 -84.1996 - 14.4714 -94.1617 - - -34.3740 -92.9656 - 20.0343 -96.8269 - - 14.4714 -94.1617 - -4.4254 -93.8949 - - 20.0343 -96.8269 - 14.4714 -94.1617 - - -4.4254 -93.8949 - 20.0343 -96.8269 - - -13.6385 -72.6159 - 0.7187 -59.7134 - - -5.1261 21.6594 - 3.2428 27.1616 - - -9.6403 87.6852 - 12.6868 93.8774 - - 14.1310 77.6791 - -9.6403 87.6852 - - -9.3733 75.2980 - 14.1310 77.6791 - - 12.6868 93.8774 - -55.0699 81.3122 - - -9.6403 87.6852 - -21.4461 85.6536 - - -9.3733 75.2980 - -9.6403 87.6852 - - -9.3733 75.2980 - -21.4461 85.6536 - - 12.6868 93.8774 - -34.7821 84.1382 - - -21.4461 85.6536 - 12.6868 93.8774 - - -34.7821 84.1382 - -36.6696 77.1805 - - -21.4461 85.6536 - -34.7821 84.1382 - - -25.2937 82.3486 - -21.4461 85.6536 - - -34.7821 84.1382 - -25.2937 82.3486 - - -9.3733 75.2980 - -25.2937 82.3486 - - -9.3733 75.2980 - -12.1829 70.1839 - - -1.8365 65.6245 - -9.3733 75.2980 - - -13.9469 65.5629 - -1.8365 65.6245 - - -12.1829 70.1839 - -13.9469 65.5629 - - -1.8365 65.6245 - -12.1829 70.1839 - - -12.1829 70.1839 - -25.2937 82.3486 - - -23.2865 61.7965 - -12.1829 70.1839 - - -25.2937 82.3486 - -36.6696 77.1805 - - -23.2865 61.7965 - -25.2937 82.3486 - - -36.6696 77.1805 - -23.2865 61.7965 - - -36.6696 77.1805 - -42.1979 74.5663 - - -40.7930 72.1095 - -36.6696 77.1805 - - -42.1979 74.5663 - -34.7821 84.1382 - - -42.1979 74.5663 - -51.3634 78.1053 - - -51.3634 78.1053 - -34.7821 84.1382 - - -51.6675 78.4493 - -51.3634 78.1053 - - -55.0699 81.3122 - -61.1694 79.0628 - - -51.6675 78.4493 - -34.7821 84.1382 - - -55.0699 81.3122 - -51.6675 78.4493 - - -34.7821 84.1382 - -55.0699 81.3122 - - -40.7930 72.1095 - -42.1979 74.5663 - - -42.1979 74.5663 - -44.4469 69.4911 - - -40.7930 72.1095 - -44.4469 69.4911 - - -44.4469 69.4911 - -40.9129 62.5441 - - -51.3634 78.1053 - -57.5935 67.9368 - - -44.4469 69.4911 - -51.3634 78.1053 - - -57.5935 67.9368 - -44.4469 69.4911 - - -57.5935 67.9368 - -60.8405 63.7947 - - -40.9129 62.5441 - -57.5935 67.9368 - - -57.5935 67.9368 - -51.6675 78.4493 - - -51.6675 78.4493 - -61.1694 79.0628 - - -40.7930 72.1095 - -40.9129 62.5441 - - -23.2865 61.7965 - -40.7930 72.1095 - - -41.7407 6.8704 - -21.0639 4.5720 - - -10.5718 48.9948 - -4.7170 57.8270 - - -4.7170 57.8270 - -13.9469 65.5629 - - -23.2865 61.7965 - -40.9129 62.5441 - - -29.6696 40.5710 - -23.2865 61.7965 - - -23.2865 61.7965 - -38.1917 51.2306 - - -13.9469 65.5629 - -23.2865 61.7965 - - -10.5718 48.9948 - -13.9469 65.5629 - - -23.2865 61.7965 - -10.5718 48.9948 - - -29.6696 40.5710 - -38.1917 51.2306 - - -40.8953 47.3917 - -38.1917 51.2306 - - -10.2652 22.5742 - 3.2428 27.1616 - - 3.2428 27.1616 - -10.5718 48.9948 - - -21.0639 4.5720 - -4.6413 21.2599 - - -10.2652 22.5742 - -4.6413 21.2599 - - -5.1261 21.6594 - -10.2652 22.5742 - - -4.6413 21.2599 - -5.1261 21.6594 - - -10.5718 48.9948 - -29.6696 40.5710 - - -10.2652 22.5742 - -10.5718 48.9948 - - -29.6696 40.5710 - -40.8953 47.3917 - - -10.2652 22.5742 - -29.6696 40.5710 - - -21.0639 4.5720 - -10.2652 22.5742 - - -29.6696 40.5710 - -21.0639 4.5720 - - -41.7407 6.8704 - -29.6696 40.5710 - - -29.6696 40.5710 - -55.2680 32.5656 - - -40.9129 62.5441 - -60.8405 63.7947 - - -44.9889 49.2534 - -38.1917 51.2306 - - -40.9129 62.5441 - -44.9889 49.2534 - - -38.1917 51.2306 - -40.9129 62.5441 - - -44.9889 49.2534 - -60.8405 63.7947 - - -55.4902 47.7345 - -44.9889 49.2534 - - -55.4902 47.7345 - -60.5855 46.6076 - - -55.2680 32.5656 - -55.4902 47.7345 - - -55.4902 47.7345 - -60.8405 63.7947 - - -55.2680 32.5656 - -60.5855 46.6076 - - -40.8953 47.3917 - -44.9889 49.2534 - - -55.2680 32.5656 - -40.8953 47.3917 - - -44.9889 49.2534 - -55.2680 32.5656 - - -55.2680 32.5656 - -59.5482 23.3864 - - -41.7407 6.8704 - -55.2680 32.5656 - - -59.5482 23.3864 - -41.7407 6.8704 - - -59.5482 23.3864 - -64.2008 23.7217 - - -61.7285 11.9734 - -59.5482 23.3864 - - -68.3857 45.0334 - -63.6201 37.2391 - - -61.7364 47.0918 - -55.4902 47.7345 - - -55.4902 47.7345 - -64.8119 56.0986 - - -64.8119 56.0986 - -60.8405 63.7947 - - -67.2889 58.8006 - -64.8119 56.0986 - - -61.1694 79.0628 - -67.0904 69.6398 - - -57.5935 67.9368 - -61.1694 79.0628 - - -67.0904 69.6398 - -57.5935 67.9368 - - -67.2889 58.8006 - -60.8405 63.7947 - - -67.0904 69.6398 - -68.9813 68.8923 - - -60.8405 63.7947 - -67.0904 69.6398 - - -68.9813 68.8923 - -60.8405 63.7947 - - -61.7364 47.0918 - -64.8119 56.0986 - - -65.7744 53.4413 - -67.2889 58.8006 - - -63.6201 37.2391 - -60.5855 46.6076 - - -61.7364 47.0918 - -63.6201 37.2391 - - -60.5855 46.6076 - -61.7364 47.0918 - - -68.3857 45.0334 - -61.7364 47.0918 - - -61.7364 47.0918 - -65.3601 50.7497 - - -68.3857 45.0334 - -65.3601 50.7497 - - -65.3601 50.7497 - -64.8119 56.0986 - - -65.7744 53.4413 - -65.3601 50.7497 - - -64.8119 56.0986 - -65.7744 53.4413 - - -65.7744 53.4413 - -70.6903 58.8917 - - -68.3857 45.0334 - -65.7744 53.4413 - - -61.1694 79.0628 - -77.1241 62.5579 - - -74.9203 64.7075 - -77.1241 62.5579 - - -70.6903 58.8917 - -74.9203 64.7075 - - -61.1694 79.0628 - -74.9203 64.7075 - - -68.9813 68.8923 - -61.1694 79.0628 - - -74.9203 64.7075 - -68.9813 68.8923 - - -77.1241 62.5579 - -86.3974 48.3194 - - -77.1241 62.5579 - -76.9256 59.2413 - - -70.6903 58.8917 - -77.1241 62.5579 - - -70.6903 58.8917 - -76.9256 59.2413 - - -68.3857 45.0334 - -70.6903 58.8917 - - -76.9256 59.2413 - -86.3974 48.3194 - - -68.3857 45.0334 - -76.9256 59.2413 - - -67.2889 58.8006 - -68.9813 68.8923 - - -70.6903 58.8917 - -67.2889 58.8006 - - -68.9813 68.8923 - -70.6903 58.8917 - - -68.3857 45.0334 - -86.3974 48.3194 - - -88.2283 44.3548 - -68.3857 45.0334 - - -86.3974 48.3194 - -88.2283 44.3548 - - -74.1481 32.7178 - -88.2283 44.3548 - - -74.5494 -2.2420 - -71.3914 -1.9685 - - -55.2680 32.5656 - -63.6201 37.2391 - - -64.2008 23.7217 - -55.2680 32.5656 - - -63.6201 37.2391 - -70.5121 32.0760 - - -64.2008 23.7217 - -63.6201 37.2391 - - -61.7285 11.9734 - -64.2008 23.7217 - - -64.2008 23.7217 - -70.5121 32.0760 - - -68.5665 17.5779 - -64.2008 23.7217 - - -68.5665 17.5779 - -70.5121 32.0760 - - -74.1481 32.7178 - -68.5665 17.5779 - - -68.3857 45.0334 - -74.1481 32.7178 - - -70.5121 32.0760 - -68.3857 45.0334 - - -74.1481 32.7178 - -70.5121 32.0760 - - -61.7285 11.9734 - -68.5665 17.5779 - - -49.3894 -13.7710 - -62.2197 6.8071 - - -41.7407 6.8704 - -61.7285 11.9734 - - -62.2197 6.8071 - -41.7407 6.8704 - - -61.7285 11.9734 - -65.8203 8.9686 - - -62.2197 6.8071 - -61.7285 11.9734 - - -62.2197 6.8071 - -65.8203 8.9686 - - -71.3914 -1.9685 - -62.2197 6.8071 - - -65.8203 8.9686 - -71.3914 -1.9685 - - -68.5665 17.5779 - -80.6679 19.1888 - - -65.8203 8.9686 - -68.5665 17.5779 - - -80.6679 19.1888 - -74.1481 32.7178 - - -88.2283 44.3548 - -97.9983 19.6939 - - -89.7349 34.5346 - -88.2283 44.3548 - - -80.6679 19.1888 - -86.2087 27.5232 - - -91.2978 23.2968 - -86.2087 27.5232 - - -86.2087 27.5232 - -74.1481 32.7178 - - -89.7349 34.5346 - -86.2087 27.5232 - - -74.1481 32.7178 - -89.7349 34.5346 - - -80.6679 19.1888 - -91.2978 23.2968 - - -89.7349 34.5346 - -97.9983 19.6939 - - -91.2978 23.2968 - -89.7349 34.5346 - - -97.9983 19.6939 - -91.2978 23.2968 - - -65.8203 8.9686 - -80.6679 19.1888 - - -74.5494 -2.2420 - -65.8203 8.9686 - - -74.5494 -2.2420 - -76.1795 -3.7050 - - -73.3658 -6.5519 - -74.5494 -2.2420 - - -80.6679 19.1888 - -97.9983 19.6939 - - -80.6679 19.1888 - -78.1823 -3.8665 - - -74.5494 -2.2420 - -80.6679 19.1888 - - -78.1823 -3.8665 - -74.5494 -2.2420 - - -21.0639 4.5720 - -37.0169 -14.4937 - - 8.2968 8.8643 - -21.0639 4.5720 - - -9.7612 -19.2980 - 8.2968 8.8643 - - -49.3894 -13.7710 - -71.3914 -1.9685 - - -21.0639 4.5720 - -23.3463 -16.0645 - - -9.7612 -19.2980 - -21.0639 4.5720 - - -37.0169 -14.4937 - -41.7407 6.8704 - - -41.7407 6.8704 - -49.3894 -13.7710 - - -9.7612 -19.2980 - -23.3463 -16.0645 - - -23.3463 -16.0645 - -37.0169 -14.4937 - - -27.4921 -18.2391 - -23.3463 -16.0645 - - -40.9966 -41.4935 - -28.5567 -18.5395 - - -27.4921 -18.2391 - -37.0169 -14.4937 - - -28.5567 -18.5395 - -27.4921 -18.2391 - - -37.0169 -14.4937 - -28.5567 -18.5395 - - -9.7612 -19.2980 - -27.4921 -18.2391 - - -20.0352 -58.4274 - 0.7187 -59.7134 - - -9.7612 -19.2980 - -20.0352 -58.4274 - - 0.7187 -59.7134 - -9.7612 -19.2980 - - -27.4921 -18.2391 - -40.9966 -41.4935 - - -20.0352 -58.4274 - -27.4921 -18.2391 - - -20.0352 -58.4274 - -40.9966 -41.4935 - - -44.2990 -54.3366 - -20.0352 -58.4274 - - -40.9966 -41.4935 - -44.2990 -54.3366 - - -40.9966 -41.4935 - -37.0169 -14.4937 - - -44.7484 -54.5276 - -44.2990 -54.3366 - - -49.3894 -13.7710 - -52.4090 -26.6174 - - -37.0169 -14.4937 - -49.3894 -13.7710 - - -52.4090 -26.6174 - -37.0169 -14.4937 - - -40.9966 -41.4935 - -52.4090 -26.6174 - - -46.4391 -44.6944 - -40.9966 -41.4935 - - -50.8168 -51.2279 - -46.4391 -44.6944 - - -46.4391 -44.6944 - -52.4090 -26.6174 - - -48.6930 -52.7387 - -50.8168 -51.2279 - - -50.1036 -55.8527 - -44.7484 -54.5276 - - -48.6930 -52.7387 - -50.1036 -55.8527 - - -44.7484 -54.5276 - -48.6930 -52.7387 - - -44.2990 -54.3366 - -46.4391 -44.6944 - - -48.6930 -52.7387 - -44.2990 -54.3366 - - -46.4391 -44.6944 - -48.6930 -52.7387 - - -58.5302 -56.8462 - -51.4737 -62.2752 - - -51.4737 -62.2752 - -50.1036 -55.8527 - - -50.1036 -55.8527 - -50.8168 -51.2279 - - -58.5302 -56.8462 - -50.1036 -55.8527 - - -31.6651 -64.7984 - -44.2990 -54.3366 - - -44.2990 -54.3366 - -35.6817 -67.5864 - - -17.7481 -88.7762 - -0.5218 -77.3747 - - -20.0352 -58.4274 - -31.6651 -64.7984 - - -13.6385 -72.6159 - -20.0352 -58.4274 - - -38.8945 -81.3833 - -23.5470 -81.1948 - - -13.6385 -72.6159 - -31.6651 -64.7984 - - -23.5470 -81.1948 - -13.6385 -72.6159 - - -23.5470 -81.1948 - -31.6651 -64.7984 - - -35.6817 -67.5864 - -23.5470 -81.1948 - - -31.6651 -64.7984 - -35.6817 -67.5864 - - -44.7484 -54.5276 - -51.4737 -62.2752 - - -35.6817 -67.5864 - -44.7484 -54.5276 - - -17.7481 -88.7762 - -19.8825 -82.5277 - - -19.8825 -82.5277 - -23.5470 -81.1948 - - -4.4254 -93.8949 - -17.7481 -88.7762 - - -34.3740 -92.9656 - -4.4254 -93.8949 - - -17.7481 -88.7762 - -23.5470 -81.1948 - - -34.3740 -92.9656 - -17.7481 -88.7762 - - -0.5218 -77.3747 - -13.6385 -72.6159 - - -19.8825 -82.5277 - -0.5218 -77.3747 - - -13.6385 -72.6159 - -19.8825 -82.5277 - - -51.9856 -85.1058 - -34.3740 -92.9656 - - -34.3740 -92.9656 - -23.5470 -81.1948 - - -36.9727 -90.0054 - -34.3740 -92.9656 - - -23.5470 -81.1948 - -36.9727 -90.0054 - - -38.8945 -81.3833 - -35.6817 -67.5864 - - -58.3626 -60.8199 - -54.4219 -68.2418 - - -51.4737 -62.2752 - -58.3626 -60.8199 - - -51.4737 -62.2752 - -54.4219 -68.2418 - - -46.1820 -75.5197 - -35.6817 -67.5864 - - -51.4737 -62.2752 - -46.1820 -75.5197 - - -35.6817 -67.5864 - -51.4737 -62.2752 - - -46.1820 -75.5197 - -54.4219 -68.2418 - - -54.9403 -74.0878 - -46.1820 -75.5197 - - -54.9403 -74.0878 - -54.4219 -68.2418 - - -61.9693 -70.6342 - -54.9403 -74.0878 - - -38.8945 -81.3833 - -46.1820 -75.5197 - - -46.1820 -75.5197 - -51.9856 -85.1058 - - -36.9727 -90.0054 - -38.8945 -81.3833 - - -51.9856 -85.1058 - -36.9727 -90.0054 - - -38.8945 -81.3833 - -51.9856 -85.1058 - - -58.8147 -80.3628 - -51.9856 -85.1058 - - -51.9856 -85.1058 - -54.9403 -74.0878 - - -57.5359 -79.4269 - -51.9856 -85.1058 - - -54.9403 -74.0878 - -57.5359 -79.4269 - - -58.5302 -56.8462 - -50.8168 -51.2279 - - -50.8168 -51.2279 - -69.1893 -36.9253 - - -65.7963 -19.9035 - -71.3914 -1.9685 - - -71.3914 -1.9685 - -73.3658 -6.5519 - - -58.5302 -56.8462 - -69.1893 -36.9253 - - -67.2754 -33.2136 - -52.4090 -26.6174 - - -65.7963 -19.9035 - -73.3658 -6.5519 - - -70.2754 -25.2940 - -65.7963 -19.9035 - - -65.7963 -19.9035 - -71.0703 -20.5920 - - -49.3894 -13.7710 - -65.7963 -19.9035 - - -63.6961 -23.7343 - -49.3894 -13.7710 - - -65.7963 -19.9035 - -63.6961 -23.7343 - - -70.2754 -25.2940 - -71.0703 -20.5920 - - -71.0703 -20.5920 - -73.3658 -6.5519 - - -73.0777 -22.6034 - -71.0703 -20.5920 - - -63.6961 -23.7343 - -70.2754 -25.2940 - - -46.4391 -44.6944 - -67.2754 -33.2136 - - -69.1893 -36.9253 - -46.4391 -44.6944 - - -69.1893 -36.9253 - -67.2754 -33.2136 - - -67.2754 -33.2136 - -67.4807 -29.5222 - - -52.4090 -26.6174 - -63.6961 -23.7343 - - -67.4807 -29.5222 - -52.4090 -26.6174 - - -63.6961 -23.7343 - -67.4807 -29.5222 - - -89.6947 -32.0221 - -70.2754 -25.2940 - - -70.2754 -25.2940 - -73.0777 -22.6034 - - -67.4807 -29.5222 - -70.2754 -25.2940 - - -69.1893 -36.9253 - -67.4807 -29.5222 - - -70.2754 -25.2940 - -69.1893 -36.9253 - - -73.3895 -43.0285 - -69.1893 -36.9253 - - -69.1893 -36.9253 - -89.6947 -32.0221 - - -97.9983 19.6939 - -87.6795 -21.6424 - - -78.1823 -3.8665 - -97.9983 19.6939 - - -73.0777 -22.6034 - -73.3658 -6.5519 - - -87.6795 -21.6424 - -73.3658 -6.5519 - - -78.1823 -3.8665 - -87.6795 -21.6424 - - -73.3658 -6.5519 - -76.1795 -3.7050 - - -78.1823 -3.8665 - -73.3658 -6.5519 - - -76.1795 -3.7050 - -78.1823 -3.8665 - - -73.0777 -22.6034 - -87.6795 -21.6424 - - -89.6947 -32.0221 - -73.0777 -22.6034 - - -87.6795 -21.6424 - -91.4848 -36.5948 - - -89.6947 -32.0221 - -87.6795 -21.6424 - - -73.3895 -43.0285 - -89.6947 -32.0221 - - -91.3833 -38.9451 - -84.2820 -53.7921 - - -91.3833 -38.9451 - -82.9282 -50.9933 - - -73.3895 -43.0285 - -91.3833 -38.9451 - - -82.9282 -50.9933 - -73.3895 -43.0285 - - -97.9983 19.6939 - -91.3833 -38.9451 - - -91.4848 -36.5948 - -97.9983 19.6939 - - -91.3833 -38.9451 - -89.6947 -32.0221 - - -91.4848 -36.5948 - -91.3833 -38.9451 - - -89.6947 -32.0221 - -91.4848 -36.5948 - - -58.5302 -56.8462 - -73.3895 -43.0285 - - -68.2428 -72.8175 - -66.7380 -74.0968 - - -58.8147 -80.3628 - -57.5359 -79.4269 - - -57.5359 -79.4269 - -61.9693 -70.6342 - - -65.2722 -57.5238 - -73.3895 -43.0285 - - -61.4121 -66.4634 - -58.3626 -60.8199 - - -58.5302 -56.8462 - -65.2722 -57.5238 - - -58.3626 -60.8199 - -58.5302 -56.8462 - - -65.2722 -57.5238 - -58.3626 -60.8199 - - -65.2722 -57.5238 - -68.1421 -57.2227 - - -61.4121 -66.4634 - -65.2722 -57.5238 - - -64.4716 -66.7477 - -61.4121 -66.4634 - - -65.2722 -57.5238 - -64.4716 -66.7477 - - -61.9693 -70.6342 - -64.4716 -66.7477 - - -66.7380 -74.0968 - -58.8147 -80.3628 - - -58.8147 -80.3628 - -61.9693 -70.6342 - - -54.4219 -68.2418 - -61.4121 -66.4634 - - -61.9693 -70.6342 - -54.4219 -68.2418 - - -61.4121 -66.4634 - -61.9693 -70.6342 - - -61.9693 -70.6342 - -63.5200 -70.8299 - - -66.7380 -74.0968 - -61.9693 -70.6342 - - -63.5200 -70.8299 - -66.7380 -74.0968 - - -68.2428 -72.8175 - -63.5200 -70.8299 - - -63.5200 -70.8299 - -64.4716 -66.7477 - - -68.2428 -72.8175 - -64.4716 -66.7477 - - -72.2029 -69.1806 - -68.2428 -72.8175 - - -73.3895 -43.0285 - -81.6376 -54.3964 - - -68.1421 -57.2227 - -73.3895 -43.0285 - - -84.2820 -53.7921 - -72.2029 -69.1806 - - -68.1421 -57.2227 - -81.6376 -54.3964 - - -75.9950 -64.0982 - -68.1421 -57.2227 - - -75.9950 -64.0982 - -81.6376 -54.3964 - - -84.2820 -53.7921 - -75.9950 -64.0982 - - -84.2820 -53.7921 - -81.6376 -54.3964 - - -82.9282 -50.9933 - -84.2820 -53.7921 - - -81.6376 -54.3964 - -82.9282 -50.9933 - - -72.2029 -69.1806 - -64.4716 -66.7477 - - -75.9950 -64.0982 - -72.2029 -69.1806 - - -73.9743 -66.1408 - -75.9950 -64.0982 - - -72.2029 -69.1806 - -73.9743 -66.1408 - - -73.9743 -66.1408 - -64.4716 -66.7477 - - -68.1421 -57.2227 - -73.9743 -66.1408 - - -64.4716 -66.7477 - -68.1421 -57.2227 - diff --git a/demo/heatmap_4D.dem b/demo/heatmap_4D.dem new file mode 100644 index 000000000..82aa51e1b --- /dev/null +++ b/demo/heatmap_4D.dem @@ -0,0 +1,33 @@ +# +# Demonstrate use of 4th data column to color a 3D surface. +# Also demonstrate use of the pseudodata special file '++'. +# This plot is nice for exploring the effect of the 'l' and 'L' hotkeys. +# +set view 49, 28, 1, 1.48 +set urange [ 5 : 35 ] noreverse nowriteback +set vrange [ 5 : 35 ] noreverse nowriteback +# set zrange [ 1.0 : 3.0 ] noreverse nowriteback +set ticslevel 0 +set format cb "%4.1f" +set colorbox user size .03, .6 noborder +set cbtics scale 0 + +set samples 50, 50 +set isosamples 50, 50 + +set title "4D data (3D Heat Map)"\ + ."\nIndependent value color-mapped onto 3D surface" offset 0,1 +set xlabel "x" offset 3, 0, 0 +set ylabel "y" offset -5, 0, 0 +set label "z" at graph 0, 0, 1.1 +set pm3d implicit at s + +Z(x,y) = 100. * (sinc(x,y) + 1.5) +sinc(x,y) = sin(sqrt((x-20.)**2+(y-20.)**2))/sqrt((x-20.)**2+(y-20.)**2) +color(x,y) = 10. * (1.1 + sin((x-20.)/5.)*cos((y-20.)/10.)) + +splot '++' using 1:2:(Z($1,$2)):(color($1,$2)) with pm3d title "4 data columns x/y/z/color" + +pause -1 "Hit return to continue" + +reset diff --git a/demo/heatmap_points.dem b/demo/heatmap_points.dem index 59b60d9a2..43b0639e3 100644 --- a/demo/heatmap_points.dem +++ b/demo/heatmap_points.dem @@ -29,7 +29,7 @@ set xtics 10 set ytics 10 set xrange noextend set yrange noextend -set border 10 +set border 31 set label 1 "Heat map of point density " font ":Bold" set label 2 "set dgrid 15,15 gauss kdensity 3, 3" diff --git a/demo/heatmaps.dem b/demo/heatmaps.dem index 1994970e2..9bd59a7a2 100644 --- a/demo/heatmaps.dem +++ b/demo/heatmaps.dem @@ -138,40 +138,6 @@ unset multiplot pause -1 "Hit return to continue" -reset - -# -# Demonstrate use of 4th data column to color a 3D surface. -# Also demonstrate use of the pseudodata special file '++'. -# This plot is nice for exploring the effect of the 'l' and 'L' hotkeys. -# -set view 49, 28, 1, 1.48 -set urange [ 5 : 35 ] noreverse nowriteback -set vrange [ 5 : 35 ] noreverse nowriteback -# set zrange [ 1.0 : 3.0 ] noreverse nowriteback -set ticslevel 0 -set format cb "%4.1f" -set colorbox user size .03, .6 noborder -set cbtics scale 0 - -set samples 50, 50 -set isosamples 50, 50 - -set title "4D data (3D Heat Map)"\ - ."\nIndependent value color-mapped onto 3D surface" offset 0,1 -set xlabel "x" offset 3, 0, 0 -set ylabel "y" offset -5, 0, 0 -set zlabel "z" offset 2, 0, 0 -set pm3d implicit at s - -Z(x,y) = 100. * (sinc(x,y) + 1.5) -sinc(x,y) = sin(sqrt((x-20.)**2+(y-20.)**2))/sqrt((x-20.)**2+(y-20.)**2) -color(x,y) = 10. * (1.1 + sin((x-20.)/5.)*cos((y-20.)/10.)) - -splot '++' using 1:2:(Z($1,$2)):(color($1,$2)) with pm3d title "4 data columns x/y/z/color" - -pause -1 "Hit return to continue" - # Release datablocks used in this demo undefine $map1 $map2 $map3 reset diff --git a/demo/histerror.dem b/demo/histerror.dem index 17bbb5228..83ef9527f 100644 --- a/demo/histerror.dem +++ b/demo/histerror.dem @@ -19,3 +19,5 @@ plot 'histerror.dat' using 2:3 fs solid 0.5 lw 2 ti 'A', \ pause -1 " to continue" +unset datafile +reset diff --git a/demo/html/Makefile b/demo/html/Makefile index 430fe6432..2ed240d75 100644 --- a/demo/html/Makefile +++ b/demo/html/Makefile @@ -12,7 +12,7 @@ GNUPLOT_LIB = .. # Several of the demos need manual intervention: # fontfile vector epslatex # -html: airfoil.html animation.html approximate.html armillary.html array.html arrowstyle.html barchart_art.html binary.html bins.html bivariat.html boxplot.html boxclusters.html candlesticks.html circles.html cities.html columnhead.html contours.html convex_hull.html custom_contours.html controls.html custom_key.html dashtypes.html datastrings.html dgrid3d.html discrete.html electron.html ellipse.html enhanced_utf8.html epslatex.html errorbars.html fenceplot.html fillbetween.html fillcrvs.html fillstyle.html finance.html fit.html function_block.html hidden.html hidden2.html hidden_compare.html histograms.html histograms2.html histerror.html histogram_colors.html gantt.html image.html image2.html imageNaN.html index.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html margins.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html named_palettes.html nokey.html nonlinear1.html nonlinear2.html nonlinear3.html parallel.html param.html piecewise.html pixmap.html pm3dcolors.html pm3d.html pm3dgamma.html pm3d_clip.html pm3d_lighting.html pointsize.html polar.html poldat.html polar_quadrants.html polygons.html prob2.html prob.html projection.html rainbow.html random.html rectangle.html rgba_lines.html rgbalpha.html rgb_variable.html rotate_labels.html rugplot.html running_avg.html sampling.html scatter.html simple.html singulr.html smooth.html smooth_path.html solar_path.html spiderplot.html spline.html smooth_splines.html steps.html stringvar.html surface1.html surface2.html azimuth.html transparent.html transparent_solids.html textbox.html tics.html timedat.html ttics.html using.html varcolor.html vector.html violinplot.html walls.html world.html world2.html heatmaps.html heatmap_points.html stats.html unicode.html zerror.html boxes3d.html voxel.html vplot.html isosurface.html +html: airfoil.html animation.html approximate.html armillary.html array.html arrowstyle.html barchart_art.html binary.html bins.html bivariat.html boxplot.html boxclusters.html candlesticks.html chi_shapes.html circles.html cities.html columnhead.html contours.html convex_hull.html custom_contours.html controls.html custom_key.html dashtypes.html datastrings.html dgrid3d.html discrete.html electron.html ellipse.html enhanced_utf8.html epslatex.html errorbars.html fenceplot.html fillbetween.html fillcrvs.html fillstyle.html finance.html fit.html function_block.html hidden.html hidden2.html hidden_compare.html histograms.html histograms2.html histerror.html histogram_colors.html gantt.html image.html image2.html imageNaN.html index.html iris.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html margins.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html named_palettes.html nokey.html nonlinear1.html nonlinear2.html nonlinear3.html parallel.html param.html piecewise.html pixmap.html pm3dcolors.html pm3d.html pm3dgamma.html pm3d_clip.html pm3d_lighting.html pointsize.html polar.html polargrid.html poldat.html polar_quadrants.html polygons.html prob2.html prob.html projection.html rainbow.html random.html rectangle.html rgba_lines.html argb_hexdata.html rgb_variable.html rotate_labels.html rugplot.html running_avg.html sampling.html scatter.html simple.html singulr.html sectors.html sharpen.html spotlight.html smooth.html smooth_path.html solar_path.html spiderplot.html spline.html smooth_splines.html steps.html stringvar.html surface1.html surface2.html azimuth.html transparent.html transparent_solids.html textbox.html tics.html timedat.html ttics.html using.html varcolor.html vector.html violinplot.html walls.html world.html heatmaps.html heatmap_4D.html heatmap_points.html stats.html unicode.html viridis.html windrose.html zerror.html boxes3d.html voxel.html vplot.html watchpoints.html isosurface.html index.html: index.save cp index.save index.html @@ -20,6 +20,7 @@ index.html: index.save animation.html: animation.html.save cp animation.html.save animation.html + ../../src/gnuplot animation.gp special_functions: index.html showcase_plots complex_trig.html cerf.html elliptic.html expint.html ibeta.html igamma.html BesselK.html complex_airy.html Dawson.html Fresnel.html lambert.html lnGamma.html synchrotron.html uigamma.html zeta.html cp index.special_functions index.html @@ -41,8 +42,8 @@ image.html: $(GNUPLOT_LIB)/image.dem ./webify.pl image2.html: $(GNUPLOT_LIB)/image2.dem ./webify.pl export DEMOTERM="pngcairo font 'arial,8' size 540,384"; ./webify.pl image2 -rgbalpha.html: $(GNUPLOT_LIB)/rgbalpha.dem ./webify.pl - export DEMOTERM="pngcairo font 'arial,8' size 540,360"; ./webify.pl rgbalpha +argb_hexdata.html: $(GNUPLOT_LIB)/argb_hexdata.dem ./webify.pl + export DEMOTERM="pngcairo font 'arial,8' size 540,360"; ./webify.pl argb_hexdata rgb_variable.html: $(GNUPLOT_LIB)/rgb_variable.dem ./webify.pl export DEMOTERM="pngcairo font 'arial,8' size 540,360"; ./webify.pl rgb_variable diff --git a/demo/html/Makefile.canvas b/demo/html/Makefile.canvas index b3fa19526..c8ca97b4a 100644 --- a/demo/html/Makefile.canvas +++ b/demo/html/Makefile.canvas @@ -9,9 +9,9 @@ GNUPLOT_LIB = .. # # Auto-generation of html demo set. # -html_3d: binary.html bivariat.html contours.html custom_contours.html datastrings.html discrete.html errorbars.html fenceplot.html hidden.html hidden2.html hidden_compare.html margins.html pixmap.html pm3dcolors.html pm3d.html pm3d_clip.html pm3d_lighting.html pointsize.html polygons.html random.html rgb_variable.html sampling.html scatter.html singulr.html surface1.html surface2.html azimuth.html projection.html transparent_solids.html vector.html walls.html world.html world2.html zerror.html boxes3d.html vplot.html voxel.html isosurface.html +html_3d: binary.html bivariat.html contours.html custom_contours.html datastrings.html discrete.html errorbars.html fenceplot.html hidden.html hidden2.html hidden_compare.html margins.html pixmap.html pm3dcolors.html pm3d.html pm3d_clip.html pm3d_lighting.html pointsize.html polygons.html random.html rgb_variable.html sampling.html scatter.html singulr.html surface1.html surface2.html azimuth.html projection.html transparent_solids.html vector.html walls.html world.html zerror.html boxes3d.html vplot.html voxel.html isosurface.html -html_2d: airfoil.html approximate.html array.html barchart_art.html bins.html boxplot.html boxclusters.html candlesticks.html canvas_utf8.html circles.html cities.html columnhead.html controls.html convex_hull.html custom_key.html dashtypes.html electron.html enhanced_utf8.html fillbetween.html fillcrvs.html fillstyle.html finance.html histograms.html histograms2.html histerror.html histogram_colors.html hypertext.html hypertext_surface.html gantt.html imageNaN.html index.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html nonlinear1.html nonlinear2.html nonlinear3.html named_palettes.html nokey.html param.html piecewise.html polar.html poldat.html polar_quadrants.html prob2.html prob.html rainbow.html ellipse.html rectangle.html rgba_lines.html rgbalpha.html rotate_labels.html rugplot.html running_avg.html simple.html smooth.html smooth_path.html solar_path.html smooth_splines.html spiderplot.html spline.html steps.html transparent.html timedat.html ttics.html using.html varcolor.html world.html heatmaps.html heatmap_points.html stats.html violinplot.html +html_2d: airfoil.html approximate.html array.html barchart_art.html bins.html boxplot.html boxclusters.html candlesticks.html canvas_utf8.html chi_shapes.html circles.html cities.html columnhead.html controls.html convex_hull.html custom_key.html dashtypes.html electron.html enhanced_utf8.html fillbetween.html fillcrvs.html fillstyle.html finance.html histograms.html histograms2.html histerror.html histogram_colors.html hypertext.html hypertext_surface.html gantt.html imageNaN.html index.html iris.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html nonlinear1.html nonlinear2.html nonlinear3.html named_palettes.html nokey.html param.html piecewise.html polar.html polargrid.html poldat.html polar_quadrants.html prob2.html prob.html rainbow.html ellipse.html rectangle.html rgba_lines.html argb_hexdata.html rotate_labels.html rugplot.html running_avg.html simple.html sectors.html sharpen.html smooth.html smooth_path.html solar_path.html smooth_splines.html spiderplot.html spline.html steps.html transparent.html timedat.html ttics.html using.html varcolor.html world.html heatmaps.html heatmap_4D.html heatmap_points.html stats.html violinplot.html windrose.html html: html_2d html_3d diff --git a/demo/html/Makefile.svg b/demo/html/Makefile.svg index 9672b6547..a549dd639 100644 --- a/demo/html/Makefile.svg +++ b/demo/html/Makefile.svg @@ -9,7 +9,7 @@ GNUPLOT_LIB = .. # # Auto-generation of the svg demo set. # -html: airfoil.html approximate.html armillary.html array.html barchart_art.html binary.html bins.html bivariat.html boxplot.html boxclusters.html candlesticks.html cerf.html circles.html cities.html columnhead.html contours.html custom_contours.html controls.html convex_hull.html custom_key.html dashtypes.html datastrings.html discrete.html electron.html enhanced_utf8.html errorbars.html fenceplot.html fillbetween.html fillcrvs.html fillstyle.html finance.html hidden.html hidden2.html hidden_compare.html histograms.html histograms2.html histerror.html histogram_colors.html hypertext.html hypertext_surface.html gantt.html imageNaN.html index.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html margins.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html nonlinear1.html nonlinear2.html nonlinear3.html named_palettes.html nokey.html parallel.html param.html piecewise.html pixmap.html pm3dcolors.html pm3d.html pm3d_clip.html pm3d_lighting.html pointsize.html polar.html poldat.html polar_quadrants.html polygons.html prob2.html prob.html rainbow.html random.html rectangle.html rgba_lines.html rgbalpha.html rgb_variable.html rotate_labels.html rugplot.html running_avg.html sampling.html scatter.html simple.html singulr.html smooth.html smooth_path.html smooth_splines.html spiderplot.html spline.html solar_path.html steps.html stringvar.html surface1.html surface2.html azimuth.html projection.html textbox.html transparent.html transparent_solids.html tics.html timedat.html ttics.html using.html varcolor.html vector.html violinplot.html walls.html world.html world2.html heatmaps.html heatmap_points.html ellipse.html stats.html unicode.html zerror.html boxes3d.html +html: airfoil.html approximate.html armillary.html array.html barchart_art.html binary.html bins.html bivariat.html boxplot.html boxclusters.html candlesticks.html cerf.html chi_shapes.html circles.html cities.html columnhead.html contours.html custom_contours.html controls.html convex_hull.html custom_key.html dashtypes.html datastrings.html discrete.html electron.html enhanced_utf8.html errorbars.html fenceplot.html fillbetween.html fillcrvs.html fillstyle.html finance.html hidden.html hidden2.html hidden_compare.html histograms.html histograms2.html histerror.html histogram_colors.html hypertext.html hypertext_surface.html gantt.html imageNaN.html index.html iris.html iterate.html jitter.html keyentry.html label_stacked_histograms.html layout.html lines_arrows.html linkedaxes.html map_projection.html margins.html mask_pm3d.html monotonic_spline.html multiaxis.html multiplt.html nonlinear1.html nonlinear2.html nonlinear3.html named_palettes.html nokey.html parallel.html param.html piecewise.html pixmap.html pm3dcolors.html pm3d.html pm3d_clip.html pm3d_lighting.html pointsize.html polar.html polargrid.html poldat.html polar_quadrants.html polygons.html prob2.html prob.html rainbow.html random.html rectangle.html rgba_lines.html argb_hexdata.html rgb_variable.html rotate_labels.html rugplot.html running_avg.html sampling.html scatter.html simple.html singulr.html sectors.html sharpen.html smooth.html smooth_path.html smooth_splines.html spiderplot.html spline.html solar_path.html steps.html stringvar.html surface1.html surface2.html azimuth.html projection.html textbox.html transparent.html transparent_solids.html tics.html timedat.html ttics.html using.html varcolor.html vector.html violinplot.html walls.html world.html heatmaps.html heatmap_4D.html heatmap_points.html ellipse.html stats.html unicode.html watchpoints.html windrose.html zerror.html boxes3d.html index.html: index.svg cp index.svg index.html diff --git a/demo/html/animation.html.save b/demo/html/animation.html.save index 48991832c..c0c767f91 100644 --- a/demo/html/animation.html.save +++ b/demo/html/animation.html.save @@ -7,8 +7,8 @@ Back to demo index

gnuplot demo script: animation.dem

-generated by animation.gp on Mon Dec 7 11:31:05 2020 -
gnuplot version gnuplot 5.5 +generated by animation.gp on Tue Feb 7 11:31:05 2023 +
gnuplot version gnuplot 6.0
diff --git a/demo/html/index.6new b/demo/html/index.6new new file mode 100644 index 000000000..b72f7c159 --- /dev/null +++ b/demo/html/index.6new @@ -0,0 +1,315 @@ +Demos for gnuplot version 6.0 + + + + +

Demos for gnuplot version 6.0 (pngcairo terminal)
+ See also the demo output for the + SVG and + canvas terminals. +

+

٭ new in version 6

+ +
+ + + + + + + + + + +
+

Basic 2D plot styles

+ + +

Probability and Statistics

+ + +

Curve fitting

+ + +

Colors

+ + +

Line and Fill Styles

+ + +
+

3D plots and surfaces

+ + +

Volume plots

+ + +

Animation

+ + +

Watchpoints

+ + +

Hulls and Masks

+ + +

Coordinate and
axis transforms

+ + +

Binary and Image data

+ + +
+

Heat Maps

+ + +

Histograms

+ + +

Sample Applications

+ + +

Text options

+ + +

Page Layout

+
+ +
+ + + + + + + + + + + + + + + +
+ +
+
+
+

Complex Functions and Special Functions

+ + + + +
+ + + +
+ + + + + + + +
+
+
+

+
+ + + + + + + + + + + + +
+ This page generated July 2023 + + + +
    +
+
+ diff --git a/demo/html/index.canvas b/demo/html/index.canvas index dd72c58be..cd55330f0 100644 --- a/demo/html/index.canvas +++ b/demo/html/index.canvas @@ -2,17 +2,17 @@ -Gnuplot 5.5 demos (HTML canvas terminal) +Gnuplot 6.0 demos (HTML canvas terminal) -

Gnuplot 5.5 demos (HTML canvas terminal)
+

Gnuplot 6.0 demos (HTML canvas terminal)
See also the demo output for the - PNG and - SVG terminals. + PNG and + SVG terminals.

Your browser may not support the HTML 5 canvas element

@@ -29,10 +29,6 @@
  • fill between curves
  • candlesticks
  • error bars
  • -
  • histograms (more) - (even more)
  • -
  • histogram + errorbars
  • -
  • bar graphs
  • step functions
  • multiple axis scales
  • mixing styles
  • @@ -44,6 +40,7 @@
  • circles
  • boxplots
  • rug plot
  • +
  • sectors
  • jitter (bee swarm)
  • spider plot
  • @@ -64,6 +61,7 @@
  • cubic and Bezier splines
  • monotonic csplines
  • along-path splines
  • +
  • "sharpen" filter
  • explicit B-splines
  • explicit Bezier splines
  • @@ -77,6 +75,15 @@
  • named palettes
  • +

    Line and Fill Styles

    + + @@ -91,7 +98,6 @@
  • pm3d coloring
  • pm3d hidden surfaces
  • pm3d clipping
  • -
  • 3D mapping
  • 2D projection of 3D surface
  • shaded error region
  • azimuth
  • @@ -111,6 +117,7 @@

    Coordinate and
    axis transforms

    @@ -125,13 +132,13 @@
  • polar quadrants
  • cylindrical/spherical
  • time/date coords
  • -
  • coord sampling ranges
  • +
  • coordinate sampling ranges
  • Binary and Image data

    -

    Styles

    - - @@ -255,7 +269,7 @@ - This page generated October 2022 + This page generated March 2023 @@ -263,9 +277,9 @@
  • Gnuplot development pages on SourceForge
  • On-line PDF documentation in - English + English and - Japanese
  • + Japanese diff --git a/demo/html/index.save b/demo/html/index.save index ad709eb43..c86e6f536 100644 --- a/demo/html/index.save +++ b/demo/html/index.save @@ -1,12 +1,12 @@ -Demos for gnuplot version 5.5 +Demos for gnuplot version 6.0 -

    Demos for gnuplot version 5.5 (pngcairo terminal)
    +

    Demos for gnuplot version 6.0 (pngcairo terminal)
    See also the demo output for the - SVG and - canvas terminals. + SVG and + canvas terminals.

    @@ -24,10 +24,6 @@ Here are samples of PNG output from some of the demos.

  • fill between curves
  • candlesticks
  • error bars
  • -
  • histograms (more) - (even more)
  • -
  • histogram + errorbars
  • -
  • bar graphs
  • step functions
  • multiple axis scales
  • mixing styles
  • @@ -39,6 +35,7 @@ Here are samples of PNG output from some of the demos.
  • circles
  • boxplots
  • rug plot
  • +
  • sectors
  • jitter (bee swarm)
  • spider plot
  • text
  • @@ -63,9 +60,10 @@ Here are samples of PNG output from some of the demos.
  • cubic and Bezier splines
  • monotonic csplines
  • along-path splines
  • +
  • "sharpen" filter
  • explicit B-splines
  • explicit Bezier splines
  • -
  • Levenberg-Marquardt DLS
  • +
  • Levenberg-Marquardt
  • Colors

    @@ -78,6 +76,15 @@ Here are samples of PNG output from some of the demos.
  • pm3d gamma
  • +

    Line and Fill Styles

    + + @@ -92,7 +99,6 @@ Here are samples of PNG output from some of the demos.
  • pm3d coloring
  • pm3d hidden surfaces
  • pm3d clipping
  • -
  • 3D mapping
  • 2D projection of 3D surface
  • shaded error region
  • azimuth
  • @@ -114,6 +120,7 @@ Here are samples of PNG output from some of the demos.

    Coordinate and
    axis transforms

    @@ -128,7 +135,7 @@ Here are samples of PNG output from some of the demos.
  • polar quadrants
  • cylindrical/spherical
  • time/date coords
  • -
  • coord sampling ranges
  • +
  • coordinate sampling ranges
  • Binary and Image data

    @@ -136,7 +143,7 @@ Here are samples of PNG output from some of the demos.
  • binary data
  • image data
  • binary and image tricks
  • -
  • RGB + alpha channel
  • +
  • RGB + alpha channel
  • bar chart art
  • missing/NaN values
  • pixmap gradients and icons
  • @@ -145,27 +152,42 @@ Here are samples of PNG output from some of the demos. +

    Heat Maps

    + + +

    Histograms

    + +

    Sample Applications

    Text options

    @@ -194,14 +216,6 @@ Here are samples of PNG output from some of the demos.
  • extra key entries
  • -

    Styles

    - @@ -229,7 +243,7 @@ Here are samples of PNG output from some of the demos. - This page generated October 2022 + This page generated March 2023 @@ -237,9 +251,9 @@ Here are samples of PNG output from some of the demos.
  • Gnuplot development pages on SourceForge
  • On-line PDF documentation in - English + English and - Japanese + Japanese
  • diff --git a/demo/html/index.special_functions b/demo/html/index.special_functions index 51f5af97b..bc59ee286 100644 --- a/demo/html/index.special_functions +++ b/demo/html/index.special_functions @@ -1,12 +1,12 @@ -Demos for gnuplot version 5.5 +Demos for gnuplot version 6.0 -

    Demos for gnuplot version 5.5 (pngcairo terminal)
    +

    Demos for gnuplot version 6.0 (pngcairo terminal)
    See also the demo output for the - SVG and - canvas terminals. + SVG and + canvas terminals.

    @@ -20,10 +20,6 @@
  • fill between curves
  • candlesticks
  • error bars
  • -
  • histograms (more) - (even more)
  • -
  • histogram + errorbars
  • -
  • bar graphs
  • step functions
  • multiple axis scales
  • mixing styles
  • @@ -35,6 +31,7 @@
  • circles
  • boxplots
  • rug plot
  • +
  • sectors
  • jitter (bee swarm)
  • spider plot
  • text
  • @@ -55,9 +52,10 @@
  • cubic and Bezier splines
  • monotonic csplines
  • along-path splines
  • +
  • "sharpen" filter
  • explicit B-splines
  • explicit Bezier splines
  • -
  • Levenberg-Marquardt DLS
  • +
  • Levenberg-Marquardt
  • Colors

    @@ -70,6 +68,15 @@
  • pm3d gamma
  • +

    Line and Fill Styles

    + + diff --git a/demo/html/index.svg b/demo/html/index.svg index 2d40cfd87..988244041 100644 --- a/demo/html/index.svg +++ b/demo/html/index.svg @@ -1,6 +1,6 @@ -Demos for gnuplot Version 5.5 (SVG terminal) +Demos for gnuplot Version 6.0 (SVG terminal) @@ -8,10 +8,10 @@

    - Gnuplot Version 5.5 demos (SVG terminal)
    + Gnuplot Version 6.0 demos (SVG terminal)
    See also the demo output for the - PNG and - canvas terminals. + PNG and + canvas terminals.

    @@ -33,10 +33,6 @@ on mouse-coordinate tracking.

  • fill between curves
  • candlesticks
  • error bars
  • -
  • histograms (more) - (even more)
  • -
  • histogram + errorbars
  • -
  • bar graphs
  • step functions
  • multiple axis scales
  • mixing styles
  • @@ -48,6 +44,7 @@ on mouse-coordinate tracking.
  • circles
  • boxplot
  • rug plot
  • +
  • sectors
  • jitter (bee swarm)
  • spider plot
  • @@ -69,6 +66,7 @@ on mouse-coordinate tracking.
  • cubic and Bezier splines
  • monotonic csplines
  • along-path splines
  • +
  • "sharpen" filter
  • explicit B-splines
  • explicit Bezier splines
  • @@ -76,12 +74,21 @@ on mouse-coordinate tracking.

    Colors

    +

    Line and Fill Styles

    + + diff --git a/demo/igamma.dem b/demo/igamma.dem index 0493d3514..c65bfb3f1 100644 --- a/demo/igamma.dem +++ b/demo/igamma.dem @@ -1,10 +1,10 @@ # -# Show limitation in old (prior to version 5.5) igamma domain and convergence +# Show limitation in old (prior to version 6) igamma domain and convergence # save_encoding = GPVAL_ENCODING set encoding utf8 -set title "igamma domain and convergence improved in version 5.5" +set title "igamma domain and convergence improved in version 6" set label 1 at graph 0.1, 0.8 set label 1 "igamma(a,z) = {Γ^{-1}(a) {/*2 ∫@_{/*0.5 0}^{/*.5 z}} {/:Italic t^{a-1}e^{-t}dt}" @@ -26,7 +26,7 @@ reset # # Previous igamma algorithm fails to converge for large a # -set title "igamma domain and convergence improved in version 5.5" +set title "igamma domain and convergence improved in version 6" set border -1 front linewidth 1.000 set view 46, 16, 1, 1 set samples 201, 201 diff --git a/demo/iris.dat b/demo/iris.dat new file mode 100644 index 000000000..7556903a4 --- /dev/null +++ b/demo/iris.dat @@ -0,0 +1,161 @@ +# Iris Data Set +# Sources: +# Creator: R.A. Fisher +# Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov) +# Date: July, 1988 +# Modified: entries 35 and 38 updated by C.Blake to correct discrepancy +# 1. Fisher,R.A. "The use of multiple measurements in taxonomic problems" +# Annual Eugenics, 7, Part II, 179-188 (1936); also in "Contributions +# to Mathematical Statistics" (John Wiley, NY, 1950). +# +sepal length, sepal width, petal length, petal width, class +5.1,3.5,1.4,0.2,Iris-setosa +4.9,3.0,1.4,0.2,Iris-setosa +4.7,3.2,1.3,0.2,Iris-setosa +4.6,3.1,1.5,0.2,Iris-setosa +5.0,3.6,1.4,0.2,Iris-setosa +5.4,3.9,1.7,0.4,Iris-setosa +4.6,3.4,1.4,0.3,Iris-setosa +5.0,3.4,1.5,0.2,Iris-setosa +4.4,2.9,1.4,0.2,Iris-setosa +4.9,3.1,1.5,0.1,Iris-setosa +5.4,3.7,1.5,0.2,Iris-setosa +4.8,3.4,1.6,0.2,Iris-setosa +4.8,3.0,1.4,0.1,Iris-setosa +4.3,3.0,1.1,0.1,Iris-setosa +5.8,4.0,1.2,0.2,Iris-setosa +5.7,4.4,1.5,0.4,Iris-setosa +5.4,3.9,1.3,0.4,Iris-setosa +5.1,3.5,1.4,0.3,Iris-setosa +5.7,3.8,1.7,0.3,Iris-setosa +5.1,3.8,1.5,0.3,Iris-setosa +5.4,3.4,1.7,0.2,Iris-setosa +5.1,3.7,1.5,0.4,Iris-setosa +4.6,3.6,1.0,0.2,Iris-setosa +5.1,3.3,1.7,0.5,Iris-setosa +4.8,3.4,1.9,0.2,Iris-setosa +5.0,3.0,1.6,0.2,Iris-setosa +5.0,3.4,1.6,0.4,Iris-setosa +5.2,3.5,1.5,0.2,Iris-setosa +5.2,3.4,1.4,0.2,Iris-setosa +4.7,3.2,1.6,0.2,Iris-setosa +4.8,3.1,1.6,0.2,Iris-setosa +5.4,3.4,1.5,0.4,Iris-setosa +5.2,4.1,1.5,0.1,Iris-setosa +5.5,4.2,1.4,0.2,Iris-setosa +4.9,3.1,1.5,0.1,Iris-setosa +5.0,3.2,1.2,0.2,Iris-setosa +5.5,3.5,1.3,0.2,Iris-setosa +4.9,3.1,1.5,0.1,Iris-setosa +4.4,3.0,1.3,0.2,Iris-setosa +5.1,3.4,1.5,0.2,Iris-setosa +5.0,3.5,1.3,0.3,Iris-setosa +4.5,2.3,1.3,0.3,Iris-setosa +4.4,3.2,1.3,0.2,Iris-setosa +5.0,3.5,1.6,0.6,Iris-setosa +5.1,3.8,1.9,0.4,Iris-setosa +4.8,3.0,1.4,0.3,Iris-setosa +5.1,3.8,1.6,0.2,Iris-setosa +4.6,3.2,1.4,0.2,Iris-setosa +5.3,3.7,1.5,0.2,Iris-setosa +5.0,3.3,1.4,0.2,Iris-setosa +7.0,3.2,4.7,1.4,Iris-versicolor +6.4,3.2,4.5,1.5,Iris-versicolor +6.9,3.1,4.9,1.5,Iris-versicolor +5.5,2.3,4.0,1.3,Iris-versicolor +6.5,2.8,4.6,1.5,Iris-versicolor +5.7,2.8,4.5,1.3,Iris-versicolor +6.3,3.3,4.7,1.6,Iris-versicolor +4.9,2.4,3.3,1.0,Iris-versicolor +6.6,2.9,4.6,1.3,Iris-versicolor +5.2,2.7,3.9,1.4,Iris-versicolor +5.0,2.0,3.5,1.0,Iris-versicolor +5.9,3.0,4.2,1.5,Iris-versicolor +6.0,2.2,4.0,1.0,Iris-versicolor +6.1,2.9,4.7,1.4,Iris-versicolor +5.6,2.9,3.6,1.3,Iris-versicolor +6.7,3.1,4.4,1.4,Iris-versicolor +5.6,3.0,4.5,1.5,Iris-versicolor +5.8,2.7,4.1,1.0,Iris-versicolor +6.2,2.2,4.5,1.5,Iris-versicolor +5.6,2.5,3.9,1.1,Iris-versicolor +5.9,3.2,4.8,1.8,Iris-versicolor +6.1,2.8,4.0,1.3,Iris-versicolor +6.3,2.5,4.9,1.5,Iris-versicolor +6.1,2.8,4.7,1.2,Iris-versicolor +6.4,2.9,4.3,1.3,Iris-versicolor +6.6,3.0,4.4,1.4,Iris-versicolor +6.8,2.8,4.8,1.4,Iris-versicolor +6.7,3.0,5.0,1.7,Iris-versicolor +6.0,2.9,4.5,1.5,Iris-versicolor +5.7,2.6,3.5,1.0,Iris-versicolor +5.5,2.4,3.8,1.1,Iris-versicolor +5.5,2.4,3.7,1.0,Iris-versicolor +5.8,2.7,3.9,1.2,Iris-versicolor +6.0,2.7,5.1,1.6,Iris-versicolor +5.4,3.0,4.5,1.5,Iris-versicolor +6.0,3.4,4.5,1.6,Iris-versicolor +6.7,3.1,4.7,1.5,Iris-versicolor +6.3,2.3,4.4,1.3,Iris-versicolor +5.6,3.0,4.1,1.3,Iris-versicolor +5.5,2.5,4.0,1.3,Iris-versicolor +5.5,2.6,4.4,1.2,Iris-versicolor +6.1,3.0,4.6,1.4,Iris-versicolor +5.8,2.6,4.0,1.2,Iris-versicolor +5.0,2.3,3.3,1.0,Iris-versicolor +5.6,2.7,4.2,1.3,Iris-versicolor +5.7,3.0,4.2,1.2,Iris-versicolor +5.7,2.9,4.2,1.3,Iris-versicolor +6.2,2.9,4.3,1.3,Iris-versicolor +5.1,2.5,3.0,1.1,Iris-versicolor +5.7,2.8,4.1,1.3,Iris-versicolor +6.3,3.3,6.0,2.5,Iris-virginica +5.8,2.7,5.1,1.9,Iris-virginica +7.1,3.0,5.9,2.1,Iris-virginica +6.3,2.9,5.6,1.8,Iris-virginica +6.5,3.0,5.8,2.2,Iris-virginica +7.6,3.0,6.6,2.1,Iris-virginica +4.9,2.5,4.5,1.7,Iris-virginica +7.3,2.9,6.3,1.8,Iris-virginica +6.7,2.5,5.8,1.8,Iris-virginica +7.2,3.6,6.1,2.5,Iris-virginica +6.5,3.2,5.1,2.0,Iris-virginica +6.4,2.7,5.3,1.9,Iris-virginica +6.8,3.0,5.5,2.1,Iris-virginica +5.7,2.5,5.0,2.0,Iris-virginica +5.8,2.8,5.1,2.4,Iris-virginica +6.4,3.2,5.3,2.3,Iris-virginica +6.5,3.0,5.5,1.8,Iris-virginica +7.7,3.8,6.7,2.2,Iris-virginica +7.7,2.6,6.9,2.3,Iris-virginica +6.0,2.2,5.0,1.5,Iris-virginica +6.9,3.2,5.7,2.3,Iris-virginica +5.6,2.8,4.9,2.0,Iris-virginica +7.7,2.8,6.7,2.0,Iris-virginica +6.3,2.7,4.9,1.8,Iris-virginica +6.7,3.3,5.7,2.1,Iris-virginica +7.2,3.2,6.0,1.8,Iris-virginica +6.2,2.8,4.8,1.8,Iris-virginica +6.1,3.0,4.9,1.8,Iris-virginica +6.4,2.8,5.6,2.1,Iris-virginica +7.2,3.0,5.8,1.6,Iris-virginica +7.4,2.8,6.1,1.9,Iris-virginica +7.9,3.8,6.4,2.0,Iris-virginica +6.4,2.8,5.6,2.2,Iris-virginica +6.3,2.8,5.1,1.5,Iris-virginica +6.1,2.6,5.6,1.4,Iris-virginica +7.7,3.0,6.1,2.3,Iris-virginica +6.3,3.4,5.6,2.4,Iris-virginica +6.4,3.1,5.5,1.8,Iris-virginica +6.0,3.0,4.8,1.8,Iris-virginica +6.9,3.1,5.4,2.1,Iris-virginica +6.7,3.1,5.6,2.4,Iris-virginica +6.9,3.1,5.1,2.3,Iris-virginica +5.8,2.7,5.1,1.9,Iris-virginica +6.8,3.2,5.9,2.3,Iris-virginica +6.7,3.3,5.7,2.5,Iris-virginica +6.7,3.0,5.2,2.3,Iris-virginica +6.3,2.5,5.0,1.9,Iris-virginica +6.5,3.0,5.2,2.0,Iris-virginica +6.2,3.4,5.4,2.3,Iris-virginica +5.9,3.0,5.1,1.8,Iris-virginica diff --git a/demo/iris.dem b/demo/iris.dem new file mode 100644 index 000000000..53d109844 --- /dev/null +++ b/demo/iris.dem @@ -0,0 +1,60 @@ +# +# Illustrate use of concave hull to demarcate overlapping clusters +# +if (!strstrt(GPVAL_COMPILE_OPTIONS, "+CHI_SHAPES")) { + print "This copy of gnuplot does not support concave hulls" + exit # return to caller +} + +set title "{/:Bold RA Fisher's iris data set}" +set title offset 0, -2 + +species(name) = strstrt(name,"setosa") ? 1 \ + : strstrt(name,"versicolor") ? 2 \ + : strstrt(name,"virginica") ? 3 \ + : 0 + +set datafile separator comma +set datafile columnhead + +set key title "Iris Species" font ":Bold" +set key outside top right offset screen -0.3, -.2 +set key invert reverse Left + +set border 3 +set tics nomirror + +set offset 0.5, 0.5, 0.5, 0.5 +set xtics rangelimit +set ytics rangelimit +set xlabel "Sepal Width" +set ylabel "Petal Length" +set size square + +plot 'iris.dat' using 2:3:(species(strcol(5))) with points lc variable notitle, \ + keyentry with point pt 7 lc species("setosa") title "setosa", \ + keyentry with point pt 7 lc species("versicolor") title "versicolor", \ + keyentry with point pt 7 lc species("virginica") title "virginica" + +pause -1 " to continue" + +set title '{/:Bold Concave Hull chi\_length = 1.5 expand 0.1}' +set title offset 0, -2 + +set style fill transparent solid 0.3 + +chi_length = 1.5 + +plot for [s=1:3] \ + 'iris.dat' using (species(strcol(5)) == s ? $2 : NaN) : 3 \ + concavehull smooth path expand 0.1 with polygon lc s notitle, \ + \ + '' using 2:3:(species(strcol(5))) with points pt 12 lc variable notitle, \ + \ + keyentry with ellipse lc species("setosa") title "setosa", \ + keyentry with ellipse lc species("versicolor") title "versicolor", \ + keyentry with ellipse lc species("virginica") title "virginica" + +pause -1 " to continue" +reset + diff --git a/demo/iterbugs.dem b/demo/iterbugs.dem new file mode 100644 index 000000000..ba6849040 --- /dev/null +++ b/demo/iterbugs.dem @@ -0,0 +1,24 @@ +# +# The combination of iteration and 3D plotting was problematic +# in earlier gnuplot versions. Be aware that this test plot +# would trigger an almost-infinite loop in versions prior to +# gnuplot 6. +# This demo serves as a unit test to check for regressions. +# +unset xtics +unset ytics +set border 16 +set view 60., 345., 1., 0.75 + +splot for [j=0:*] "whale.dat" index j using 1:($2-1):($3+1) \ + with lines lc "grey" notitle, \ + for [k=1:2] sin(x+k) with surface lc "dark-turquoise" notitle, \ + for [l=1:1] for [m=0:*] "whale.dat" index m using (2-$1):($2+1):($3+1) \ + with lines lc "steelblue" notitle, \ + keyentry with lines lc "grey" title "Grey Whale", \ + keyentry with boxes lc "dark-turquoise" title "waves", \ + keyentry with lines lc "steelblue" title "Blue Whale" + +pause -1 " to continue" + +reset diff --git a/demo/latex_demo.tex b/demo/latex_demo.tex index ab0e56e75..f8587e8ed 100644 --- a/demo/latex_demo.tex +++ b/demo/latex_demo.tex @@ -17,6 +17,9 @@ \usepackage{textcomp} \usepackage{framed} +% straight single quotes +\usepackage{upquote} + % symbols \usepackage{latexsym} \usepackage{amssymb} @@ -33,6 +36,7 @@ \usepackage{gnuplot-lua-tikz} % needed for pdflatex but not for xelatex or lualatex +% \usepacakge{ucs} % \usepackage[utf8x]{inputenc} % \SetUnicodeOption{mathletters} @@ -60,11 +64,11 @@ \begin{document} \title {\vspace{-.75in} \TeX-friendly gnuplot terminals \vspace{-5pt}} -\author{Ethan A Merritt - January 2022} +\author{Ethan A Merritt - April 2023} \date{} \maketitle -This demo shows various options for combining gnuplot graphics with +This demo shows various options for combining gnuplot graphics with {\LaTeX} processing of text, usually to produce a figure that is to be included in a larger {\LaTeX} document. You have a choice among several \TeX-friendly gnuplot terminals. @@ -184,26 +188,48 @@ \subsection*{tikz terminal} To see the many terminal options available, tell gnuplot {\tt set term tikz help}. The options {\tt tex}, {\tt latex} and {\tt context} tailor the output for a specific {\TeX} environment. {\tt latex} is the default. -Load the corresponding style file at the beginning of your document: +Load the corresponding style file at the beginning of your document \begin{verbatim} \input gnuplot-lua-tikz.tex % (for plain TeX) \usepackage{gnuplot-lua-tikz} % (for LaTeX) \usemodule[gnuplot-lua-tikz] % (for ConTeXt) \end{verbatim} +Other common requirements +\begin{verbatim} + \usepackage{amssymb} + \usepackage{ucs} % needed for pdflatex but not xelatex or lualatex + \usepackage[utf8x]{inputenc} % needed for pdflatex but not xelatex or lualatex + \SetUnicodeOption{mathletters} % needed for pdflatex but not xelatex or lualatex +\end{verbatim} + +The tikz terminal can also be used to create a pdf file, either for use by +itself of for inclusion as a figure in a larger document. Note that in this +case text is rendered at the time you process the gnuplot output to produce +a pdf file; i.e. if you intend to include this pdf file in a {\TeX} document +you must take care to choose the size and font to match the local environment +of the surrounding document. +The example below uses pdflatex, but lualatex or xelatex should also work. +\begin{verbatim} + gnuplot> set term tikz standalone size 10cm,7cm font='\small' + gnuplot> set output 'figure.tex' + gnuplot> ... various plot commands ... + gnuplot> unset output + gnuplot> !pdflatex figure +\end{verbatim} + +\newpage \subsection*{context terminal} -The {\tt context} terminal produces Metafun code for use by the +The {\em context} terminal produces Metafun code for use by the ConTeXt macro package. Typically this terminal is selected as part of a stream of gnuplot commands generated inside a ConTeXt session; the resulting output is then fed back into that session. For more information, see {\em ctan.org/pkg/context-gnuplot}. -\newpage - \subsection*{Other terminals: pstex epslatex pslatex} -The {\tt pstex}, {\tt epslatex}, and {\tt pslatex} terminals are perhaps +The {\em pstex}, {\em epslatex}, and {\em pslatex} terminals are perhaps best viewed as serving a slightly different purpose. Rather than aiding inclusion of gnuplot graphs in a {\LaTeX} document, they are primarily intended to enable {\TeX}-set annotation of gnuplot graphs @@ -227,16 +253,16 @@ \subsection*{Other terminals: pstex epslatex pslatex} \subsection*{Legacy terminals} -Two older gnuplot terminals {\tt pstricks} and {\tt texdraw} remain in the +Two older gnuplot terminals {\em pstricks} and {\em texdraw} remain in the default build configuration. They offer limited graphics capability compared to the terminals described above. -Other older gnuplot terminals {\tt latex}, {\tt eepic}, {\tt emtex}, and {\tt tpic} +Other older gnuplot terminals {\em latex}, {\em eepic}, {\em emtex}, and {\em tpic} have been deprecated and are no longer included by default when gnuplot is built. If necessary, the file {\em src/term.h} can be edited to uncomment {\em \#include} statements for the corresponding terminal driver files prior to building gnuplot. -The {\tt metapost} and {\tt metafont} terminals have also been deprecated. +The {\em metapost} and {\em metafont} terminals have also been deprecated. They can be including when building gnuplot by adding configuration options {\tt --with-metapost --with-metafont}. diff --git a/demo/lena-keypoints.bin b/demo/lena-keypoints.bin deleted file mode 100644 index 66aafcd4b..000000000 Binary files a/demo/lena-keypoints.bin and /dev/null differ diff --git a/demo/lena.rgb b/demo/lena.rgb deleted file mode 100644 index a653a2590..000000000 --- a/demo/lena.rgb +++ /dev/null @@ -1,12 +0,0 @@ -~{z݆t݇r܄j݂k܁sބnstyvuwnUa?XAZHYJ[LVNYLXMXNZJTPVVZWX]Z_]b]d`cahfc`a^e`b^hfe`gcececgef_heeahdidhdghjlfcd_d`gcgcdad`hbh_e`fdkjc_daebc`edbadbadacaaba^`ZaV[LVQTfaumقq݊p܈p|hjn܂s߄rށig~ihہe܄iۄm݆qۂk܌mК՟ΙЎtKYOYY]]_]^[[`f\`Z^[[]^``_`Z\acaa__^^V[Y^݇zۅpvts߀lރlހgހi݀m݂lquyvoreS^V>\B];ljjknmށlpronnmhndZ^>P;NALFPKSGOGNFNHNHONTQRVWWX\W\Y^\`\b]b_c`b_b_b`a]d_b]c_b^b^`]b^b_ba`\b_``a_b_bbc`b`_]a]dahfhfc`dab_c``_b^_]]]_]_[_]]\`]]_[b[_RYNZLVQ[hgzqۂtvwprrnmkn߁k݁j~l~jm}l~kxexʑԝל񾊺g[NYQWX\WZ\]\][^[^dedddcgdgc>NaAWDXE\?`?ހinnjlopqsronlhm^PS:H6H>JFPHPHSIRFMELIOMQPUY[XWZW_\`\^[`]b]^]a__ab^b\`[`\c`a^`[`^ddgdb_^Z\W[Y[W^Y_]^[^[_\^[_]bcdacbcada`]^[`^^[_\^\`]]Z]\__\^[b\aPZMWJWUbdhurۃyyvtqp߈lj߄j߃jjނk~kڀl~jk|jyi؂hҘ֠ԘޡyNRQWXZ^_\\]^[[[]_a`afffc=Od"HU@W;\:anmllnpqstmk߅olhm[QQ:K7JANEPIQIQIQGOGQIQKPRUUWZY\Y]Z_Y^[_\_[^\a_ada`bbb_a]a``__^^^dbedcb]\[YVVXX[Y_]][\Z\Z^\`]aab_ccccdc`^^^``__^]^[][^]_^`^``X_W\T]OXKXUcejrqڀx߄vvuއtކqmiiރi߃nn߂oۄp܀mk}jykwdsȒ՞٢˒vdMSTVWY[^[^[[]^`acad`9L^9X@Z?\>b=c=dCmklmsqrqqjkjlfnZQP;I;OANDPGRJSIOEMCNEPMSPTTVXXZY\[][`\^]`__Z_\^]baa^_]b`aa`abc_\``cc`_]\YVZYXZYR\[_^\Y[Y\Y]]`aac`aegcb`__^a[]a_[]]]^[[]\`^^`Y`V]RWO\JXS]`fll{rހt߅vt݅sކqm߅o߄gmބnm݂nނn߂j݁mp|mubyavЋٟڣ블[iM]TWWX\[\[aacada?Q`CVD\A_AcAc@c=d?rmnpsspnjhkmkhlZOP6E6I@NDPGOELGOGPGPFQMSQUUXWXWW[\[Z_\\Z`^\X[[]]_^^]^[]\`a`abe`^]]_^]]ZZZY[YYXYZ\YZWWVWYZZ\Z`^`abedgbd__^_``^]^][Z\\]\][\[\_X[V\WaRZIXP]_fkmwp}rہsބt݅s܄oޅm߄l݂pnmnރkނlo݀n{kzlxircnƐףڨӛԐpGNPXSWY\^`cdcb:L^;X?WAbHe FcAb?a=^Y?]Bd Ea?`A`<^;[=ponspid~`dilplgn^PS6I7M?MDPFOIRFOFOEOGNMSRXVUWXZY[X[Y][]][\\\_]^^_c^_\\bb_`bd^`[][\cb\\Y[^bhkfonvɈ̍ċȈ~~ijYYUUZ\[]Z\\^^a^bae_c]_^`]\\[]][^Y^T\R]Q[IUP]Zbihrlvnyq|sہt܃p݁llmހmiii}iygxhuftftdscqa߈lĐס۪֜ۛvPUOYV]]^=Na=WAY>_AbEe!GdCa@]<];^=pmmum~ct^t_|dlmongm]RS8H6J]>bDbCcEbDZ;\9_;^;loqnhr\dUj[|bjkolemZOO4C5J;KANEPEPFPELGOHOMSSVUTXWXU[Y]Y\YZX_]a_]\\]]^^[[[\\]\\[]c`htwƂwzŃ͕˕ϝѦѨ̣̟ѪҫسڶӦvySZW\Z]]d\a^d]`]_Y\Z]V]V]QZQZQZHWMY]_jhsktlsownzs}tp~mzl{kzfzgxducsbsdoanaparcpapb|dաެܪa[BN`@Sa>[?]B`=_:\;morjz^bRWNj^gklnnhn]MO1F1G;K?MAMCLCLBOGPHQLRPTTVUUYWY[YYYW[Y\[\Z[]^\\^X]]aipqynw_kisu{w|vyz{ǂ}ȇǍ͕̗ң΢ѣӧծְڶ޻ݻН^dT\Zc^e[bY^[aZ^X\TZRYOWNWLWIWOZZ]liriuitlunxsys|q}nxgxfxeuaudtdraqbnanam^n_p`p`l]oΚڬأ}gb>T=V>X>cBd?bAcC_A\A_@]=Y;`;profl[KKJKl]fnlkmho]PP2F1I8K=MBP@LBKDKDNFQKTNTRVRVXZVXWWZXXWZ[[[[[ZZ`d_bxxtxjp`h\ibnmskqipsxy{ʁDž͙̏͐˚ҦѨԭ֯װٴ۸۸߿ص{T^QYV[W\X^V\X]U[QWOXLXJVDRKVY^jetjvksktkvovpzqzk|nteraqatbucrdqarcoapbo_rcrcn_tbգޤ^WOY@^?fCcBbA\>[?cC]>Y=_:e=ptjx`ZQ5BEJl^iillmfm\NO/C-E4HK@LBNCNEPGPHOKQQUSVTWTT\\Z[XZZ\YYYYWWނlLU]d]d[b]e]gfokpglktotqxy~LJƉϙџӢذׯ֭ڲٱڳݸܻۼۺɘW`KVT]RYSYTZT\QXNWMZIVERJXZ_lgvkxlujsltmsmrmwmzlvgobnapatcqbqbqbo`pbobseterdrd߆m̗ۤۚu[:P>V<[AfEcBgC\?Z=_A]?Y<_;e>V4toehYAI,CHOiYflnlmdhXMN-A.E7J>MCRERDQBOEPEQJSMSQUNRRUUYWZUXXZ[ZZWYZ_YXWNXU]Y_[c`g[dfnlpgpktoqimqvuyɂ͎КӢӣѦ֫ԫ۲ܵ۴ݹܼܾټ߿ֶflGUHRKROVQWOWMZKZJWFSIWX]mhxnznynvnqlnkljkgujxireparbudqdpbpcpcrfrererevgwkziُlj @T>V=Z>a>c>cBa@]AaAaAX?]>k$HZMBRFUESANCNDOHSMTOUSYQVUVVXUVWXXYWXZYrgPURVNVPZV^ah_dchcgkonojmnsqtvw}ɇ͒ϔӠ֪֫ڴڵ۷ܷ໩ݻڻڼܿۼۻu}Q^ANGSOWNVIUIXJVCTGVX`pmzm~l}pxmqhfdad__jgxmugpbrevgrapcn`peteseuhtfxiyjme_k?V>V>X=bAdAd=_=YW`<[O?OBQCRBPCQFSJTNVOTRXSVXYVYZ]XYVW[[][MOKTNWT\U\X^\a\`]cagafhohmklinutqoˁ}̋Қ٪٫ٮدگ۵۲ԫճú;ϿϿܿ=P>NETFTDTDUATH[Y^miyj~j~m{owkd_DN5JHTcdtkvhpcrcrcobqdrfsgrftevhxkzl8KV?V;Y<`=eAb>a>Y?b@eBY?YAbHt1Uh&Ls-Kpq݊vxb^S7G3G7J6HLPj\hkoon}chXLP1G1H9J=N@PBOCPHXCRDRHQMSQUPSRVUXUVVYY[[Z]ZKPIROUT\U_ZcY_Y^Y_Yacffjnpmnlmmqturr΀}ч՗ۥبۮܴרС԰ż̼ɷʼʽɼ̼˹Ø5I:M?Q@SBU>QDVV]jg{m~k{l}qvmfdDQ|>.IW\kjvlrfresfocqfpdqeodqgvj}nTX]:U8Y 7`?gBeAcAY<]?d?[?ZAd%Mk-Tq/V{5Tip}wufVCJ3G7I7F5ELQj]fnnmm~bgWJO/D.F8K>P=QDSFSFTDPERKRJRPURWSWX[XXWXWX][NSKRKUPZQXX_V\X\T[Wa^a`cgknnmlmnrrsrzw{wхӐ١ؤ٨̔Т̾ɻƺķȻȼƸȷʺŰw{0F9L=QAT>QCTV\kg{po}m{nxpihKWs=s\!KY=^?fCfAdB\?Y=hB\>Y?`Ff(Os2]:_esy{uuoPL6G8J;L9H5GIOj[elqpkfgXGL0F2Kd?f?f@^[A^AaGl-X>dar{{~vvpҊz;H5K8I;L9J4FHPgY}emqsoig[NQ0E/H;M@PDQAPAOBPDPGQHPLTPVVXSUTYWZY]]]QYRZNVOWS[W\QZW`XbZabhehghnomnqosorqorqrxwҁ~֕zzʗ߹ô³ƺµܻܽƹöµĸʿ|/E/C5I?OW[lf{n}n}o|pzpjgJRt;XAnA?N\^mhviqcobmdphrivjzlTX`Y:e@hBX>`CaEg%Pr-V^rx{{xuω{Ւ}8L9K:K:J9M7HHNh]}eptxrhg[LR1F-C7H>OBQBQCQCPEQENHOLRPUSUVXTYVYb]RUJSOUQWPVPYRXTZV^Z`eichgkoqpqoopqpqjkilppsqzw{zէ߻ܸ޼໬ᾰݽ߽ܽ޿ǺƺȻɼʾ˾˻Ǻ%?-C;LU[lg{q~o|o|o~theIR{>Y<^5$@HTccsgteoalboftjynjav=S8W<_^>iC\>_CcB`Ij&QRkvyxxzx̆}ՓՑ6I;N;K>K;L:NLTi\|fortnhj^JQ3I-G:L>M>MBPERANAODNGNLROURZUVRV``paBOFPJSRXPTPWRXQZX^\_eiioqpsrjlrsquorjpekkkfoȋ֣ᵡ཯ݷݷٳܷ۴ܹøĸŵøǹǺ˽Ʒ˼ɽԿRa$?7ITVjcyl}m}p{ryrigLV{!@[:Z7f6/FRUgbsen_j_pdsivj7HYg?fBbB\@eA]>]@b@]C`KEey}xzrt~zӐՔՑ;IS>|6[r~}}ru|xы~Ԑ}ӎ~Ԑ}>N;K^;X7Q 5v1M̠νɵ߼ǺؙrAT;ZC\=fBgAfCe GaBaB]=cDa?Y>k%Pfw~zsvwyЋӎ}ӌ~Ҋ|Ӌ{MBQFSFRIRLTMTEOxoyHSDRGSLVRWNTRZV\V``fdiknfjfifflk_bS]Xg}۟ۥ߮٢֡کרܮۭݷݺߺ޺ܺݼ߿غڽǻƸĺŷʾʿ˿˿ּ+BGPgbxk{l}m}o{pjfLTz"@[;V7M 8o@`ѻDz۽a.RQBXBbBfBgDdC`Ac@`A_Ag E\?\AVo~xywxЉՓҍ}ҋ}щzъx9L:JLALBN@OBNDQGRGNMTNSET堂qKTCSIUITSZNUSXT]\ace^`^dZ`hjhg_`V^Ye҈ۡߤؑכצ֞נڧڮܱ۴۴޹ݸ۵ױܸĺĶȼǼǽ˧o|>Je`zq~ln}m|nkeJRr:N9L:d{Ź۴׻͒m~NBW@a@gBfA`=a?`@[@dAdC\BAcx}|{uy΄ӌ~ԍ~ӌ~ы~ъ}҉yK=L8GDOcYzdnprphi\KP-C,D1GXC`?c@c?`=_K@M@NAM@M?LGOdZzenrtnjm`LP0E-F5I=N@NBOCOBNBMGQHOLROSKQVXÒfDMDRJUCQHVSZZ_[^YaYbZcfjhkddPW_eٍڒؒӐՑՔܣަןڨޯ٫٫ڰإ՟ڳݴᾱ໱޷޽ܹ߽ܿٸڽ·ƼƺȽ̬kgud~chivc\V2F~GcǮ¬ЬƾнͻǹǹɲM@ZBbEa@^9_:[;`?d>Z:YBPiЀz{}{Ӌ֋~։|҉|ъ~ч|хyӉ|ANALBMCN@KLCMCNCMHOCLELLRMSPSKRpmhWDP@LEQITOZNTSXRYV_Zc`d]b\_P\aj؈Յ|؄΀}ԑԏڛܞڤ۬ןڦ٧צӛԟܩܲ٫޵޹߹ݾݽ޿ڵ͙ۺù¸¸·ຯvb|c{czcn^^dȸٹҴνȵŸ´ķ̾ǦQB\A`AbCa?^;_@e@c>N7x.Vwy}чՌ~ӊ{ӈ{҆{чyӇz҅yυyDPDOCMBLAN@MIMdWyelsqrmpbOQ/B.F7I=LCODODNCKBKBIFMKPMRCOцw}bWLVBQGTEPCPJSU\R\[a^bW]W`S[ckׄ}ւ|{x|y}zтݙڞڡ֛יۣإ٢ҙ՞۬٩۪٬ܬگܴݼڰϝٳعܾܾܿܿܿ׽ټ»ʽݔ}bx^vgؓôᾧױھʸŶ´´ĶɼÉ_oQB\C]@`Aa<\<^;e=^>dD\q҂z|́}֌Ӌ}ԉ|Ԉ{цy҈|Іzхx҄xDOAL@KCNBM@IKLfY}jnstwmr_NN0D/F;M=LBNBMCMCLALDNGMJNGM?O䡃xiZQUHTGVFSFUJSJSV]V\S[ZcS_ou{uxqws|zrs҃׍א؟֗Փؘآ۠щۢ؞؟ܦעڣإبܱءڦ֨װ׬կطڻٸٴض׺ҳѵ׺ۭwd܊߳ìݶشƻɺĶõŷŶȻr>[TF`H`A_>\8[>b>eCpL@_x{{{yӉ֋~ԋՉ}Ԉ{Ӊ{ІzІ{фzтzCNCNCNAKCJ?HKKfYhmquwpuaNP0C/D:J;J?LDOAL@J@LBMDNHNFM;Kur`UVEQJSFSKVLWPYU[T\\bR[foyu|wolwuil{{ֆ׍ՌԈח٢יӍӒڠכڢڟٞ؝֣ۯܮץ֤٬زԩ׵ٶٷٱد֬ײ԰ЮϮӭ׷ܪĭܷ۵ƶƶͶǺķ۾ƺԾYBWD`AaCaBY;a=cAj L4[iy|x{ЃԌ֋Ԋ҈҈~҈|х{цzυzІ}DRAO@N@L@KAKLMeY~foruroq`NO/B-C6G>L>KAL@MAL?LBKCJHNBMAOəsyaa\VRMRGTISLSLSX][`T`aiywtqopwrgkyx{yπ}р|Ӄٗךؖӌדۛٚܜٜٝ؝חٜؤإګةإ׫ֵԱس׬פҟԬҫЦ΢ȘԱܹڰ޷޽ɸȷ޼ݾĸŶຫٯķʾ̨L;[<\?a@Y>\=c>cBgITo|yy||ԉՍ~ԋԊ~Ӊ҈҈~҈}ч}ц|Ӈ{?MBPAN@MBM?HJNfV~dksuvoq_RS1F/F9H>J?KBM@JBMAK?JENGNCMJRɗsހgna^XQQGQGTKWQZT[JWdlootsqpqo`dvu}yӂ}oqvwӆՑ֒ρܘ۠ؔٓݝۡۚ֔؛Փ؛ڢםأڬץڰױ֣צ֨ӟӟԥ˕ʛܷ۳׫ݻĵƴòݾܿ޿ĸĸӖԙ๫ྮϸgqS=Y<_>^CZA`:bB^Dx,Us}}{y|҈ԍ֍֊Ռԉӈ}ӊ|҈zщ|ш{Ԉz@KAO?M@M?J?JJPh[hosvwnr`PS2F.F;L?MCOBNALAL@JBLCKDLAMJRĒoiuak][YJPZ:_;]Ay0\Zr|{w{ςҊ֋։~׊Ԋщ~ъ~҈~Ӊ{Ӌ|Їyԇ}BM>K>K>J>K?LKRi]fovtvluaPR1F.G9K?MANAL?JAL@JAICKBK=KSWoezck_c]GNARJTFQaipnehllgiYdpospwupquuwuԂ}|wxڍԇ؇ܖ؏׏؍Ջە֋ӋΌӑؘؚٟ֔֔֝Ֆ՜є͗̑ҟݯרڱ޿ų࿭ݺڶٸ۹޾´·ĹȻ๩ʋלyͅݫQ 9V;^A]@Y9c?^>i PEfyzyz}ӈӌэыӈ~ъ~ыъ~҇|Їzӊ}Ј{щ}AO?L=I>LKMRhYhnturoucST2H0H9K?MAM@M@MAK?JBK@IBL9Gebqkfn\i\UVIQCQ]donhmjk_hYdpptqsrpoilos}}rsyx؉ւՄԅԆ~φ׏ڑσ̓֒֎ْ֏ؒؔՒԍҍҕώɈϑܫ۪ۧṦ⾩ỡ۳۶۷ݺݼ···Źʼɸ͔ϔ˅ϋ̆忪VhS?ZB`=[B[AbA^Ds,XgyҀvyρӉԌӉц~Ӈ}шЉ~Љ}ЈzъzЇ{Ї}шz?LAO@N?L@KDKORhZhortqmweUW1E+C8I>O?N>M]C^C]Ef%IcDbJAc|~zz|{Ӈ}֊~Ո~҈}ч|҆zч|҈{҈{чzЉ{ψ|χ|ЅzBOAO?MBOAMFNMRj[dprsqqxeQP/B)C7J?O@N?L?JAK@L>I@I>F5Elfēofa~bl^NX\__gdg^fXdilpokjjm_ffmuvjnrw}myQqfYrLiMjSs˂̆`~iq́~t~sMse|˃ݩ۝٧΅伨ṥڷطڷٺܾõķøĸƸ˽ƶϓkgAM=SpzôK 7W9]>[;^@gB_En&Sdt~{wxЄҋ~ԉӊ}҇}҇}чч}φ{Ї{ЇzΆ{І}΄z͆yBNBPCQBOCOEKQQl[fqstulxdRP/C+C4F=L?NANAMAN?M?L?G=G2BdcǗxjrXx`t[NVX^Y`[bVbglnjjjdj\ecijngomntwt}b{q]sRq?_3]y8jÈ͉l`Yz?qMxMr>go+Vc"Rl.Y\K˓ٞӎܪḧὪݸ߻ۺٹٹܽ´Ƹ÷ŹƷߴ~tKS7HAQ]k߭«_ ^N?N@M?KCO>L@KAH?H6ELNɘgbQdU[VO\TZX^M\bljkgkei`ffmglfmflqtkuUpm`zTsMlX~IzE}TkJ{l,bn/i|Gwl2do0eWGP@QK\)Xq~Βї཰㾪ߺ޸ݸܻܹ׷ٻܽݿ߾ôƸŴўicCM>NJDOFMRNkZepsrrpxaSS0D-C6F?M>LBLAJBN@NCL>H=H8E2DÖlZVgcmhZ_U^MY\djlinbi[eafiodk`ilpgrWpgz_xV~[Gr|5`m%Xn$W}N:L:KFVUe~⪙۬t0CU:\>bA_=[=c?gCVDz3Yw{z{}}ԍԏӎҋӌЌϋЈ·ψ΅}υ|ͅ|˅}ͅ~΄{ITGTCOAKBLFNQOkZgqurqny`SS1F,D7JK@K?ICN@JAK>J>H>H1FᡁlgWpjundfH\Tafihjbk[f]fglck_gnqhnPhd}dwKt|8iy6hy3hi OdNt-cWL}h#V~=rBvx>t\ Wj;iA =i5[ȌoqИⵜڨխڶڵڴױڴٶطعܻܽҪtxl~GS?QHZ^h}xݐ夐߱{:M[?]=c@d@]lk!Oj$ZPPa&[e2lKKo}vsu۪⻦֫Ӧ֪֬ԧҨԦְڴ۵ݸܻu\L|=kdJgKu2co-bt8nh7mg?r}K{st{ܰ书ܴծթҪӨТҤЦױطܳ۱~y-K~3RJh[ug`w~z|짋ٜu.@U5\9bHGJeWhqxvspzdVS.D+D3E;K>MAN@L?L@L>KBLEMHOGK@KAK}a[]^bjWeZhcod|^~Yzc{XqQjCd6dt,_@n[LSCk(_GrR=fSx5a_DgJaKg*_d(b{TXXl߲ลܷծӪѦҪѥ̝ժЪձ֬ީ沧◒CW<\LkJkl^yuᒇĀif=W:[9cf?g?a=]>\9dBdJ@]muhq}֖וӑӐԏՏԒԐээЋΌόω̉ʇˆ~Ƀ|KTLVFQEPBN=HCJdYituvvnzfXT/D)B3F9J>M>L>L@M?JAOCOFNJPMRGM9I~pÚvjaU[T`Udam\pTh\r`~\|Tz~/]y,]2b@ny7h`NWGq2du2abLj'RaCdLr-]r.as6km-fIdm̛ܬ٫װҧңϥѣҢТѨӪ߯篣곩칭笝jl9Q@]JgIgruڎXW_:Y?\=`;h@h@gAh@^;^;c;_@n&OXjkqipЌ֗ԖԑҒґՑӎҏяэЎЌϊΊˉ~̇}̆}ɂ|JSHTGSDNBLL@N@N?M@L@KCMFOLRNSJO?MfeУx^\]fM`[iYhXhblcjRhTfEcw,Yf!SeNy3eu-`j$W]Ok%\?uv5d[>[?]A\CTV~5WJkv|+E\B[;`b>h>h@m$Fj C\9]8c;[@t+Slspquvʅ}ǂzʆ|ЌӑҒёӏэҐ}ԒӎύЊωϋЌ~͇|΅ý{ERGTGTEOCN=LAMc\}jrwyvr|h\[4J*D2E;JAODSERDQCPBPBRRXcaPUOPKOCP馂NSUZLXP]bhZfD_3W{(K|)NaD~;hV>eJeI\CaKh&Uf!Ux9oj+`uAlf%VL 7I -9Pafh̀ڜԑ֬թΛϚϚӌކ䔉椖ꬠ빪³ŵǵtp5Fa:[W@D`wumpȅ~Ό~Ʉ|ȁ}ǁ}Ƀ|˅~̈}ύ~эюяѐЎЍωЈ|Љ{φ|Ѕ~́|HRISDPDNCN;ICLbX{fuvvvr{h\Z7N-J4K@RDSDSFTCPBNBNCPZZQTPXSVQWMTthﱏRSOTUZ\b_h`nH^.PfGZ@XDv2_[Bf"McJ_G^Gd O`NAwCyq4lNxD 7AZml|۟ۤӝϛڵիИΔՁ~߁|吆旍ꪞ찤ĴƷȸ劁K;I?J_Y|hwywvs|h\\5M1L;Q>OBPDRDPFQERCQFPTZOVSXUWVVQXTUXUNVbeakcrG\z&GcNz;kS=WAu5dfNf$PaIbIaKk&T[Gn/cn)]SBQ~p-Kmnnu۔۟ܯԩ{П۵ΙϏڂ㏉敌晍觙볣￯ĴǷʸDzꚏLT!AS=]CHgБ6R[?fBg Fg!Gj!Cl!Da@^PCQDTEUDPEPEPHPMRPTTUUUTUYYh`h]xj[yeYhGZeQr6jL BK|XD[Ht/b>kdIX?^Hl,VXEr5jh)Y[KSC^jQcחٕאҔٲհѧΚst{}އ⋊䑍癐眑ꛑꞒ먘뵥ォǶŴge)F\:U=s&N̍Lbl!Jl*Mf!Fk$Hl&E_?`BeAY?m(Qiuprusэ~ӐѐϏΏ~ϑ~ҔҕБΌʈ~…}|~z|||{{zy{zz~z|wˀzCODOBQALALK`\{lu|{yrg[X4K-J6N^rwlqȀ{ҏ|ь}ό}ύ|΍{΍|ώ~ϐБ͋}ʉ|ʊ}ň}†}~{{z{x{xysuFQERDQDNBMOBRGUDPDRCNCNGONSPUUX_dxiedk=V=bxne:O-Rk)]xAqTJv9q}NuN ;a"Oe)Rg+UaI[@T=o.at:me&WVLm,Lijڙݫܯ̈ը۷́yfiuzttfo@S*B/DVaቄ嗋蔊蚍뫞찡쬕؋~_bDT;P*Ae6U>hHpt~hEk'Hp'Ho&H_@^@a?eC`ETkqvmrЈ{֏}ҋzω}ϊ{Ί{̈{͊~͌΍̊|Ȉ{Ɉ{Ɉ|ljljň~{}y{typwBQFTIUEP@L9H[ZrN^}-NhNDzm)dq7le(_xBoWHg$QVA`O|;fT 6Z9Z?l0X^MR9fjut۞ݣߺӟӚشfaOVW[\^FTomNXGW?Q9PU^ 剂瑇짙䔋adFVGZKWHQ3Fv?V>hJewu~t(Gj$Ii#En&H`>`?d?bAp%Mfvnqurӌ}Ҍ}ԉ{ш{Јzψy·ÿx͋zΌ{͊xˉxʆyɇ|lj}ȊȊƈÄ|}u{qzCRESERAO@L8H8G^[zitvwxxm_Z4I,E2GE[dgܟ۞ඣݻששHO-A(Az:w:n7v:i6-GXcX^Xblq}z戂ﳥ꥕gi>P~"">r=W9k L\ow5Tj"Hm&HiB`<_>b@W>}5Wtvlpyҍ|Ӌ{шy·yчw҇wφxχ|ΉzΊy͈yʆwɆyʈ|dž{Ljȉą}~}}y}t{@M@M@NI=I=I5IL^ߣno`zivnku~.Pq%HK @vCyt2h|Gwp3iy:u^SHc&U`Pu=iZES;XGQ~l._^_;_=aAYCJ`wutsЊ}ЌyЇyхx΅xτw΄vЈy΄xΈ{̇y͆y˅v̇{Ʌ|ƃ|ŅÄ~z||y{x{w{tzBO@O>N;J6I0C0C[Wzfuwyzz~h]W2D+D6I>LAL?K@JAJ;J4EOY檍׃ssj{j_d_io ERGq8ji(Xl/_\Rb%\RMzTEYBV@b'Sp3^Y=Y=]?[A`L[ISbjpޣݤٱݹWY-Ao:m;2Ly*MeB~6WܴѤ7T;QNWR[afmm煀͵ʃxrBeHl"IYxƂ$Be;h:c;\a=b>Z?f Ierurzuы}ӈyщzυy΄xЄvσv΄w΄w΂ẅ́x̅y̅w˅zǃ{ÀzÂ}}{|xztxrxoyrxCQANBO=L:J.C,BXVzhtwz|zh]W6F/D8HAMFKENEPFODN(Ar#Coy͔ﴝs})EbDSDt3go*]e#Zf%Yl(at;uO]UDZC\CXC{9d[?W;_=S8Q?i*QPenj̐ש޾ںmmT^N\6L|:O`7U~.Se꽴otHUGQO\Zckn苅dzT]Nh>\:ZdՅ.Fg4f6^9W8s)RGdˍ:Y9Wh A_=a?dA[?y0Pstssʂyϊzч{Έ{̄w̃w̃x̂wЃxσy̓x΅x΃v̂wvŁz{~zxyuyrvnuru~}ʐDQCMBNDff|ؖ箙˧o4Od'\UOzAyI}^Ub%]s4jy9qM{Flg&XYBZ=Z;^CeF[<]AP 8S?^kv}חۦ߽ٸieV`YbkodmCWF^`rqڡ洭饠wZdY_Q\[adl卉Ǻ꿯Sd[tcoӖmt$?r;o;_>`Dt,O?`Ε>]:WgC]=_V=_?\;_>W9J 5>UW^֠ٝݷܽa_NXalgnntovjreoR_PagranρݎvyVa[fYackㆅøź܌tzgq]kQa*C(D0EuTRxjxyz}nbW7G/C=IDLKQHPZ[r|~o@^s0[z8aUEZKZVfjT^T`"Vj-g~Iv?uRj~Ly`MY>\?^<^@[>P 7X>iksu٘٬߿b^>MW`hqtyv{w{tvrtlshnpwx݄ڀz\jbkZd[g䀇ܚ~ipajXb@NDP8D{8a9e?r(N~5\՘Pmx/Lb?\>f@\;w-Mouknʃ{Ίz˅y΅|̃yʂxɄ|˃xʀuȂyɃxȃz~x~v{vzuuvqvuyΒܧ峃赅洅洅沂AQY=Y<\EWENBQZS[ؗܭ⿬sn4FLU[cgow{}凈㈇≈ᐏ⑏㎎ދuyengl[cZf~츲᫢܎|ms`hU_P\AP|;eq@q$Ep$M֖ewk?b =QTxgvz{|{jcY6E/A7IJ]_vjneAfi+^n/`c#Uh'\x9p{D}[ih)XWEUAUDYNs5i{Fov>aOATl^kl$JVAW@TBPEYcYbә޶ӱc9'AHPTZZ`ejsvz{戄璋虑癑蛒皑晑攍䇃xwrthm^e[bmt뭩氤ݐބqubl[hX`ISy?f@s"Cp%FiIԏx~f@_6`9]8l Cjnqnʀy΍|Έ|ˆ{ʅ{Ƀ{ʃ|ƀyɂyƀw~xw|x{yvvrurtҖ~泄칇컂캄빂趃絇蹏齔2I0I,E-D*D| ?>OSvgt|}~}kbY9E0F:JHVKWQ`Umd>oAx%Gd@Ί{e=]:i=^;1Hqmtoϊ|͌z̅vˇz˄zʁyȁzȀyyÀy~x|v|{yzttlpȆy䯃븂츄캂빆鹈齑—Þ/I,E,F(E%Bw<:KQvmuzyzzkdY6F0E>SCPGOLXEngV?r?oMg1a_!Wn=uZm7id!N[E`FYA[BWFd%Mj>\.EKSTZ]abejnsszx~珆阐雎镌蒈~~wnnjmfgY\Z`kr喕縭܎݂wzjp^hX^9Li=e>o@s$C^=̋ŀy0OT8i"Ab?MXsn|wԖЉx͇yˇz˃yʁyƀxx}z~x|u{vywvunpvrࣀ븃~빂齌ÕƛǛŞ/I-I.K,I}&Fq?xUUsshi(T=pcM|b&Zn:qk1nwLfM}`Mc#N`HR=S@^B|/Jq @y$OizP`X[P]K 7]=fgkqֵX:XiCu#Ar$CZ <{{C[V:c?e@cdrm˃xяxыx͈yˆyʄzȂzƁxw}w|w}wytxxttnoАw赀~}|빀뾊Ŗʠɠ؜1I0J.L*Iy"Dn=s9LRuhv}xwtiaX2C'CMcbgY~Fmv)_aFusPN -8^<(B)@DNU[Y]_behorwy|z}挂掄劁}wrfe_c]bU[TYag⇈ه|zsuhp^gNU}"EZAiA~(Et$@X -;kzȄNaT8ZYAkC*Cs"=V 5Zkdž`mW:S8BUvnumэ|ϊxΆy˄s˄uȂwɄzƁvāvŁxw|wxttsonӕz뷃~}Ư̈̌șɛʠɣȣ5L2K/H*C}=l9l3HMseu{}zyibW4G1UZxRkKeRo1`|5iDzJ~r5hc)dXY!\Pmu;qs?n\Nd#N^?S:v-OT`:L^gt-JX8R 8ZDqsqyʕ?RS 6W9f@;R*>CMSYX\\_bdjmnovtxv}yz}~zvnmNUY_gjik_bY^{yﳩտل}vvnrahY`4NV<[@iA*Dq =Y 8D^͍ow\;Q8\gzj|rόy͇{ΆwʂuȃuȁtȂwƁxĂ{Ɓw}t~wvtoqxs~ﻂ~ēɜɗǗǚʡʥȦ6J2G0G*C"=tZ=P@QK`Tu.`}5mUEt]W|OxBvZ\Q[]XXEaHs*FN 9YDaIj+SHg]=Q9K -8Qcՠ٣٥Z_W 4R 3\;h?>R-?DLSTXXY_aegkmoutwvxx}{}{|xppS[_]MQ*E9Lch}syxz|}of]:H,C8H@NOePjjOx5gt/`YQPk.`u9sr5rRPkej4dY>9RvkN 7T Lx:`e"ICa^sv|OVkqǠT:U:g)Nb>]9j!DRd4CJPQUVXZ]\`agllopqstsyw}||z{xsshkZcbbhkmvࢤ寠㒊}}qufmZaiBYCUDdE}.K/Fu>fRZI^Fg"Fi!FaAk$HSf:KKTV[X\Y]_cekjiklmquuzy|}}}{yxxurnn~y駜鵧豤ᏉwznsdiBXYEVEWBl%J3L.Du @lA\={uz7P_czgqЊyˈ{ʆyȂwʂyƀvŁyy}wv~w{uxrpn}q|~ﺀʘʚȚș˝̡̤ͦͪί-B)A(@)B:#?EVjoށvxwy|yoh[;H+?4I@ViUvo&Wt0g^g)T_'QZOl-bk.bq5nRq9satv3dMrw,QY;i!J`yņѣÈ@PgnX]W<`>a7f;s&Cb;d>Pc?OJPRVXZZ]]^dgikhiilnmurwvxu|xxuwuwuzu告⠕뻭索tvlsbjjBZFXBYBp%I4J)Bz"@k9W 8fny~GWlbxeЃöwʇzɄwȂxƀyƀwĀx{u}w|v~v{syqpnʃpz~ɗ˚əəɜ˜ˢΩͧͪͭ)B&@$?%@~ =(C?Penڀxwv|~zni\:F(@4O`xNcVsq&]G|Jx\Li-`g+`e)\t8gj+_wBqi-hRefBTX>9VMg\nȏШJRLYopR:kAf?d:j={+FejS<7Lbt?x>#>|;(B?Qkp܃{|~~}|nfZ7J;]Xr7PbwPt`Nh)Xj*Yc'Xi/_\Vh3lcP{Cwh/gK~N|I}{BspoرƶplFUvz}DWV?Zx%@r=a8=S:M4EKOXW\ZYY][caijljmeJM9DBFKKLMLOEH@GAJPUX[:JJYMWmpRbY@[@_@\Bi!@u&H/G2Fp:x'@Z9Y;gv@| @x<4KDVim݁vw|{}}捂ld~.H1NfNj>dp+^HrVBWMv9no4jl?uf)cxGU|Cyf,_Lmu|]c֨Y]miǎ}a%G[Fa@[<_8j<_:l?r!@y(Cb;{*E6K*B@JKNQTTWWZZ^abmjqkojbaWYU[SYTbiwꃊ튏늏퐖iyqyrrCUV>Y@d?V9c9j?r"?6L3IvA2H`9t*Pʇ|oi΁rˋx͊xɉ{ɆwɅwdžxÄxÃw€v~v€w|txsonkj|ǒСϠ͝ΡϢϦϧѩѨΣ͡˟ɛf?meZG^)\m4iu;uddO|Ji4l\Y[~vds͘umޞr4PYH\Fd!D_C`AbAeBk Bn"Aw+He?}0N3H&?8HGLJOPUVX\^_dfgilmkfe``Y[XZUWWa_nfx^q`ppyvs`gmAWBYAa@c?f=l>x#?/I4I'A0Je=q*P̈~oՂq̅tɊyʈwȆyʉxɇwDžxÅx„yww~y{txsooij䦁ΛҤРϠϣѩҪҩХ˜ʙǕǕǖc@g=j9k9r<bB]@eBk!Bm!Ar$Bg?u(G/Iv#@,CT@\@b@i$Ee=i=.I2I6K|%>0Hm?q'M̊ҁppˆuȊyɉzȈ|Ȉ{ɈzɉzLj|{|w~y{vvrlked䪅ҡӦѢѢҦԬӪΡʚɖʚʝˠˡa@d>e:d:x!@JVHV_bsjv{{}~tj_7G H^}De9al)WBl^HNDp7e`#RWYlXzYQVXGwaĆ黡kcVFYE[CbBj@_AbBcB^BgCk Bp"Al?k@u&Bo#?)A2B>GFNMTX][_afgkfkglhlhmiktu{||z}|z|psPYq@X?T@[AdBi!Dde@a>e=]>i>nz$@5->;EEJPS]`adfiglmqprz{~}授瑈扄ᅁy}yt{'Fl?U?VB_Ej"EjBj?f<6O5K:N(A1Fw#Cn Fˌ׋||oɌzɍyNj}ň~ņ~Ņ}ą{È}z|||w{vuuiogj跑֪֥ҢϡϡϡХϢΠ̟ʞɜȚŗ]=a@\=^B-GCQFPb_shw|wz|nh\7G%G@YEel%Qg%WIn^ PRHq4eYLb%_^r>p`&^WvfUkjBgNeK`i+NXJ`G\EhFn#C_?hB^>d@^;b=l?m;i?m @q$Bs!>x"=o6$95ADIU[[cchhmruux~䏊劇捉䊇撎⋊xzkkb:j"EYGVE^Gm&Cc:h?h>^A[>[>t!B=MMUdavlvz|}|qi^6G~#CC[y/R\Hf,[Bh\Mc#Rl-]THPPjYe(at>xWjxgzUzHel/RW LWF^GXEh Dw&E\=k#D]AcB`@`?d?k>i!BkAo#Dk@,Ckb"JY%MY#K^ Iq*IgAc@iAAT:M9M3H2G.IlD̍Ո}zr~săyz~}~}~{{zyxwvqrfk{rəڪӡ͛МѠѤϡʚƔÓv}cMMX>^@Y=W>f>9LEN__znw{||{qdX0F@dpVxSEu4_o*Th#Ph&S`"NSEPOduud@`>]>f?n"Bn#Dr%FlA|'C,Ew={"?(D-H:MEXR`Zgdnpzw|㊈ށ}~rvmiFPY@\IZ#N\"M_Gl'JeCa>kB?T@S=R5K8K-Gr(LϏσyigbaljsqxw|{~{~~~|{ywuunrbkɐ~Ϟ֣О͚ΛΝ˜ɘĒueZ~+BZ6X>a@bAX;T=c;2C4HXZvjx{xz|l]^[uŖ9WXqREf)Sp-Xj&Ri'Rb!OVESKWq\o1ee)^~PaYxwv8dxmQIQF[Bw&D|-HS;p%E]>^=dA_>^?a?iBk?o"?g?p:/C5IJXV_^gbimoikmpoqz{ڄ{܀|ۆ݉ݎݖޤ̘jzg8ZV%LX!K\Fg E^B`BiB:O@S@W4K7M+H~0QҌxpY\TYX]^adheikoqqyx}y{xz{wyrsjoaiۧҢИʖ˗̚ʘǒ嬆̅n6DY;SS0K9N0M8W֎olaedf[_Y_V^V_V`Yb^ddjhnmspsnqgpcj㱉КɐƐɘ˚ɘᅫ貋ג{HS`<[=o ?1I3IXj=Sw)Fh@m@y=s8;If_uyxv隉暌نx4J3Zaxf'IM?SBw2\h&RWDk)Y@kk)Y]!TwIz_|M~]xN|xD}Q]LsxTrTy\Dt"Et%FU@x/K^>]B\>eB_>^@`?l$Cm CiAg;0HEQV]Y][]Za_fhlhjjlnommmnqpwtދ尚湠꽤꿦潩l9VO;N9g?8N=T:N.I5I|*H;W։zomqppjlhfgafYaS^NWKWMZR^Q\T_YbT`T_䬆ʑĉƔɗʗǘ귍Ԏr9Gc9i:v#A/G6H:MtkzOb4M,Hv O>RA_!NLtG 9_MV{;ib*YSHZb}I}ei5lWUdbiqo,Xbo+Ss!Cn"AT;z.Ga>]BZAeDdC\?cBhAt)Fp!Ad=})DEQPUW\X]]d_efggfjjknlonmtp}yߐ᥋䰕峘緜黠Ũn}M?c@~1Hv&CCSQVZ]W\Z_hkgijkljijkkro~x߈~ᚈ㣏䧑殓沔踚ƫɰͶe$Hv+In#By*H/GkCXi{r{tŁ{~x|x}z|yvwtvrtkphodo\e_ZjVQPe]ᅫϚΛΜƒ걀YXa91J=N8K9MHQFSP]qv}O]k9/Cc_u}|xzp݁xądsLPISRYFSR=V@`!Jb"K`HVDZIL{g&RXG\"Oh/[WT{Dud)\n3hl3k|MVis`t6XaK;P;w*Hn!Ab@ZAaAn(H`D\c?opsg~uÀr€u}u}v{vzwxwvwtupsksjml_sUhUxϜЛϚ̗鵃bW-H=P>N@SGVSZJS@RBRJZT9z=\uyl A%?fdu~}~zoqcx~=[K;U@XBo/WU@XIYCb NV^"L_FN?w6eZOo6gx=rt;qJ~m8qRSgmLETzM=L 9r'Dt%DcRTY_]bb`ecdigmjlhmjpmvrzq߂vވy}⒀ᙆ䠊姌毒鵕컛ĬȰ͹bAi>f9^9xqriƁwt}r{p}tytwtwvvwtvrsmrhhg]z]Պd춆ќМϙɏt?G5L>OBRITPXJT;NBRIWK`L -6f%My}d>u9f_u}y{|pob`gu5UQAS?^ J`FXBWCTBf%SYYDk*PN>VHx9iv;ld'[v=rTQrCLIK7Ej7@QTW^\[]dcccgekflgmjtqupxq}t߄y}ᙇ㞋㤍嬔沕뻝Űɳ͸׽ju]9[ 5d6сythȃtr~s|s}uytwutruurtophkcbyjyǔӝЛΕx[9J?O>PFRNWOU@Pl&HY=e=(@CKKRAMj7CRWY_]^_gchcgcf`idlhokrmvo}uށv߆{Ꮒ㚈㤐䫔尔踝ĭȳ̹н༬_8T1m>}oypŃsłuo~rzs{vvtqpssppjlegne稁ΘԡқʐsOKf}~cV@R?PKgLsN@ZFd"K^HXIXGVJk-_uBt^d*ap>v]Tnp~SyW9z*Gv(De?f?b?d@aElA3EOSXYGPr;DPYY`bdbfdeaeafde`jfplsktm{s܀vz~ސ⛉⟋㨐㰖鷞쾧ŭȳ˸ϾջGYM3}-EvkŀqƂvu}r~t{swpvpsoqpkmlncgӋqɛПǑΚԠЙ]CGe?(EKPYXVY=Iz$AERWV^]ebgbhag`f`iciemiqktnxo߀u݄y߈|ፀ◈➌㦑䰗絞齦®Ųɷ̼пֽF3;Nsfłuss~q|ryryrxsrpqqlnegaa~ҡўʓўӠ̑r_PEK>J>JKPSVGQ>QDRN]K]I^?UG2O;Zuv0Ln5_[sy{y}uvo]wb#PZGTAW?ZC^Mm.\YHs7by:aTCZFj)RW?SAa!NXKo5b\M_&Y[tvYKwsdLov1WhCm Cv,Ih?i?a;q@.@QR[ZXY8E~'CIT[Ya`aaieleg`f`d`gbjcnfqlum|s߂yއ|~ᓄ㤑㰖洜麥®IJȶ̹νѿὫM -2AMviƁsw|s{qzpyqypxrtrqrmphhha櫆ќʏȐӡҝ†څ^ZSINBKDMLPQSDQ=MHWM^HYAV8RG2O ;Nh¤v2Lo9\Vs{~}qvmbzd#MXBXBW>\@ZDZE\Ij+Uu3YYDa#N[D]EWB\L]M|CnWMPJzJgmbs7bXAe)Lm+El-NNnVtXu|7UhAg@b;&D;IVW[]\^1H1JOV^[cbdbifjfhbfcb]e_hbngojvozs~xރy߈{⑂ߕ⢌⪓沜湤龬±ƳʷͼϾϵp/JMTxk~rÃv}r|szqyoyqyrvrrpkliflaИƌǑԢϖugSUVJOBKDMKOGN;J?LMZH[EX>TBZJ 6N :zAay9Nr;\Ypyz{zovo_ucD_CV?U=XEYGf(QVDf%Qf'M_ KVCYGc$MP=]JYNt?j[#WsK~)HOT`^fejhkimhnihcjbhad_g`iamhrjvlyq}s߂w܇zލߘᡊ⪐岟繥齬óǸʻ̹̽ŵpbd[WY^ahgpnyt~wyx|vwsxr{oygt`o[sҚԘ{qSOPEMSSjyxzyrrabm|5UcIQ>[DYDSAXEb$Mc&PZJl1W_!JU?]ER@e(T[G]Q~NZb(USFc3Yn:eo7iGtZwZ7fAY8b:\9Y6`:t!?2CLOST[[WV~$C5J\]c^fbigjfnhoikelcibg`f`icmeqjvmxm}quމ{ގ{ߔ⦋䰚嵢缫òȸʻ̼;л·yTK_FZ;Rq$@J -4J -4^G~fox ;OQivy{yqwbYg6]d#KVA`CT@SDc#N\Hc'RUIg)Og%MYBT>YCXDb,[f6jOqvJwg+^e&Tk(XT|l.Ts3T`:Z7^>X:X9X5i:.EAJSRRUVS>Kn?HSa]d^dcigmfpgjekekajcf\f\g_jboergvmzm݀s݅wߋyޘ㭖㳟绫²Ƿɻ̺;ҼҘ2F8J/F0E6G:I>LEQPZXbkl~pҌqdv\a֟ڀYIJ2E/D>L6I.EEVG[BV@UF[NcEZz0Ik;P8L -3Z@~äw|y%dAW8X9W6V7^9t!=7ELNSSWSLMj80HYZd]d_feigjdkejemgleiai`f]e]i_jbphsixlznނtކyߎ|ߔ✉⨓ⱜ溨迯Ĵǹ˺̿о澭6GCPBPl#>6IVXsaߢsٓeޙm˕ғlZN.B|:0F2F2JDTK\>S?U?TI^J`?Ur&Bi;hW8X=WRN^FX;Q9OCXQeI^}4Kl!=h;>Pb::J^WaYd^f`jdibjdiemgngnhmfkaj`h^h_k_j`mfshvh~p݁vޅzޏ|❉⩓崣溩ŵȹ˼̾ѹAOOZRXMUFS>O5Lr%C^=N;v'@w€ݕ`~ȇl>Bt:x"A,B*C5NM^J[8O6N:OJ^VkE[4Os'Fl"@>QDWUh~ɯDROO}mvzyyq_`Xox3UYAVAYBZ@WA^ I[GXEVBb&Na$N`$Oa$MVF[Ic#Na"Md&Rf)Yh+Zq9eWmc*NZ@U=W=T9P 6\9q<.CAITSNO$<_85FUV\X`Zf`f`jdhdjdhckfoikdpjkbkbhah`ldmelbrhvhzk~qކyߍ|ݎ|⚈⤎䮜㶤羯ĵǺʼʺκܭ9IKSSYQXITFT(B%?3JGXJ[:R1J3LCYUjPgBX5On$Bq*G{3KRd^qzĩKUPQ}luz{|s]^Ypl*OVDYE\F\F\Fa F\FSAZKr7b_%Rl1[p5[SCXJyr>}*F(B.HFXN`AV}/J2J;RSfViI_@Uu+Ft*Ho(Di"BFZOck|īOXORzfy{||qheFcc!GTAXF]GbI]EYEg*UUC`!Luil3cc'[{E~vm4_h(RO9W=Uh`+WXL}Gqi+_}L}]Ye)TQ=VAW=X8[4a8u;.@6ECMPSVUYZ]Y^Z^V^Xd_c^g^h_e_jejcldpiqlsjqkpepcmdkcocm`pfuhzn݀s߄y}ᑀᜊ⤒⫙㲡幩Ʒ˾̽λȑ8ICPLUQZV^P_R_X`VZPWZX^ZAN7L8I9J2E+EAUP`GW2Fw(Bv'DDWUg_pUjC\v,Fn#An"@a>a!Bj%Dw4UOi˰imRVvbw~wgcp(N]!JUBZDYCc%Ma"La"Ol7`TCZJw>fRFb(Y}Fz_NFm6dPxJ@p3`v?ik4f]yDqh-RN=U=U5c7t8-A;HIMLJRTWWZYZX]Z_Z]V]Vc^f`e]d]jekbjbkdmhqhriphrjphthocodofsivgxl}p݂t݈zߏᥒ⯝䵤们ôʹɻθ߸4E@PJUQ[Y`Yc\d^`VVTWLSHTBRGVISa@h&LEbȥóڿ}WYwbv{~}O_i!K[D\FVB[Fc"Ma Kg(S^%Ob%WWJR~VJh,^|@v_s=jZMOv^ O[KKr\"Pr8iN{d(UQ:W;b:t3-Tq)Ff ?i >focSGzEqj1_b"Lw5]m0Zg&XIzTe*RU 2p4(97@EGKKOLTPTRXR^W\U\V`X_YbZ^Vc[f]f\d]kbjcibkeohrjrhqgshshwkvjuitgxj|n}q߀u{ߎ}ݐߠ᪙ఝ䷨澱ôȸʻ̶ls8JFPLXQ^\b]a^\\XTSRSUS\W\UKS@QFZ@X:R;R7L3JHZcphu[kE\s+HcZD`!Ko,Wm'Pr,Tk)Uk+\Wm/Vc Pv4dp9er2a|Erx@rKvi1XTCk)Sm0XYGn3`l-]Ptw)N+@4?;CGIMMRRUSXRZS^Y\X]V^V_XbY_W`Wf^f^aYd\hdjfkdpfqhqhpishshwkwkxjxjylzo߃sryߎޏޕߧ㯝䵤亪ĵǽͷ͓FdESCNNXS^_]h^aW\V]Uh\hZWSBLY@W:Q>RWdkthtObr-Hc=^7b;u+G?REP \ No newline at end of file diff --git a/demo/named_palettes.dem b/demo/named_palettes.dem index df5bcb8d0..e82a57248 100644 --- a/demo/named_palettes.dem +++ b/demo/named_palettes.dem @@ -46,10 +46,10 @@ splot '++' using 1:2:(foo($1,$2)):(blues(foo($1,$2))) with pm3d lc rgb variable pause -1 " to continue" # -# Method 2 (new in development version) +# Method 2 (new in version 6) # "set pm3d interpolate" works now # "set pm3d lighting" also works -set title "Version 5.5 offers a new keyword to access this palette" +set title "Version 6 offers a new keyword to access this palette" set palette defined (0 "dark-blue", 1 "white") set colormap new bluemap diff --git a/demo/plugin/README b/demo/plugin/README index 25996a7fe..b95e9786e 100644 --- a/demo/plugin/README +++ b/demo/plugin/README @@ -19,7 +19,7 @@ you and "make" should be sufficient to build the demo plugin. If you are building _only_ this plugin demo, under linux a minimal build command is - gcc -shared -lm -o demo_plugin.so demo_plugin.c + gcc -shared -lm -fPIC -o demo_plugin.so demo_plugin.c Under Windows + mingw it is @@ -28,7 +28,7 @@ Under Windows + mingw it is An equivalent build command should work for the uigamma plugin or one you have created yourself. - gcc -shared -lm -o uigamma_plugin.so uigamma_plugin.c + gcc -shared -lm -fPIC -o uigamma_plugin.so uigamma_plugin.c Type "help import" in a gnuplot session for examples of how to load a function from a plugin library. The suggested sequence diff --git a/demo/plugin/gnuplot_plugin.h b/demo/plugin/gnuplot_plugin.h index 805a0a262..d8d6f6475 100644 --- a/demo/plugin/gnuplot_plugin.h +++ b/demo/plugin/gnuplot_plugin.h @@ -1,14 +1,25 @@ /* * DATA_TYPES and struct value must match definitions in - * #include + * #include + * This file matches the source for gnuplot version 6.0 */ +#ifndef GNUPLOT_PLUGIN_H +#define GNUPLOT_PLUGIN_H + +#define PLUGIN_VERSION 6.0 + #include /* C99 type definitions */ enum DATA_TYPES { INTGR=1, CMPLX, STRING, DATABLOCK, + FUNCTIONBLOCK, ARRAY, + COLORMAP_ARRAY, + TEMP_ARRAY, + LOCAL_ARRAY, + VOXELGRID, NOTDEFINED, /* exists, but value is currently undefined */ INVALID_VALUE, /* used only for error return by external functions */ INVALID_NAME /* used only to trap errors in linked axis function definition */ @@ -46,6 +57,9 @@ typedef struct value { DLLEXPORT void *gnuplot_init(struct value(*)(int, struct value *, void *)); DLLEXPORT void gnuplot_fini(void *); +/* report gnuplot version number that this plugin was built for */ +DLLEXPORT double gnuplot_version(void) {return PLUGIN_VERSION;} + /* Check that the number of parameters declared in the gnuplot import * statement matches the actual number of parameters in the exported * function @@ -83,3 +97,4 @@ __inline__ static int IVAL(struct value v) } #undef NaN +#endif /* GNUPLOT_PLUGIN_H */ diff --git a/demo/pm3d_clip.dem b/demo/pm3d_clip.dem index e8b72a929..afe7dbaec 100644 --- a/demo/pm3d_clip.dem +++ b/demo/pm3d_clip.dem @@ -1,3 +1,8 @@ +# +# New in version 6 +# smooth clipping of pm3d surfaces to zrange +# smooth intersection of pm3d surfaces +# set border 4095 set bmargin 6 set style fill transparent solid 0.50 border @@ -20,13 +25,13 @@ set ztics 5 f(x,y) = x**2 + y**2 * (1 - x)**3 -set multiplot layout 1,2 title "new pm3d default is smooth clipping against zrange" +set multiplot layout 1,2 title "Gnuplot 6 pm3d default is smooth clipping against zrange" set title "set pm3d clip4in (old default)" set pm3d clip4in splot f(x,y) with pm3d fc "cyan" -set title "set pm3d clip (new default)" +set title "set pm3d clip (Gnuplot 6)" set pm3d clip replot @@ -34,3 +39,27 @@ unset multiplot pause -1 " to continue" reset + +# +# New in version 6 - smooth intersection of pm3d surfaces +# +set title "Smooth intersection of pm3d surfaces" + +set border -1 +set grid x y z vertical +unset key +unset colorbox +set view 57, 25, 1, 1 +set samples 13, 13 +set isosamples 7, 7 +set xyplane 0 +set xrange [ 0.0 : 10.0 ] +set yrange [ 0.0 : 10.0 ] +set zrange [ * : * ] +set pm3d depthorder +set pm3d border lw 0.5 + +splot (x*x+y*y) with pm3d fc "yellow", 100-(x*x+y*y) with pm3d fc "forest-green" +pause -1 " to continue" + +reset diff --git a/demo/pm3d_intersects.dem b/demo/pm3d_intersects.dem deleted file mode 100644 index 3ae791b03..000000000 --- a/demo/pm3d_intersects.dem +++ /dev/null @@ -1,21 +0,0 @@ -# -# New in version 5.5 - smooth intersection of pm3d surfaces -# -set title "Smooth intersection of pm3d surfaces" - -set border -1 -set grid x y z vertical -unset key -unset colorbox -set view 57, 25, 1, 1 -set samples 13, 13 -set isosamples 7, 7 -set xyplane 0 -set xrange [ 0.0 : 10.0 ] -set yrange [ 0.0 : 10.0 ] -set zrange [ * : * ] -set pm3d depthorder -set pm3d border lw 0.5 - -splot (x*x+y*y) with pm3d fc "yellow", 100-(x*x+y*y) with pm3d fc "forest-green" -pause -1 'hit to continue' diff --git a/demo/pm3dcolors.dem b/demo/pm3dcolors.dem index 24e59c95b..069ae09b5 100644 --- a/demo/pm3dcolors.dem +++ b/demo/pm3dcolors.dem @@ -214,5 +214,6 @@ set title "set palette model RGB functions\n4*x*(1-theta(x-0.25)), 0.5*theta(x-0 splot f(x) pause -1 "Hit return to continue" +unset datafile reset diff --git a/demo/poldat.dem b/demo/poldat.dem index d6a918cb2..9724d0b94 100644 --- a/demo/poldat.dem +++ b/demo/poldat.dem @@ -27,7 +27,7 @@ tu(t,5),tv(t,5),\ tu(t,10),tv(t,10),\ cu(t,.5),cv(t,.5),cu(t,.5),-cv(t,.5),\ tu(t,0),tv(t,0) -#cu(t,5),cv(t,5),cu(t,5),-cv(t,5) + pause -1 "Hit return to continue" set angles degrees @@ -44,469 +44,8 @@ set trange [*:*] set xrange [-220:220] set yrange [-220:220] unset xtics -plot "-" using 1:5,"-" -# Input data ncmain.d4 generated by genpat2.f:Tx antenna pattern -# x,y,z of center point B in coord 3 -# -5.12 0 -1.5 -# euler matrix -# 0 -1 0 -# 0.7071 0 0.7071 -# -0.7071 0 0.7071 -# theta(deg) phi(deg) E-theta(dB) phase E-phi(dB) phase - 0 0 -200 0 18.992 0 - 2 0 -200 0 18.898 0 - 4 0 -200 0 18.619 0 - 6 0 -200 0 18.152 0 - 8 0 -200 0 17.497 0 - 10 0 -200 0 16.651 0 - 12 0 -200 0 15.614 0 - 14 0 -200 0 14.382 0 - 16 0 -200 0 12.952 0 - 18 0 -200 0 11.32 0 - 20 0 -200 0 9.483 0 - 22 0 -200 0 7.434 0 - 24 0 -200 0 5.169 0 - 26 0 -200 0 2.68 0 - 28 0 -200 0 -0.039 0 - 30 0 -200 0 -2.998 0 - 32 0 -200 0 -6.204 0 - 34 0 -200 0 -9.67 0 - 36 0 -200 0 -13.407 0 - 38 0 -200 0 -17.429 0 - 40 0 -200 0 -21.751 0 - 42 0 -200 0 -26.391 0 - 44 0 -200 0 -31.368 0 - 46 0 -200 0 -36.705 0 - 48 0 -200 0 -42.429 0 - 50 0 -200 0 -48.569 0 - 52 0 -200 0 -55.16 0 - 54 0 -200 0 -62.243 0 - 56 0 -200 0 -69.867 0 - 58 0 -200 0 -78.087 0 - 60 0 -200 0 -86.971 0 - 62 0 -200 0 -96.602 0 - 64 0 -200 0 -107.08 0 - 66 0 -200 0 -118.53 0 - 68 0 -200 0 -131.11 0 - 70 0 -200 0 -145.022 0 - 72 0 -200 0 -160.534 0 - 74 0 -200 0 -177.982 0 - 76 0 -200 0 -195.848 0 - 78 0 -200 0 -199.967 0 - 80 0 -200 0 -200 0 - 82 0 -200 0 -200 0 - 84 0 -200 0 -200 0 - 86 0 -200 0 -200 0 - 88 0 -200 0 -200 0 - 90 0 -200 0 -200 0 - 92 0 -200 0 -200 0 - 94 0 -200 0 -200 0 - 96 0 -200 0 -200 0 - 98 0 -200 0 -200 0 - 100 0 -200 0 -200 0 - 102 0 -200 0 -200 0 - 104 0 -200 0 -200 0 - 106 0 -200 0 -200 0 - 108 0 -200 0 -200 0 - 110 0 -200 0 -200 0 - 112 0 -200 0 -200 0 - 114 0 -200 0 -200 0 - 116 0 -200 0 -200 0 - 118 0 -200 0 -200 0 - 120 0 -200 0 -200 0 - 122 0 -200 0 -200 0 - 124 0 -200 0 -200 0 - 126 0 -200 0 -200 0 - 128 0 -200 0 -200 0 - 130 0 -200 0 -200 0 - 132 0 -200 0 -200 0 - 134 0 -200 0 -200 0 - 136 0 -200 0 -200 0 - 138 0 -200 0 -200 0 - 140 0 -200 0 -200 0 - 142 0 -200 0 -200 0 - 144 0 -200 0 -200 0 - 146 0 -200 0 -200 0 - 148 0 -200 0 -200 0 - 150 0 -200 0 -200 0 - 152 0 -200 0 -200 0 - 154 0 -200 0 -200 0 - 156 0 -200 0 -200 0 - 158 0 -200 0 -200 0 - 160 0 -200 0 -200 0 - 162 0 -200 0 -200 0 - 164 0 -200 0 -200 0 - 166 0 -200 0 -200 0 - 168 0 -200 0 -200 0 - 170 0 -200 0 -200 0 - 172 0 -200 0 -200 0 - 174 0 -200 0 -200 0 - 176 0 -200 0 -200 0 - 178 0 -200 0 -200 0 - 180 0 -200 0 -200 0 -e - 0 9.0007 -35.926 -71.297 9.0783 - 2 8.1667 0.13355 -32.735 8.9007 - 4 6.0696 4.0782 -28.04 8.3501 - 6 3.3053 4.8742 -26.062 7.3795 - 8 0.131 4.2554 -25.105 5.9101 - 10 -3.4589 2.6769 -24.794 3.8084 - 12 -7.6407 0.15917 -25.211 0.82257 - 14 -12.849 -3.6543 -26.702 -3.6253 - 16 -20.405 -10.185 -30.112 -11.564 - 18 -41.802 -37.181 -39.114 -24.83 - 20 -25.979 -11.868 -38.677 -10.86 - 22 -22.06 -7.1064 -29.743 -7.4312 - 24 -21.258 -5.2193 -26.432 -6.2183 - 26 -22.103 -4.8803 -25.429 -5.9416 - 28 -24.356 -5.858 -26.299 -6.0712 - 30 -28.216 -8.3757 -29.576 -6.4985 - 32 -33.989 -13.34 -38.93 -7.5039 - 34 -37.632 -21.69 -37.458 -9.6424 - 36 -35.691 -16.286 -29.566 -13.578 - 38 -35.22 -12.594 -27.052 -15.787 - 40 -36.549 -12.197 -27.142 -11.075 - 42 -38.418 -14.735 -29.897 -7.6375 - 44 -39.287 -23.397 -38.646 -6.0943 - 46 -39.287 -23.397 -38.646 -6.0943 - 48 -38.418 -14.735 -29.897 -7.6375 - 50 -36.549 -12.197 -27.142 -11.075 - 52 -35.22 -12.594 -27.052 -15.787 - 54 -35.691 -16.286 -29.566 -13.578 - 56 -37.632 -21.69 -37.458 -9.6424 - 58 -33.989 -13.34 -38.93 -7.5039 - 60 -28.216 -8.3757 -29.576 -6.4985 - 62 -24.356 -5.858 -26.299 -6.0712 - 64 -22.103 -4.8803 -25.429 -5.9416 - 66 -21.258 -5.2193 -26.432 -6.2183 - 68 -22.06 -7.1064 -29.743 -7.4312 - 70 -25.979 -11.868 -38.677 -10.86 - 72 -41.802 -37.18 -39.114 -24.83 - 74 -20.405 -10.185 -30.112 -11.564 - 76 -12.849 -3.6543 -26.702 -3.6253 - 78 -7.6407 0.15917 -25.211 0.82257 - 80 -3.4589 2.6769 -24.794 3.8084 - 82 0.131 4.2554 -25.105 5.9101 - 84 3.3053 4.8742 -26.062 7.3795 - 86 6.0696 4.0782 -28.04 8.3501 - 88 8.1667 0.13355 -32.735 8.9007 - 90 9.0007 -35.926 -71.297 9.0783 - 92 8.1667 0.13355 -32.735 8.9007 - 94 6.0696 4.0782 -28.04 8.3501 - 96 3.3053 4.8742 -26.062 7.3795 - 98 0.131 4.2554 -25.105 5.9101 - 100 -3.4589 2.6769 -24.794 3.8084 - 102 -7.6407 0.15917 -25.211 0.82257 - 104 -12.849 -3.6543 -26.702 -3.6253 - 106 -20.405 -10.185 -30.112 -11.564 - 108 -41.802 -37.181 -39.114 -24.83 - 110 -25.979 -11.868 -38.677 -10.86 - 112 -22.06 -7.1064 -29.743 -7.4312 - 114 -21.258 -5.2193 -26.432 -6.2183 - 116 -22.103 -4.8803 -25.429 -5.9416 - 118 -24.356 -5.858 -26.299 -6.0712 - 120 -28.216 -8.3757 -29.576 -6.4985 - 122 -33.989 -13.34 -38.93 -7.5039 - 124 -37.632 -21.69 -37.458 -9.6424 - 126 -35.691 -16.286 -29.566 -13.578 - 128 -35.22 -12.594 -27.052 -15.787 - 130 -36.549 -12.197 -27.142 -11.075 - 132 -38.418 -14.735 -29.897 -7.6375 - 134 -39.287 -23.397 -38.646 -6.0943 - 136 -39.287 -23.397 -38.646 -6.0943 - 138 -38.418 -14.735 -29.897 -7.6375 - 140 -36.549 -12.197 -27.142 -11.075 - 142 -35.22 -12.594 -27.052 -15.787 - 144 -35.691 -16.286 -29.566 -13.578 - 146 -37.632 -21.69 -37.458 -9.6424 - 148 -33.989 -13.34 -38.93 -7.5039 - 150 -28.216 -8.3757 -29.576 -6.4985 - 152 -24.356 -5.858 -26.299 -6.0712 - 154 -22.103 -4.8803 -25.429 -5.9416 - 156 -21.258 -5.2193 -26.432 -6.2183 - 158 -22.06 -7.1064 -29.743 -7.4312 - 160 -25.979 -11.868 -38.677 -10.86 - 162 -41.802 -37.181 -39.114 -24.83 - 164 -20.405 -10.185 -30.112 -11.564 - 166 -12.849 -3.6543 -26.702 -3.6253 - 168 -7.6407 0.15917 -25.211 0.82257 - 170 -3.4589 2.6769 -24.794 3.8084 - 172 0.131 4.2554 -25.105 5.9101 - 174 3.3053 4.8742 -26.062 7.3795 - 176 6.0696 4.0782 -28.04 8.3501 - 178 8.1667 0.13355 -32.735 8.9007 - 180 9.0007 -35.926 -71.297 9.0783 - 182 8.1667 0.13355 -32.735 8.9007 - 184 6.0696 4.0782 -28.04 8.3501 - 186 3.3053 4.8742 -26.062 7.3795 - 188 0.131 4.2554 -25.105 5.9101 - 190 -3.4589 2.6769 -24.794 3.8084 - 192 -7.6407 0.15917 -25.211 0.82257 - 194 -12.849 -3.6543 -26.702 -3.6253 - 196 -20.405 -10.185 -30.112 -11.564 - 198 -41.802 -37.181 -39.114 -24.83 - 200 -25.979 -11.868 -38.677 -10.86 - 202 -22.06 -7.1064 -29.743 -7.4312 - 204 -21.258 -5.2193 -26.432 -6.2183 - 206 -22.103 -4.8803 -25.429 -5.9416 - 208 -24.356 -5.858 -26.299 -6.0712 - 210 -28.216 -8.3757 -29.576 -6.4985 - 212 -33.989 -13.34 -38.93 -7.5039 - 214 -37.632 -21.69 -37.458 -9.6424 - 216 -35.691 -16.286 -29.566 -13.578 - 218 -35.22 -12.594 -27.052 -15.787 - 220 -36.549 -12.197 -27.142 -11.075 - 222 -38.418 -14.735 -29.897 -7.6375 - 224 -39.287 -23.397 -38.646 -6.0943 - 226 -39.287 -23.397 -38.646 -6.0943 - 228 -38.418 -14.735 -29.897 -7.6375 - 230 -36.549 -12.197 -27.142 -11.075 - 232 -35.22 -12.594 -27.052 -15.787 - 234 -35.691 -16.286 -29.566 -13.578 - 236 -37.632 -21.69 -37.458 -9.6424 - 238 -33.989 -13.34 -38.93 -7.5039 - 240 -28.216 -8.3757 -29.576 -6.4985 - 242 -24.356 -5.858 -26.299 -6.0712 - 244 -22.103 -4.8803 -25.429 -5.9416 - 246 -21.258 -5.2193 -26.432 -6.2183 - 248 -22.06 -7.1064 -29.743 -7.4312 - 250 -25.979 -11.868 -38.677 -10.86 - 252 -41.802 -37.18 -39.114 -24.83 - 254 -20.405 -10.185 -30.112 -11.564 - 256 -12.849 -3.6543 -26.702 -3.6253 - 258 -7.6407 0.15917 -25.211 0.82257 - 260 -3.4589 2.6769 -24.794 3.8084 - 262 0.131 4.2554 -25.105 5.9101 - 264 3.3053 4.8742 -26.062 7.3795 - 266 6.0696 4.0782 -28.04 8.3501 - 268 8.1667 0.13355 -32.735 8.9007 - 270 9.0007 -35.926 -71.297 9.0783 - 272 8.1667 0.13355 -32.735 8.9007 - 274 6.0696 4.0782 -28.04 8.3501 - 276 3.3053 4.8742 -26.062 7.3795 - 278 0.13099 4.2554 -25.105 5.9101 - 280 -3.4589 2.6769 -24.794 3.8084 - 282 -7.6407 0.15917 -25.211 0.82257 - 284 -12.849 -3.6543 -26.702 -3.6253 - 286 -20.405 -10.185 -30.112 -11.564 - 288 -41.802 -37.181 -39.114 -24.83 - 290 -25.979 -11.868 -38.677 -10.86 - 292 -22.06 -7.1064 -29.743 -7.4312 - 294 -21.258 -5.2193 -26.432 -6.2183 - 296 -22.103 -4.8803 -25.429 -5.9416 - 298 -24.356 -5.858 -26.299 -6.0712 - 300 -28.216 -8.3757 -29.576 -6.4985 - 302 -33.989 -13.34 -38.93 -7.5039 - 304 -37.632 -21.69 -37.458 -9.6424 - 306 -35.691 -16.286 -29.566 -13.578 - 308 -35.22 -12.594 -27.052 -15.787 - 310 -36.549 -12.197 -27.142 -11.075 - 312 -38.418 -14.735 -29.897 -7.6375 - 314 -39.287 -23.397 -38.646 -6.0943 - 316 -39.287 -23.397 -38.646 -6.0943 - 318 -38.418 -14.735 -29.897 -7.6375 - 320 -36.549 -12.197 -27.142 -11.075 - 322 -35.22 -12.594 -27.052 -15.787 - 324 -35.691 -16.286 -29.566 -13.578 - 326 -37.632 -21.69 -37.458 -9.6424 - 328 -33.989 -13.34 -38.93 -7.5039 - 330 -28.216 -8.3757 -29.576 -6.4985 - 332 -24.356 -5.858 -26.299 -6.0712 - 334 -22.103 -4.8803 -25.429 -5.9416 - 336 -21.258 -5.2193 -26.432 -6.2183 - 338 -22.06 -7.1064 -29.743 -7.4312 - 340 -25.979 -11.868 -38.677 -10.86 - 342 -41.802 -37.181 -39.114 -24.83 - 344 -20.405 -10.185 -30.112 -11.564 - 346 -12.849 -3.6543 -26.702 -3.6253 - 348 -7.6407 0.15917 -25.211 0.82257 - 350 -3.4589 2.6769 -24.794 3.8084 - 352 0.131 4.2554 -25.105 5.9101 - 354 3.3053 4.8742 -26.062 7.3795 - 356 6.0696 4.0782 -28.04 8.3501 - 358 8.1667 0.13355 -32.735 8.9007 - 360 9.0007 -35.926 -71.297 9.0783 - 2 8.1667 0.13355 -32.735 8.9007 - 4 6.0696 4.0782 -28.04 8.3501 - 6 3.3053 4.8742 -26.062 7.3795 - 8 0.131 4.2554 -25.105 5.9101 - 10 -3.4589 2.6769 -24.794 3.8084 - 12 -7.6407 0.15917 -25.211 0.82257 - 14 -12.849 -3.6543 -26.702 -3.6253 - 16 -20.405 -10.185 -30.112 -11.564 - 18 -41.802 -37.181 -39.114 -24.83 - 20 -25.979 -11.868 -38.677 -10.86 - 22 -22.06 -7.1064 -29.743 -7.4312 - 24 -21.258 -5.2193 -26.432 -6.2183 - 26 -22.103 -4.8803 -25.429 -5.9416 - 28 -24.356 -5.858 -26.299 -6.0712 - 30 -28.216 -8.3757 -29.576 -6.4985 - 32 -33.989 -13.34 -38.93 -7.5039 - 34 -37.632 -21.69 -37.458 -9.6424 - 36 -35.691 -16.286 -29.566 -13.578 - 38 -35.22 -12.594 -27.052 -15.787 - 40 -36.549 -12.197 -27.142 -11.075 - 42 -38.418 -14.735 -29.897 -7.6375 - 44 -39.287 -23.397 -38.646 -6.0943 - 46 -39.287 -23.397 -38.646 -6.0943 - 48 -38.418 -14.735 -29.897 -7.6375 - 50 -36.549 -12.197 -27.142 -11.075 - 52 -35.22 -12.594 -27.052 -15.787 - 54 -35.691 -16.286 -29.566 -13.578 - 56 -37.632 -21.69 -37.458 -9.6424 - 58 -33.989 -13.34 -38.93 -7.5039 - 60 -28.216 -8.3757 -29.576 -6.4985 - 62 -24.356 -5.858 -26.299 -6.0712 - 64 -22.103 -4.8803 -25.429 -5.9416 - 66 -21.258 -5.2193 -26.432 -6.2183 - 68 -22.06 -7.1064 -29.743 -7.4312 - 70 -25.979 -11.868 -38.677 -10.86 - 72 -41.802 -37.18 -39.114 -24.83 - 74 -20.405 -10.185 -30.112 -11.564 - 76 -12.849 -3.6543 -26.702 -3.6253 - 78 -7.6407 0.15917 -25.211 0.82257 - 80 -3.4589 2.6769 -24.794 3.8084 - 82 0.131 4.2554 -25.105 5.9101 - 84 3.3053 4.8742 -26.062 7.3795 - 86 6.0696 4.0782 -28.04 8.3501 - 88 8.1667 0.13355 -32.735 8.9007 - 90 9.0007 -35.926 -71.297 9.0783 - 92 8.1667 0.13355 -32.735 8.9007 - 94 6.0696 4.0782 -28.04 8.3501 - 96 3.3053 4.8742 -26.062 7.3795 - 98 0.131 4.2554 -25.105 5.9101 - 100 -3.4589 2.6769 -24.794 3.8084 - 102 -7.6407 0.15917 -25.211 0.82257 - 104 -12.849 -3.6543 -26.702 -3.6253 - 106 -20.405 -10.185 -30.112 -11.564 - 108 -41.802 -37.181 -39.114 -24.83 - 110 -25.979 -11.868 -38.677 -10.86 - 112 -22.06 -7.1064 -29.743 -7.4312 - 114 -21.258 -5.2193 -26.432 -6.2183 - 116 -22.103 -4.8803 -25.429 -5.9416 - 118 -24.356 -5.858 -26.299 -6.0712 - 120 -28.216 -8.3757 -29.576 -6.4985 - 122 -33.989 -13.34 -38.93 -7.5039 - 124 -37.632 -21.69 -37.458 -9.6424 - 126 -35.691 -16.286 -29.566 -13.578 - 128 -35.22 -12.594 -27.052 -15.787 - 130 -36.549 -12.197 -27.142 -11.075 - 132 -38.418 -14.735 -29.897 -7.6375 - 134 -39.287 -23.397 -38.646 -6.0943 - 136 -39.287 -23.397 -38.646 -6.0943 - 138 -38.418 -14.735 -29.897 -7.6375 - 140 -36.549 -12.197 -27.142 -11.075 - 142 -35.22 -12.594 -27.052 -15.787 - 144 -35.691 -16.286 -29.566 -13.578 - 146 -37.632 -21.69 -37.458 -9.6424 - 148 -33.989 -13.34 -38.93 -7.5039 - 150 -28.216 -8.3757 -29.576 -6.4985 - 152 -24.356 -5.858 -26.299 -6.0712 - 154 -22.103 -4.8803 -25.429 -5.9416 - 156 -21.258 -5.2193 -26.432 -6.2183 - 158 -22.06 -7.1064 -29.743 -7.4312 - 160 -25.979 -11.868 -38.677 -10.86 - 162 -41.802 -37.181 -39.114 -24.83 - 164 -20.405 -10.185 -30.112 -11.564 - 166 -12.849 -3.6543 -26.702 -3.6253 - 168 -7.6407 0.15917 -25.211 0.82257 - 170 -3.4589 2.6769 -24.794 3.8084 - 172 0.131 4.2554 -25.105 5.9101 - 174 3.3053 4.8742 -26.062 7.3795 - 176 6.0696 4.0782 -28.04 8.3501 - 178 8.1667 0.13355 -32.735 8.9007 - 180 9.0007 -35.926 -71.297 9.0783 - 182 8.1667 0.13355 -32.735 8.9007 - 184 6.0696 4.0782 -28.04 8.3501 - 186 3.3053 4.8742 -26.062 7.3795 - 188 0.131 4.2554 -25.105 5.9101 - 190 -3.4589 2.6769 -24.794 3.8084 - 192 -7.6407 0.15917 -25.211 0.82257 - 194 -12.849 -3.6543 -26.702 -3.6253 - 196 -20.405 -10.185 -30.112 -11.564 - 198 -41.802 -37.181 -39.114 -24.83 - 200 -25.979 -11.868 -38.677 -10.86 - 202 -22.06 -7.1064 -29.743 -7.4312 - 204 -21.258 -5.2193 -26.432 -6.2183 - 206 -22.103 -4.8803 -25.429 -5.9416 - 208 -24.356 -5.858 -26.299 -6.0712 - 210 -28.216 -8.3757 -29.576 -6.4985 - 212 -33.989 -13.34 -38.93 -7.5039 - 214 -37.632 -21.69 -37.458 -9.6424 - 216 -35.691 -16.286 -29.566 -13.578 - 218 -35.22 -12.594 -27.052 -15.787 - 220 -36.549 -12.197 -27.142 -11.075 - 222 -38.418 -14.735 -29.897 -7.6375 - 224 -39.287 -23.397 -38.646 -6.0943 - 226 -39.287 -23.397 -38.646 -6.0943 - 228 -38.418 -14.735 -29.897 -7.6375 - 230 -36.549 -12.197 -27.142 -11.075 - 232 -35.22 -12.594 -27.052 -15.787 - 234 -35.691 -16.286 -29.566 -13.578 - 236 -37.632 -21.69 -37.458 -9.6424 - 238 -33.989 -13.34 -38.93 -7.5039 - 240 -28.216 -8.3757 -29.576 -6.4985 - 242 -24.356 -5.858 -26.299 -6.0712 - 244 -22.103 -4.8803 -25.429 -5.9416 - 246 -21.258 -5.2193 -26.432 -6.2183 - 248 -22.06 -7.1064 -29.743 -7.4312 - 250 -25.979 -11.868 -38.677 -10.86 - 252 -41.802 -37.18 -39.114 -24.83 - 254 -20.405 -10.185 -30.112 -11.564 - 256 -12.849 -3.6543 -26.702 -3.6253 - 258 -7.6407 0.15917 -25.211 0.82257 - 260 -3.4589 2.6769 -24.794 3.8084 - 262 0.131 4.2554 -25.105 5.9101 - 264 3.3053 4.8742 -26.062 7.3795 - 266 6.0696 4.0782 -28.04 8.3501 - 268 8.1667 0.13355 -32.735 8.9007 - 270 9.0007 -35.926 -71.297 9.0783 - 272 8.1667 0.13355 -32.735 8.9007 - 274 6.0696 4.0782 -28.04 8.3501 - 276 3.3053 4.8742 -26.062 7.3795 - 278 0.13099 4.2554 -25.105 5.9101 - 280 -3.4589 2.6769 -24.794 3.8084 - 282 -7.6407 0.15917 -25.211 0.82257 - 284 -12.849 -3.6543 -26.702 -3.6253 - 286 -20.405 -10.185 -30.112 -11.564 - 288 -41.802 -37.181 -39.114 -24.83 - 290 -25.979 -11.868 -38.677 -10.86 - 292 -22.06 -7.1064 -29.743 -7.4312 - 294 -21.258 -5.2193 -26.432 -6.2183 - 296 -22.103 -4.8803 -25.429 -5.9416 - 298 -24.356 -5.858 -26.299 -6.0712 - 300 -28.216 -8.3757 -29.576 -6.4985 - 302 -33.989 -13.34 -38.93 -7.5039 - 304 -37.632 -21.69 -37.458 -9.6424 - 306 -35.691 -16.286 -29.566 -13.578 - 308 -35.22 -12.594 -27.052 -15.787 - 310 -36.549 -12.197 -27.142 -11.075 - 312 -38.418 -14.735 -29.897 -7.6375 - 314 -39.287 -23.397 -38.646 -6.0943 - 316 -39.287 -23.397 -38.646 -6.0943 - 318 -38.418 -14.735 -29.897 -7.6375 - 320 -36.549 -12.197 -27.142 -11.075 - 322 -35.22 -12.594 -27.052 -15.787 - 324 -35.691 -16.286 -29.566 -13.578 - 326 -37.632 -21.69 -37.458 -9.6424 - 328 -33.989 -13.34 -38.93 -7.5039 - 330 -28.216 -8.3757 -29.576 -6.4985 - 332 -24.356 -5.858 -26.299 -6.0712 - 334 -22.103 -4.8803 -25.429 -5.9416 - 336 -21.258 -5.2193 -26.432 -6.2183 - 338 -22.06 -7.1064 -29.743 -7.4312 - 340 -25.979 -11.868 -38.677 -10.86 - 342 -41.802 -37.181 -39.114 -24.83 - 344 -20.405 -10.185 -30.112 -11.564 - 346 -12.849 -3.6543 -26.702 -3.6253 - 348 -7.6407 0.15917 -25.211 0.82257 - 350 -3.4589 2.6769 -24.794 3.8084 - 352 0.131 4.2554 -25.105 5.9101 - 354 3.3053 4.8742 -26.062 7.3795 - 356 6.0696 4.0782 -28.04 8.3501 - 358 8.1667 0.13355 -32.735 8.9007 - 360 9.0007 -35.926 -71.297 9.0783 -e +plot "antenna.dat" index 0 using 1:5, "" index 1 + pause -1 "Hit return to continue" reset diff --git a/demo/rgb_hexdata.dem b/demo/rgb_hexdata.dem deleted file mode 100644 index de002c36a..000000000 --- a/demo/rgb_hexdata.dem +++ /dev/null @@ -1,21 +0,0 @@ -# -# test unpacking of integer hex matrix data into an ARGB image -# -$BITS << EOB -0x7fffffff 0x3fff0000 0x1fff8888 0x00ffaaaa -0x7fff0000 0x3fff8888 0x1fffaaaa 0x00ffffff -0x7fff8888 0x3fffaaaa 0x1f00dddd 0x00ffffff -0x7fffaaaa 0x3fff0000 0x1fff8888 0x00bb0000 -EOB -set tics 1 -set xrange [-1:4] -set title "Alpha+RGB image data loaded from a hexadecimal matrix" - -plot sin(x*x) lw 4 lc "black", $BITS matrix using 1:2:3 with rgbalpha pixels - -pause -1 " to continue" - -splot $BITS matrix using 1:2:(1.0):3 with rgbalpha pixels - -pause -1 " to continue" -reset diff --git a/demo/rgbalpha.dem b/demo/rgbalpha.dem deleted file mode 100644 index a566d719c..000000000 --- a/demo/rgbalpha.dem +++ /dev/null @@ -1,35 +0,0 @@ -set border linecolor rgb "gold" -set key title "Plot style rgbalpha" textcolor rgb "gold" -set key bottom left at screen .75, screen .75 -set key Left width -7 sample 1 - -set object 1 rect from screen 0, 0 to screen 1, 1 behind \ - fc rgb "gray10" fillstyle solid 1.00 noborder -set samples 128, 128 -set size ratio 0.95 -set bmargin at screen .1 -set tmargin at screen .9 -set lmargin at screen .1 - - -set xrange [ 0. : 128. ] -set yrange [ 0. : 128. ] - -# Alpha = linear gradient on x - -plot 100.*(.4+sin(x/5.)/(x/5.)) lw 5 title 'solid line', \ - 'lena.rgb' binary array=(128,128) format="%uchar" flipy using 1:2:3:(2.*column(0)) \ - with rgbalpha title "Lena with linear\nalpha gradient" - -pause -1 "Hit return to continue" - -# Alpha = circular mask - -focus(x,y) = ((column(0)-x)**2 + (column(-1)-(127-y))**2) > 400 ? 0 : 255 - -plot 100.*(.4+sin(x/5.)/(x/5.)) lw 5 title 'solid line', \ - 'lena.rgb' binary array=(128,128) format="%uchar" flipy using 1:2:3:(focus(70,50)) \ - with rgbalpha title "Lena with circular mask" - -pause -1 "Hit return to continue" -reset diff --git a/demo/running_avg.dem b/demo/running_avg.dem index 206ff4c13..3bc9cdf60 100644 --- a/demo/running_avg.dem +++ b/demo/running_avg.dem @@ -41,6 +41,7 @@ plot sum = init(0), \ '' using 0:(avg5($2)) title "running mean over previous 5 points" pt 7 ps 0.5 lw 1 lc rgb "blue", \ '' using 0:(sum = sum + $2, sum/($0+1)) title "cumulative mean" pt 1 lw 1 lc rgb "dark-red" +if (exists("MANUAL_FIGURES")) exit pause -1 "Hit return to continue" reset diff --git a/demo/sectors.dem b/demo/sectors.dem new file mode 100644 index 000000000..c8cef337e --- /dev/null +++ b/demo/sectors.dem @@ -0,0 +1,496 @@ +######################################################### +# Fig.5: parameters for specifying an annular sector +######################################################### +# + +set title 'A single annular sector in plot style "with sectors"' + +set polar +set angles degree +set theta top cw +set xrange [-3:10] +set yrange [-3:10] +set size ratio -1 +unset border +unset raxis +unset tics +unset key + +array data[1] + +set arrow 1 from 6,0 to 9,0 +set arrow 1 heads size screen 0.015, 30, 90 filled front lw 1 lc rgb "gray30" + +plot \ + data using (-30):(6):(300):(3) with sectors lc rgb "gray80" lw 1,\ + data using (20):(0):(50):(6) with sectors lc rgb "gray80" lw 1,\ + data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border,\ + data using (20):(0):(50):(1) with sectors lc rgb "gray30" lw 1,\ + data using (20):(6) with points pt 7 ps 2 lc rgb "gray30", \ + data using (0):(0) with points pt 7 ps 2 lc rgb "gray30", \ + data using (0):(0):("(center_x, center_y)") with labels offset 0,-1 noenhanced, \ + data using (0):(0):("sector_angle") with labels offset 7,4.2 noenhanced rotate by 45, \ + data using (90):(7.5):("annulus_width") with labels offset 0,1.5 noenhanced, \ + data using (20):(6):("(corner_azimuth, corner_radius)") with labels offset -10,-1.5 noenhanced + +pause -1 " to continue" + +######################################################### +# Fig.2: polar heatmap positioned in cartesian coordinate +# system. Note that the two halves of the plot +# displaced by shifting the center to x = +/- 0.5. +######################################################### +# +reset + +set title "Polar heatmap composed of sectors\n"\ + ."positioned on a cartesian x/y plane" + +rmax = 10 +dr = 0.5 +tmax = 180 +dt = 10 + +f(t,r) = r*cos(t+20*r)**2 + +set angle degrees +set theta top cw +set xrange [-(rmax+2):(rmax+2)] +set yrange [-(rmax+2):(rmax+2)] +set size ratio -1 +unset border +unset tics +unset key + +set palette viridis +set colorbox user size 0.05, 0.5 origin 0.85,0.25 +set cbtics + +set table $data +set view map +splot sample [t=0:tmax-dt:dt] [r=0:rmax-dr:dr] "++" using (t):(r):(0) +unset table + +plot $data using 1:2:(dt):(dr):(0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid, \ + $data using (-$1):2:(-dt):(dr):(-0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid + +pause -1 " to continue" + +############################################ +# Yes/No survey results aggregated by groups +# Illustrates multiple sector plots in polar +# coordinate mode for the overall graph. +############################################ +# +reset + +set label 1 at screen 0.1, 0.9 +set label 1 "Multiple sector plots\npositioned on a polar graph" +set lmargin at screen 0.3 + +$data < to continue" + +######################################################### +# Fig.3: pie (donut) chart +######################################################### +# +reset + +set title "Pie (donut) chart drawn with sectors" + +$data < to continue" + +set title "Pie (donut) chart some slices have radial shift" +plot $data2 using 4:(4+0.7*$3):5:(3):($0+1) with sectors lc variable lw 3 fill solid border lc bgnd, \ + $data2 using ($4+$5/2):(8+0.7*$3):(sprintf("%.1f",$2)) with labels + +pause -1 " to continue" + +set title "Pie (donut) chart some slices have offset origin" +plot $data2 using 4:(4):5:(3):($4+$5/2):(0.7*$3):($0+1) with sectors lc variable lw 3 fill solid border lc bgnd, \ + $data2 using ($4+$5/2):(8+0.7*$3):(sprintf("%.1f",$2)) with labels + +pause -1 " to continue" + +######################################################### +# Fig.4: dial charts +######################################################### +# +reset + +set title "Dial charts drawn with sectors" + +$data < to continue" + +######################################################### +# Fig.6: 'units' option +######################################################### +# +reset + +set angles degree +set theta top cw +set xrange [0:10] +set yrange [0:10] +unset key + +array data[1] + +set size 0.5, 0.5 + +set multiplot layout 2,2 +set size noratio +plot \ + data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border, \ + data using (20):(6):(360):(3) with sectors lc rgb "gray30" lw 1, \ + data using (0.5):(2):("noratio\nunits xy") with labels left + +set size ratio -1 +plot \ + data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border, \ + data using (20):(6):(360):(3) with sectors lc rgb "gray30" lw 1, \ + data using (0.5):(2):("ratio -1\nunits xy") with labels left + +set size noratio +plot \ + data using (20):(6):(50):(3) with sectors units xx lc rgb "gray30" lw 2 fill solid 0.5 border, \ + data using (20):(6):(360):(3) with sectors units xx lc rgb "gray30" lw 1, \ + data using (0.5):(2):("noratio\nunits xx") with labels left + +set size noratio +plot \ + data using (20):(6):(50):(3) with sectors units yy lc rgb "gray30" lw 2 fill solid 0.5 border, \ + data using (20):(6):(360):(3) with sectors units yy lc rgb "gray30" lw 1, \ + data using (0.5):(2):("noratio\nunits yy") with labels left + +unset multiplot + +pause -1 " to continue" + +######################################################### +# Fig.9 hue Circle (HSV model) +######################################################### +# + +reset + +set polar +set angle degrees +set theta top cw + +set size ratio -1 +unset border +unset raxis +unset tics +unset key +unset colorbox + +set xrange [-5:5] +set yrange [-5:5] +set cbrange [0:360] + +da = 15 + +plot sample [t=0:360:da] \ + "+" using ($1-da/2.0):(2):(da):(2):(hsv2rgb($1/360,1,0.7)) with sectors \ + fc rgb variable fill solid 1 border lc bgnd lw 2, \ + [t=0:360-da:da] "+" using ($1):(4.5):(sprintf("%i",$1)) with labels + +pause -1 " to continue" + +######################################################### +# Fig.10 Wind rose (histgram on polar axis) +######################################################### +# + +reset + +set title "Wind rose (polar coordinate histogram using sectors)" + +$data < to continue" + + +######################################################### +# Fig.11 Scanning overwraps +######################################################### +# + +reset + +$data < to continue" + +######################################################### +# Fig.12 Pie charts (3 choices questionnaire) +######################################################### +# + +reset + +$data < to continue" + +######################################################### +# Fig.13 Circular discrete gauge +######################################################### +# + +reset + +set angles degrees +set theta top cw + +set xrange [-8:8] +set yrange [-8:8] +set size ratio -1 + +unset border +unset tics +unset key + +set style fill solid border lc rgb "gray" + +plot sample [t=0:350:15] "+" using (t-5):(4):(10):(2) with sectors fc rgb "gray90" fill border lc black lw 2, \ + [t=0:220:15] "+" using (t-5):(4):(10):(2) with sectors fc rgb "orange" fill border lc black lw 2 + +pause -1 " to continue" + +######################################################### +# Fig.14 Polar points with radial error +######################################################### +# + +reset + +set title "Polar coordinate points with both radial and angular error\n" \ + . "represented by sectors" + +set polar +set angles degree +set theta top cw +unset border +unset raxis +unset tics +unset key + +set xrange [-15:15] +set yrange [-15:15] +set size ratio -1 + +$data4 < to continue" + +reset diff --git a/demo/spotlight.dem b/demo/spotlight.dem index 5b7be4c7e..2f879d249 100644 --- a/demo/spotlight.dem +++ b/demo/spotlight.dem @@ -12,7 +12,6 @@ set view 90., 0., 1.6 set samples 95 set isosamples 95 set xyplane at 0 -set title "Hot keys x/X and y/Y move red spotlight" set pm3d depthorder set pm3d lighting primary 0.5 specular 0.2 spec2 0.5 set pm3d spotlight rgb 0xff0044 rot_x 35 rot_z 0 Phong 10.0 @@ -25,6 +24,7 @@ bind all 'X' "spot_x = spot_x-5.; set pm3d spotlight rot_x spot_x; replot" bind all 'Y' "spot_z = spot_z-5.; set pm3d spotlight rot_z spot_z; replot" bind all 'y' "spot_z = spot_z+5.; set pm3d spotlight rot_z spot_z; replot" +set title "In interactive terminals,\nHot keys x/X and y/Y move red spotlight" splot cos(u)*cos(v),cos(u)*sin(v),sin(u) with pm3d fc "gray" pause -1 "Hot keys x/X y/Y move spotlight" diff --git a/demo/steps.dem b/demo/steps.dem index d67b6f9f8..63016ddba 100644 --- a/demo/steps.dem +++ b/demo/steps.dem @@ -1,11 +1,13 @@ -# Illustrate three variants of step plots +# Illustrate three variants of step plots - same data, three styles # plot with steps # plot with fsteps # plot with histeps # plot with fillsteps set title "Compare steps, fsteps and histeps" -plot [0:12][0:13] "steps.dat" notitle with points, \ +set key left + +plot [0:12][0:13] "steps.dat" notitle with points ps 2 pt 6, \ "steps.dat" title 'steps' with steps, \ 'steps.dat' title 'fsteps' with fsteps, \ 'steps.dat' title 'histeps' with histeps @@ -14,7 +16,8 @@ pause -1 "Hit return for demonstration of automatic histogram creation" set title "Histogram built from unsorted data by 'smooth frequency'" set ylabel 'counts per bin' set xlabel 'bins' -plot 'hemisphr.dat' u (floor($1*20)):(1) smooth frequency with histeps +set key right +plot 'hemisphr.dat' u (floor($1*20)):(1) smooth frequency with histeps title "with histeps" pause -1 "Hit return to see the same plot with fillsteps" set style fill solid 1.0 diff --git a/demo/uigamma.dem b/demo/uigamma.dem index 4ae15ab2b..647b75da2 100644 --- a/demo/uigamma.dem +++ b/demo/uigamma.dem @@ -33,7 +33,7 @@ reset # Q(a,x) as uigamma # unset key -set title offset 0, -7 +set title offset 0, -7.5 set pointsize 0.5 set grid x @@ -41,7 +41,7 @@ set multiplot layout 2,1 upwards margins 0.25, 0.95, 0.1, 0.95 spacing 0, screen set xrange [83. : 89.] set yrange [1. - 2.e-15 : 1.0] set format y "%.16f" -set title "Lower incomplete gamma function: igamma(23, x)" +set title "Lower incomplete gamma function: igamma(23, x)\n(low precision in this range)" plot igamma(23., x) with points notitle set format y " %h" diff --git a/demo/viridis.dem b/demo/viridis.dem new file mode 100644 index 000000000..d982ab567 --- /dev/null +++ b/demo/viridis.dem @@ -0,0 +1,7 @@ +# +# Show viridis palette +# +set palette viridis +test palette +pause -1 +reset diff --git a/demo/watchmouse.dem b/demo/watchmouse.dem index d2df0bbb4..6f554c072 100644 --- a/demo/watchmouse.dem +++ b/demo/watchmouse.dem @@ -61,6 +61,7 @@ plot keyentry with yerrorbars pt 6 ps 0.4 title "min/avg/max temp", \ pause -1 ' to continue' +unset datafile reset diff --git a/demo/watchpoints.dem b/demo/watchpoints.dem index 3faa50819..7176089c4 100644 --- a/demo/watchpoints.dem +++ b/demo/watchpoints.dem @@ -28,6 +28,8 @@ set obj 2 fs empty bo lc "blue" set obj 3 rect from real(WATCH_3[1]), imag(WATCH_3[1]) to graph 2, graph -2 set obj 3 fs empty bo lc "forest-green" +pause 0 + replot show watchpoints @@ -54,6 +56,8 @@ plot 'silver.dat' using 1:2, '' using 1:($0+$3) watch x=INTERSECT_X INTERSECT_Y = imag(WATCH_1[1]) show var INTERSECT +pause 0 + set label 1 at INTERSECT_X, INTERSECT_Y point pt 6 ps 3 set arrow 1 from INTERSECT_X, 0.1*INTERSECT_Y to INTERSECT_X, 0.8*INTERSECT_Y noborder plot 'silver.dat' using 1:2 lw 2, '' using 1:($0+$3) lw 2, \ @@ -78,7 +82,7 @@ plot sample [t=-1:3.95] '+' using (FresnelC(t)) : (FresnelS(t)) with lines watch show watchpoints -pause -1 " to replot with intercept labels constructed from WATCH_1 array" +pause 0 set title "Intercept labels constructed from WATCH_1 array values" noenhanced set for [i=1:|WATCH_1|] label i at real(WATCH_1[i]), imag(WATCH_1[i]) diff --git a/demo/windrose.dem b/demo/windrose.dem new file mode 100644 index 000000000..16ee2adbf --- /dev/null +++ b/demo/windrose.dem @@ -0,0 +1,61 @@ +# Wind rose created using plot style "sectors" +# +set title "Wind rose (polar coordinate histogram using sectors)" + +$data < to continue" +reset + diff --git a/docs/.gitignore b/docs/.gitignore index 80c72e998..a75b06056 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -3,6 +3,7 @@ Makefile Makefile.in alldoc2gih allterm.h +allterm-ja.h checkdoc doc2gih doc2hlp diff --git a/docs/Makefile.am b/docs/Makefile.am index 61bce64b0..38412c57e 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -46,7 +46,7 @@ CORETERM = $(T)ai.trm $(T)aquaterm.trm $(T)be.trm $(T)block.trm $(T)caca.trm \ $(T)cairo.trm $(T)canvas.trm $(T)cgm.trm $(T)context.trm \ $(T)debug.trm $(T)djsvga.trm $(T)dumb.trm $(T)dxf.trm \ $(T)emf.trm $(T)epson.trm \ -$(T)estimate.trm $(T)fig.trm $(T)gd.trm $(T)ggi.trm \ +$(T)estimate.trm $(T)fig.trm $(T)gd.trm \ $(T)gpic.trm $(T)grass.trm $(T)hpgeneric.h $(T)hpgl.trm $(T)imagen.trm \ $(T)linux-vgagl.trm $(T)latex_old.h \ $(T)lua.trm $(T)pbm.trm $(T)pict2e.trm \ @@ -57,7 +57,7 @@ $(T)tkcanvas.trm $(T)webp.trm $(T)win.trm $(T)wxt.trm $(T)x11.trm $(T)xlib.trm LEGACYTERM = $(T)latex.trm $(T)emtex.trm $(T)eepic.trm $(T)tpic.trm \ $(T)corel.trm $(T)dxy.trm $(T)excl.trm $(T)kyo.trm $(T)mif.trm \ -$(T)metafont.trm $(T)metapost.trm \ +$(T)metafont.trm $(T)metapost.trm $(T)ggi.trm\ $(T)hp2648.trm $(T)hp26.trm $(T)hp500c.trm $(T)hpljii.trm $(T)hppj.trm \ $(T)pc.trm $(T)pdf.trm $(T)qms.trm $(T)vws.trm @@ -68,7 +68,7 @@ JATERM = $(TJ)ai.trm $(TJ)aquaterm.trm $(TJ)be.trm $(TJ)block.trm $(TJ)caca.trm $(TJ)cairo.trm $(TJ)canvas.trm $(TJ)cgm.trm $(TJ)context.trm \ $(TJ)debug.trm $(TJ)djsvga.trm $(TJ)dumb.trm $(TJ)dxf.trm \ $(TJ)emf.trm $(TJ)epson.trm \ -$(TJ)estimate.trm $(TJ)fig.trm $(TJ)gd.trm $(TJ)ggi.trm \ +$(TJ)estimate.trm $(TJ)fig.trm $(TJ)gd.trm \ $(TJ)gpic.trm $(TJ)grass.trm $(TJ)hpgeneric.h $(TJ)hpgl.trm $(TJ)imagen.trm \ $(TJ)linux-vgagl.trm $(TJ)latex_old.h \ $(TJ)lua.trm $(TJ)pbm.trm $(TJ)pict2e.trm \ @@ -87,9 +87,9 @@ TERM_H = $(top_srcdir)/src/term.h DOCHEADERS = doc2x.h xref.h -EXTRA_DIST = Makefile.in doc2texi.el figure_missing.pdf gnuplot.doc \ -titlepag.ipf titlepag.tex \ -toc_entr.sty psdoc gnuplot-ja.doc README.ja \ +EXTRA_DIST = Makefile.in doc2texi.el gnuplot.doc \ +titlepag.ipf titlepag.tex title-ja.tex \ +toc_entr.sty psdoc gnuplot-ja.doc README.ja \ term-ja.diff plotstyles.gnu gnuplot.pdf \ windows/wgnuplot.hhk windows/wgnuplot.hhp windows/wgnuplot.stp windows/doc2html.c \ html/gnuplot_docs.css @@ -101,7 +101,7 @@ gnuplot.ind gpinsetfigure.aux gpinsetfigure.tex figurestyle \ no_figures tikz_figures pdf_figures \ wxhelp/doc2html.o -CLEANFILES = allterm.h gnuplot.dvi gnuplot.tex gnuplot.idx gnuplot.ilg \ +CLEANFILES = gnuplot.dvi gnuplot.tex gnuplot.idx gnuplot.ilg \ gnuplot.ps gnuplot.gih gnuplot.hlp gnuplot.info* gnuplot.ipf \ gnuplot.rtf gnuplot.tmp VERSION gnuplot.4tc gnuplot.4ct \ gnuplot.idv gnuplot.xref gnuplot.lg gnuplot.pdf \ @@ -115,7 +115,7 @@ windows/*.png gnuplot.htb gnuplot.texi gnuplot-eldoc.el $(ELCS) DISTFILES = $(DIST_COMMON) $(SOURCES) $(DOCHEADERS) $(EXTRA_DIST) -BUILT_SOURCES = allterm.h +BUILT_SOURCES = allterm.h allterm-ja.h GNUPLOT_EXE = ../src/gnuplot$(EXEEXT) @@ -183,7 +183,7 @@ tikz: tikz_figures gnuplot.pdf figurestyle pdf_nofig: no_figures gnuplot.pdf figurestyle rm -f tikz_figures pdf_figures -gnuplot.pdf: gnuplot.tex $(srcdir)/titlepag.tex $(srcdir)/toc_entr.sty figurestyle +gnuplot.pdf: gnuplot.tex $(srcdir)/titlepag.tex $(srcdir)/toc_entr.sty pdf_figures $(AM_V_GEN)if test $(PDFLATEX) != no ; then \ TEXINPUTS=.:$(srcdir):$(top_srcdir):${TEXINPUTS}: $(PDFLATEX) $< ; \ TEXINPUTS=.:$(srcdir):$(top_srcdir):${TEXINPUTS}: $(PDFLATEX) $< ; \ @@ -237,9 +237,9 @@ gnuplot.ps: gnuplot.dvi allterm-ja.h: $(CORETERM) $(LUA_HELP) -mkdir ja -mkdir ja/docs; - cp doc2rtf.c ja/docs + cp $(top_srcdir)/docs/doc2rtf.c ja/docs cp -r $(top_srcdir)/term $(TJ) - -( cd ja ; patch -p0 < ../term-ja.diff ) + -( cd ja ; patch -p0 < $(top_srcdir)/docs/term-ja.diff ) $(AM_V_GEN) for e in `grep -E "^[ ]*START_HELP" $(JATERM) |\ LC_ALL=C sort -f -t':' -k2` ; do \ f=`echo $$e |cut -d\: -f1` ; s=`echo $$e | cut -d\: -f2` ;\ @@ -247,6 +247,7 @@ allterm-ja.h: $(CORETERM) $(LUA_HELP) done >allterm.tmp iconv -f EUC-JP -t UTF-8 < allterm.tmp >$@ rm allterm.tmp + -chmod -R +w $(TJ) rm -rf $(TJ) gnuplot-ja.pdf: gnuplot-ja.doc title-ja.tex pdf_figures allterm-ja.h doc2tex$(EXEEXT) @@ -312,6 +313,8 @@ doc2web_CPPFLAGS = -DALL_TERM_DOC -I../src $(AM_CPPFLAGS) html: allterm.h doc2web$(EXEEXT) $(srcdir)/gnuplot.doc svg_figures webp_figures $(AM_V_at) [ -d html ] || mkdir -p html + $(AM_V_at) rm -f html/Overview.html html/Plotting_Styles.html html/Commands.html html/Terminals.html + $(AM_V_at) rm -f html/NewFeatures.html $(AM_V_GEN)./doc2web$(EXEEXT) $(srcdir)/gnuplot.doc html $(AM_V_GEN) sort -k 3 html/index.hhk > html/index.html @@ -400,4 +403,7 @@ clean-local: $(AM_V_at)rm -f pdf_figures $(AM_V_at)rm -rf ja +distclean: clean + -rm -f $(BUILT_SOURCES) + #the end diff --git a/docs/README b/docs/README index 0f938b684..e8e6f1798 100644 --- a/docs/README +++ b/docs/README @@ -51,10 +51,7 @@ See README.emacs in the top directory. On OS/2, the Information Presentation Facility Compiler converts the file "gnuplot.ipf" to a "gnuplot.inf" file. -The printed document is available in troff/nroff (ms) format, using -the file "gnuplot.ms". For nroff, use 'make nroff'. For troff, type -'make ms' and then 'troff -ms gnuplot.ms' in whatever way you use troff. -For groff (on linux), use 'groff -t -e -mgs gnuplot.ms' +Deprecated: troff/nroff output is no longer supported. On MS-Windows, the Microsoft HTML help compiler converts the file "wgnuplot.html" to a 'chm' file which is used by the standard Windows @@ -72,9 +69,9 @@ makefile. The interactive help generators use the same set of compiler directives in "term.h", and thus interactive help contains information for just those terminals actually loaded. -The printed manual generators and the html generator contain information -about all terminals. This is accomplished by concatenating all of the -".trm" files into a single one, "allterm.h". +However the printed manual generators and the html generator contain +information about all terminals. This is accomplished by concatenating +all of the ".trm" files into a single one, "allterm.h". The file "termdoc.c" is used by each of the nine processing programs ("doc2gih.c", etc.); it #includes either "term.h" or "allterm.h", as is @@ -118,8 +115,9 @@ Here is an example of the DOC master help format: ?functions acos ?acos 4 acos - This function returns the arc cosine (inverse cosine) of its - argument. 'acos' returns its argument in radians. +Ffigure_acos + This function returns the arc cosine of its argument. + The figure shows abs(acos(z)) for complex z = x + y*I Some notes about the format: @@ -158,12 +156,13 @@ Control characters in first column: #b bulleted list entry ## continuation of bulleted item = used by doc2tex: index entry -F used by doc2{tex,html}: embedded figure (followed by base name of the pdf file) +F used by doc2{tex,html}: embedded figure (followed by base name of the image file) % used by doc2ms: table entry ^ used by doc2{tex,html}: hypertext link / HTML code < the help from the terminal driver files is inserted at this point. C comment (mainly for RCS ID line) C# reserved form of comment (used internally by termdoc.c) +D reference, link, or direct inclusion of a figure from the demo collection Tables: diff --git a/docs/allterm-ja.h b/docs/allterm-ja.h deleted file mode 100644 index 6a2377558..000000000 --- a/docs/allterm-ja.h +++ /dev/null @@ -1,9742 +0,0 @@ -START_HELP(00psglobal) -#ifndef JAPANESE_DOC -#define PS_COMMON_OPTS1 \ -" {level1 | leveldefault | level3}",\ -" {color | colour | monochrome}",\ -" {background | nobackground}",\ -" {dashlength | dl
    }",\ -" {linewidth | lw } {pointscale | ps }",\ -" {rounded | butt}",\ -" {clip | noclip}",\ -" {palfuncparam {,}}",\ -" {size {unit},{unit}}", -#define PS_COMMON_OPTS2 \ -" {blacktext | colortext | colourtext}",\ -" {{font} \"fontname{,fontsize}\" {}}",\ -" {fontscale }", -#define PS_COMMON_PROLOG_INFO \ -" If you see the error message",\ -" \"Can't find PostScript prologue file ... \"",\ -" Please see and follow the instructions in `postscript prologue`.",\ -"", -#define PS_COMMON_DOC1 \ -" The option `color` enables color, while `monochrome` prefers black and white",\ -" drawing elements. Further, `monochrome` uses gray `palette` but it does not",\ -" change color of objects specified with an explicit `colorspec`."\ -"",\ -" `dashlength` or `dl` scales the length of dashed-line segments by
    ,",\ -" which is a floating-point number greater than zero.",\ -" `linewidth` or `lw` scales all linewidths by .",\ -"",\ -" By default the generated PostScript code uses language features that were",\ -" introduced in PostScript Level 2, notably filters and pattern-fill of",\ -" irregular objects such as filledcurves. PostScript Level 2 features are",\ -" conditionally protected so that PostScript Level 1 interpreters do not issue",\ -" errors but, rather, display a message or a PostScript Level 1 approximation.",\ -" The `level1` option substitutes PostScript Level 1 approximations of these",\ -" features and uses no PostScript Level 2 code. This may be required by some",\ -" old printers and old versions of Adobe Illustrator. The flag `level1` can be",\ -" toggled later by editing a single line in the PostScript output file to force",\ -" PostScript Level 1 interpretation. In the case of files containing level 2",\ -" code, the above features will not appear or will be replaced by a note when",\ -" this flag is set or when the interpreting program does not indicate that it",\ -" understands level 2 PostScript or higher. The flag `level3` enables PNG",\ -" encoding for bitmapped images, which can reduce the output size considerably.",\ -"",\ -" `rounded` sets line caps and line joins to be rounded; `butt` is the",\ -" default, butt caps and mitered joins.",\ -"",\ -" `clip` tells PostScript to clip all output to the bounding box;",\ -" `noclip` is the default.",\ -"",\ -" `palfuncparam` controls how `set palette functions` are encoded as gradients",\ -" in the output. Analytic color component functions (set via",\ -" `set palette functions`) are encoded as linear interpolated gradients in the",\ -" postscript output: The color component functions are sampled at ",\ -" points and all points are removed from this gradient which can be removed",\ -" without changing the resulting colors by more than . For",\ -" almost every useful palette you may safely leave the defaults of",\ -" =2000 and =0.003 untouched.",\ -"",\ -" The default size for postscript output is 10 inches x 7 inches. The default",\ -" for eps output is 5 x 3.5 inches. The `size` option changes this to",\ -" whatever the user requests. By default the X and Y sizes are taken to be in",\ -" inches, but other units are possibly (currently only cm). The BoundingBox",\ -" of the plot is correctly adjusted to contain the resized image.",\ -" Screen coordinates always run from 0.0 to 1.0 along the full length of the",\ -" plot edges as specified by the `size` option.",\ -" NB: `this is a change from the previously recommended method of using the",\ -" set size command prior to setting the terminal type`. The old method left",\ -" the BoundingBox unchanged and screen coordinates did not correspond to the",\ -" actual limits of the plot.",\ -"", -"" -#else /* JAPANESE_DOC */ -#define PS_COMMON_OPTS1 \ -" {level1 | leveldefault | level3}",\ -" {color | colour | monochrome}",\ -" {background | nobackground}",\ -" {dashlength | dl
    }",\ -" {linewidth | lw } {pointscale | ps }",\ -" {rounded | butt}",\ -" {clip | noclip}",\ -" {palfuncparam {,}}",\ -" {size {unit},{unit}}", -#define PS_COMMON_OPTS2 \ -" {blacktext | colortext | colourtext}",\ -" {{font} \"fontname{,fontsize}\" {}}",\ -" {fontscale }", -#define PS_COMMON_PROLOG_INFO \ -" 以下のようなエラーメッセージが出た場合:",\ -" \"Can't find PostScript prologue file ... \"",\ -" 以下参照: `postscript prologue`。そしてその指示に従ってください。",\ -"", -#define PS_COMMON_DOC1 \ -" オプション `color` はカラーを有効にし、`monochrome` は各要素を黒と白",\ -" 描画します。さらに、`monochrome` は灰色の `palette` も使用しますが、",\ -" これは、明示的に `colorspec` で指定された部品の色を変更しません。",\ -"",\ -" `dashlength` または `dl` は点線の線分の長さを
    (0 より大きい実数)",\ -" に設定し、",\ -" `linewidth` または `lw` は全ての線の幅を に設定します。",\ -"",\ -" デフォルトでは、生成される PostScript コードは、特にフィルタリングや",\ -" filledcurves のようなでこぼこな領域のパターン塗りつぶしにおいて、",\ -" PostScript Level 2 として紹介されている言語機能を使います。PostScript",\ -" Level 2 の機能は条件的に保護されていて、PostScript Level 1 のインター",\ -" プリタがエラーを出さず、むしろメッセージか PostScript Level 1 による",\ -" 近似であることを表示するようになっています。`level1` オプションは、こ",\ -" れらの機能を近似する PostScript Level1 で代用し、PostScript Level 2 ",\ -" コードを一切使用しません。これは古いプリンタや、Adobe Illustrator の",\ -" 古いバージョンなどで必要になるかもしれません。このフラグ `level1` は",\ -" 出力された PostScript ファイルのある一行を手で編集することで、後から",\ -" 強制的に PostScript Level 1 機能を ON/OFF にすることもできます。level",\ -" 2 のコードが含まれている場合、上の機能は現われないか、このフラグがセ",\ -" ットされた場合、あるいは PostScript インタプリタプログラムが level 2",\ -" 以上の PostScript を解釈するとは言わなかった場合に警告文に置き換わり",\ -" ます。`level3` オプションは、ビットマップ画像の PNG 化の機能を有効に" ,\ -" します。それにより出力サイズをかなり削減できます。",\ -"",\ -" `rounded` は、線の端や接合部を丸くし、デフォルトの `butt` は尖った端と",\ -" 角張った接合部を使用します。",\ -"",\ -" `clip` は、PostScript にすべての出力を BoundingBox (PostScript の外枠)",\ -" でクリップすることを指示します; デフォルトは `noclip` です。",\ -"",\ -" `palfuncparam` は `set palette functions` から出力の傾きをどのようにコ",\ -" ード化するかを制御します。解析的な色の成分関数 (`set palatte functions` ",\ -" で設定される) は、postscript 出力では傾きの線形補完を用いてコード化さ",\ -" れます: まず色の成分関数が 個の点で標本化され、そしてそれら",\ -" の点は、結果として線形補完との偏差が 以内に収まるように",\ -" 削除されます。ほとんど全ての有効なパレットで、デフォルトの ",\ -" =2000 と =0.003 の値をそのまま使うのが良いでしょう。",\ -"",\ -" PostScript 出力のデフォルトの大きさは 10 インチ x 7 インチです。EPS ",\ -" 出力のデフォルトの大きさは 5 x 3.5 インチです。オプション `size` は",\ -" これらをユーザが指定したものに変更します。デフォルトでは X と Y のサ",\ -" イズの単位はインチとみなされますが、他の単位 (現在は cm のみ) も使う",\ -" ことはできます。描画の BoundingBox (PostScript ファイルの外枠) は、",\ -" サイズが変更された画像を丁度含むように正しく設定されます。",\ -" スクリーン座標は、オプション `size` で指定された描画枠の全体が 0.0",\ -" から 1.0 になります。",\ -" 注意: `これは、以前は、出力形式での設定よりも、コマンド set size で",\ -" 設定した方がいい、と言っていたことの変更を意味します`。以前の方法で",\ -" は BoundingBox は変更されずに残ってしまい、スクリーン座標が実際の描",\ -" 画の限界に対応していませんでした。",\ -"", -"" -#endif /* JAPANESE_DOC */ -END_HELP(00psglobal) -START_HELP(aifm) -#ifndef JAPANESE_DOC -"1 aifm", -"?commands set terminal aifm", -"?set terminal aifm", -"?set term aifm", -"?terminal aifm", -"?term aifm", -"?aifm", -"", -" `NOTE: Legacy terminal`, originally written for Adobe Illustrator 3.0+.", -" Since Adobe Illustrator understands PostScript level 1 commands directly,", -" you should use `set terminal post level1` instead.", -"", -" Syntax:", -" set terminal aifm {color|monochrome} {\"\"} {}", -"" -#else /* JAPANESE_DOC */ -"1 aifm", -"?commands set terminal aifm", -"?set terminal aifm", -"?set term aifm", -"?terminal aifm", -"?term aifm", -"?aifm", -"", -" `注意: 古い (legacy) 出力形式`、元々は Adobe Illustrator 3.0+ 用。Adobe", -" Illustrator はレベル 1 の PostScriptファイルを直接認識するので、これの", -" 代わりに `set terminal post level1` 使うべきでしょう。", -"", -" 書式:", -" set terminal aifm {color|monochrome} {\"\"} {}", -"" -#endif /* JAPANESE_DOC */ -END_HELP(ai) -START_HELP(aqua) -#ifndef JAPANESE_DOC -"1 aqua", -"?commands set terminal aqua", -"?set terminal aqua", -"?set term aqua", -"?terminal aqua", -"?term aqua", -"?aqua", -"?Aqua", -" This terminal relies on AquaTerm.app for display on Mac OS X.", -"", -" Syntax:", -" set terminal aqua {} {title \"\"} {size }", -" {font \"{,}\"}", -" {linewidth }\"}", -" {{no}enhanced} {solid|dashed} {dl }}", -"", -" where is the number of the window to draw in (default is 0),", -" is the name shown in the title bar (default \"Figure \"),", -" is the size of the plot (default is 846x594 pt = 11.75x8.25 in).", -"", -" Use to specify the font (default is \"Times-Roman\"),", -" and to specify the font size (default is 14.0 pt).", -"", -" The aqua terminal supports enhanced text mode (see `enhanced`), except for", -" overprint. Font support is limited to the fonts available on the system.", -" Character encoding can be selected by `set encoding` and currently supports", -" iso_latin_1, iso_latin_2, cp1250, and UTF8 (default).", -"", -" Lines can be drawn either solid or dashed, (default is solid) and the dash", -" spacing can be modified by which is a multiplier > 0.", -"" -#else /* JAPANESE_DOC */ -"1 aqua", -"?commands set terminal aqua", -"?set terminal aqua", -"?set term aqua", -"?terminal aqua", -"?term aqua", -"?aqua", -"?Aqua", -" この出力形式は Mac OS X 上の表示に関する AquaTerm.app に依存しています。", -"", -" 書式:", -" set terminal aqua {} {title \"\"} {size }", -" {font \"{,}\"}", -" {linewidth }\"}", -" {{no}enhanced} {solid|dashed} {dl }}", -"", -" は描画するウィンドウの番号 (デフォルトでは 0)", -" はタイトルバーに表示される名前 (デフォルトは \"Figure \"),", -" は描画サイズ (デフォルトは 846x594 pt = 11.75x8.25 インチ) です。", -"", -" 使用するフォントは で指定し (デフォルトは \"Times-Roman\")、", -" フォントサイズは で指定します (デフォルトは 14.0 pt)。", -"", -" aqua 出力形式は、拡張文字列処理モード (enhanced text mode; 以下参照:", -" `enhanced`) を、重ね書き以外はサポートしてます。フォントの使用はシステ", -" ムで有効なフォントに制限されています。文字エンコーディングは、", -" `set encoding` で選択できますが、現在は iso_latin_1, iso_latin_2,", -" cp1250 と UTF8 (default) をサポートしています。", -"", -" 曲線は、実線か点線 (デフォルトは実線) のいずれかで描画でき、点線の間隔は", -" 倍率 (>0) で変更できます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(aqua) -START_HELP(be) -#ifndef JAPANESE_DOC -"1 be", -"?commands set terminal be", -"?set terminal be", -"?set term be", -"?terminal be", -"?term be", -"?be", -"?BE", -" The `be` terminal type is present if gnuplot is built for the `beos`", -" operating system and for use with X servers. It is selected at program", -" startup if the `DISPLAY` environment variable is set, if the `TERM`", -" environment variable is set to `xterm`, or if the `-display` command", -" line option is used.", -"", -" Syntax:", -" set terminal be {reset} {}", -"", -" Multiple plot windows are supported: `set terminal be ` directs the", -" output to plot window number n. If n>0, the terminal number will be", -" appended to the window title and the icon will be labeled `gplt `.", -" The active window may distinguished by a change in cursor (from default", -" to crosshair.)", -"", -" Plot windows remain open even when the `gnuplot` driver is changed to a", -" different device. A plot window can be closed by pressing the letter q", -" while that window has input focus, or by choosing `close` from a window", -" manager menu. All plot windows can be closed by specifying `reset`, which", -" actually terminates the subprocess which maintains the windows (unless", -" `-persist` was specified).", -"", -" Plot windows will automatically be closed at the end of the session", -" unless the `-persist` option was given.", -"", -" The size or aspect ratio of a plot may be changed by resizing the `gnuplot`", -" window.", -"", -" Linewidths and pointsizes may be changed from within `gnuplot` with", -" `set linestyle`.", -"", -" For terminal type `be`, `gnuplot` accepts (when initialized) the standard", -" X Toolkit options and resources such as geometry, font, and name from the", -" command line arguments or a configuration file. See the X(1) man page", -" (or its equivalent) for a description of such options.", -"", -" A number of other `gnuplot` options are available for the `be` terminal.", -" These may be specified either as command-line options when `gnuplot` is", -" invoked or as resources in the configuration file \".Xdefaults\". They are", -" set upon initialization and cannot be altered during a `gnuplot` session.", -"2 command-line_options", -"?commands set terminal be command-line-options", -"?set terminal be command-line-options", -"?set term be command-line-options", -"?be command-line-options", -" In addition to the X Toolkit options, the following options may be specified", -" on the command line when starting `gnuplot` or as resources in your", -" \".Xdefaults\" file:", -"@start table - first is interactive cleartext form", -" `-mono` forces monochrome rendering on color displays.", -" `-gray` requests grayscale rendering on grayscale or color displays.", -" (Grayscale displays receive monochrome rendering by default.)", -" `-clear` requests that the window be cleared momentarily before a", -" new plot is displayed.", -" `-raise` raises plot window after each plot", -" `-noraise` does not raise plot window after each plot", -" `-persist` plots windows survive after main gnuplot program exits", -"#\\begin{tabular}{|cl|} \\hline", -"#`-mono` & forces monochrome rendering on color displays.\\\\", -"#`-gray` & requests grayscale rendering on grayscale or color displays.\\\\", -"# & (Grayscale displays receive monochrome rendering by default.) \\\\", -"#`-clear` & requests that the window be cleared momentarily before a\\\\", -"# & new plot is displayed. \\\\", -"#`-raise` & raises plot window after each plot. \\\\", -"#`-noraise` & does not raise plot window after each plot. \\\\", -"#`-persist`&plots windows survive after main gnuplot program exits. \\\\", -"%c l .", -"%`-mono`@forces monochrome rendering on color displays.", -"%`-gray`@requests grayscale rendering on grayscale or color displays.", -"% @(Grayscale displays receive monochrome rendering by default.)", -"%`-clear`@requests that the window be cleared momentarily before a", -"% @new plot is displayed.", -"%`-raise`@raises plot window after each plot", -"%`-noraise`@does not raise plot window after each plot", -"%`-persist`@plots windows survive after main gnuplot program exits", -"@end table", -" The options are shown above in their command-line syntax. When entered as", -" resources in \".Xdefaults\", they require a different syntax.", -"", -" Example:", -" gnuplot*gray: on", -"", -" `gnuplot` also provides a command line option (`-pointsize `) and a", -" resource, `gnuplot*pointsize: `, to control the size of points plotted", -" with the `points` plotting style. The value `v` is a real number (greater", -" than 0 and less than or equal to ten) used as a scaling factor for point", -" sizes. For example, `-pointsize 2` uses points twice the default size, and", -" `-pointsize 0.5` uses points half the normal size.", -"2 monochrome_options", -"?commands set terminal be monochrome_options", -"?set terminal be monochrome_options", -"?set term be monochrome_options", -"?be monochrome_options", -" For monochrome displays, `gnuplot` does not honor foreground or background", -" colors. The default is black-on-white. `-rv` or `gnuplot*reverseVideo: on`", -" requests white-on-black.", -"", -"2 color_resources", -"?commands set terminal be color_resources", -"?set terminal be color_resources", -"?set term be color_resources", -"?be color_resources", -" For color displays, `gnuplot` honors the following resources (shown here", -" with their default values) or the greyscale resources. The values may be", -" color names as listed in the BE rgb.txt file on your system, hexadecimal", -" RGB color specifications (see BE documentation), or a color name followed", -" by a comma and an `intensity` value from 0 to 1. For example, `blue, 0.5`", -" means a half intensity blue.", -"@start table - first is interactive cleartext form", -" gnuplot*background: white", -" gnuplot*textColor: black", -" gnuplot*borderColor: black", -" gnuplot*axisColor: black", -" gnuplot*line1Color: red", -" gnuplot*line2Color: green", -" gnuplot*line3Color: blue", -" gnuplot*line4Color: magenta", -" gnuplot*line5Color: cyan", -" gnuplot*line6Color: sienna", -" gnuplot*line7Color: orange", -" gnuplot*line8Color: coral", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: white\\\\", -"#&gnuplot*textColor: black\\\\", -"#&gnuplot*borderColor: black\\\\", -"#&gnuplot*axisColor: black\\\\", -"#&gnuplot*line1Color: red\\\\", -"#&gnuplot*line2Color: green\\\\", -"#&gnuplot*line3Color: blue\\\\", -"#&gnuplot*line4Color: magenta\\\\", -"#&gnuplot*line5Color: cyan\\\\", -"#&gnuplot*line6Color: sienna\\\\", -"#&gnuplot*line7Color: orange\\\\", -"#&gnuplot*line8Color: coral\\\\", -"%c l .", -"%@gnuplot*background: white", -"%@gnuplot*textColor: black", -"%@gnuplot*borderColor: black", -"%@gnuplot*axisColor: black", -"%@gnuplot*line1Color: red", -"%@gnuplot*line2Color: green", -"%@gnuplot*line3Color: blue", -"%@gnuplot*line4Color: magenta", -"%@gnuplot*line5Color: cyan", -"%@gnuplot*line6Color: sienna", -"%@gnuplot*line7Color: orange", -"%@gnuplot*line8Color: coral", -"@end table", -"", -" The command-line syntax for these is, for example,", -"", -" Example:", -" gnuplot -background coral", -"", -"2 grayscale_resources", -"?commands set terminal be grayscale_resources", -"?set terminal be grayscale_resources", -"?set term be grayscale_resources", -"?be grayscale_resources", -" When `-gray` is selected, `gnuplot` honors the following resources for", -" grayscale or color displays (shown here with their default values). Note", -" that the default background is black.", -"@start table - first is interactive cleartext form", -" gnuplot*background: black", -" gnuplot*textGray: white", -" gnuplot*borderGray: gray50", -" gnuplot*axisGray: gray50", -" gnuplot*line1Gray: gray100", -" gnuplot*line2Gray: gray60", -" gnuplot*line3Gray: gray80", -" gnuplot*line4Gray: gray40", -" gnuplot*line5Gray: gray90", -" gnuplot*line6Gray: gray50", -" gnuplot*line7Gray: gray70", -" gnuplot*line8Gray: gray30", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: black\\\\", -"#&gnuplot*textGray: white\\\\", -"#&gnuplot*borderGray: gray50\\\\", -"#&gnuplot*axisGray: gray50\\\\", -"#&gnuplot*line1Gray: gray100\\\\", -"#&gnuplot*line2Gray: gray60\\\\", -"#&gnuplot*line3Gray: gray80\\\\", -"#&gnuplot*line4Gray: gray40\\\\", -"#&gnuplot*line5Gray: gray90\\\\", -"#&gnuplot*line6Gray: gray50\\\\", -"#&gnuplot*line7Gray: gray70\\\\", -"#&gnuplot*line8Gray: gray30\\\\", -"%c l .", -"%@gnuplot*background: black", -"%@gnuplot*textGray: white", -"%@gnuplot*borderGray: gray50", -"%@gnuplot*axisGray: gray50", -"%@gnuplot*line1Gray: gray100", -"%@gnuplot*line2Gray: gray60", -"%@gnuplot*line3Gray: gray80", -"%@gnuplot*line4Gray: gray40", -"%@gnuplot*line5Gray: gray90", -"%@gnuplot*line6Gray: gray50", -"%@gnuplot*line7Gray: gray70", -"%@gnuplot*line8Gray: gray30", -"@end table", -"", -"2 line_resources", -"?commands set terminal be line_resources", -"?set terminal be line_resources", -"?set term be line_resources", -"?be line_resources", -" `gnuplot` honors the following resources for setting the width (in pixels) of", -" plot lines (shown here with their default values.) 0 or 1 means a minimal", -" width line of 1 pixel width. A value of 2 or 3 may improve the appearance of", -" some plots.", -"@start table - first is interactive cleartext form", -" gnuplot*borderWidth: 2", -" gnuplot*axisWidth: 0", -" gnuplot*line1Width: 0", -" gnuplot*line2Width: 0", -" gnuplot*line3Width: 0", -" gnuplot*line4Width: 0", -" gnuplot*line5Width: 0", -" gnuplot*line6Width: 0", -" gnuplot*line7Width: 0", -" gnuplot*line8Width: 0", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderWidth: 2\\\\", -"#&gnuplot*axisWidth: 0\\\\", -"#&gnuplot*line1Width: 0\\\\", -"#&gnuplot*line2Width: 0\\\\", -"#&gnuplot*line3Width: 0\\\\", -"#&gnuplot*line4Width: 0\\\\", -"#&gnuplot*line5Width: 0\\\\", -"#&gnuplot*line6Width: 0\\\\", -"#&gnuplot*line7Width: 0\\\\", -"#&gnuplot*line8Width: 0\\\\", -"%c l .", -"%@gnuplot*borderWidth: 2", -"%@gnuplot*axisWidth: 0", -"%@gnuplot*line1Width: 0", -"%@gnuplot*line2Width: 0", -"%@gnuplot*line3Width: 0", -"%@gnuplot*line4Width: 0", -"%@gnuplot*line5Width: 0", -"%@gnuplot*line6Width: 0", -"%@gnuplot*line7Width: 0", -"%@gnuplot*line8Width: 0", -"@end table", -"", -" `gnuplot` honors the following resources for setting the dash style used for", -" plotting lines. 0 means a solid line. A two-digit number `jk` (`j` and `k`", -" are >= 1 and <= 9) means a dashed line with a repeated pattern of `j` pixels", -" on followed by `k` pixels off. For example, '16' is a \"dotted\" line with one", -" pixel on followed by six pixels off. More elaborate on/off patterns can be", -" specified with a four-digit value. For example, '4441' is four on, four off,", -" four on, one off. The default values shown below are for monochrome displays", -" or monochrome rendering on color or grayscale displays. For color displays,", -" the default for each is 0 (solid line) except for `axisDashes` which defaults", -" to a '16' dotted line.", -"@start table - first is interactive cleartext form", -" gnuplot*borderDashes: 0", -" gnuplot*axisDashes: 16", -" gnuplot*line1Dashes: 0", -" gnuplot*line2Dashes: 42", -" gnuplot*line3Dashes: 13", -" gnuplot*line4Dashes: 44", -" gnuplot*line5Dashes: 15", -" gnuplot*line6Dashes: 4441", -" gnuplot*line7Dashes: 42", -" gnuplot*line8Dashes: 13", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderDashes: 0\\\\", -"#&gnuplot*axisDashes: 16\\\\", -"#&gnuplot*line1Dashes: 0\\\\", -"#&gnuplot*line2Dashes: 42\\\\", -"#&gnuplot*line3Dashes: 13\\\\", -"#&gnuplot*line4Dashes: 44\\\\", -"#&gnuplot*line5Dashes: 15\\\\", -"#&gnuplot*line6Dashes: 4441\\\\", -"#&gnuplot*line7Dashes: 42\\\\", -"#&gnuplot*line8Dashes: 13\\\\", -"%c l .", -"%@gnuplot*borderDashes: 0", -"%@gnuplot*axisDashes: 16", -"%@gnuplot*line1Dashes: 0", -"%@gnuplot*line2Dashes: 42", -"%@gnuplot*line3Dashes: 13", -"%@gnuplot*line4Dashes: 44", -"%@gnuplot*line5Dashes: 15", -"%@gnuplot*line6Dashes: 4441", -"%@gnuplot*line7Dashes: 42", -"%@gnuplot*line8Dashes: 13", -"@end table" -#else /* JAPANESE_DOC */ -"1 be", -"?commands set terminal be", -"?set terminal be", -"?set term be", -"?terminal be", -"?term be", -"?be", -"?BE", -" 出力形式 `be` は、X サーバを利用する`beos` オペレーティングシステム上", -" で gnuplot をコンパイルする人のためのものです。環境変数 `DISPLAY` がセ", -" ットされているか、環境変数 `TERM` が `xterm` にセットされているか、ま", -" たはコマンドラインオプションとして `-display` が使われていれば、プログ", -" ラムの起動時にこの出力形式が選択されます。", -"", -" 書式:", -" set terminal be {reset} {}", -"", -" 複数のグラフ描画ウィンドウをサポートしています。`set terminal be `", -" は番号 n のウィンドウに出力します。n>0 の場合、その番号はウィンドウタ", -" イトルとアイコン名に `gplt ` として付けられます。現在のウィンドウは", -" カーソル記号の変化で区別できます (デフォルトカーソルから十字カーソルへ)。", -"", -" `gnuplot` ドライバが別な出力ドライバに変更されても、描画ウィンドウは開", -" いたままになります。描画ウィンドウは、そのウィンドウにカーソルを置いて", -" 文字 q を押すか、ウィンドウマネージャのメニューの `close` を選択すれば", -" 閉じることができます。`reset` を実行すれば全てのウィンドウを一度に閉じ", -" れます。それは実際にウィンドウを管理している子プロセスを終了します (も", -" し `-persist` が指定されていなければ)。", -"", -" 描画ウィンドウは `-persisit` オプションが与えられていなければ、対話の", -" 終了時に自動的に閉じられます。", -"", -" 描画サイズとアスペクト比は、`gnuplot` のウィンドウをリサイズすることで", -" も変更できます。", -"", -" 線の幅と点のサイズは `gnuplot` の `set linestyle` で変更可能です。", -"", -" 出力ドライバ `be` に関しては、`gnuplot` は (起動時に)、コマンドライン、", -" または設定ファイルから、geometry や font, name などの通常の X Toolkit", -" オプションやリソースの指定を受け付けます。それらのオプションについては", -" X(1) マニュアルページ (やそれと同等のもの) を参照してください。", -"", -" 他にも `be` 出力形式用の多くの `gnuplot` のオプションがあります。これ", -" らは `gnuplot` を呼ぶときにコマンドラインオプションとして指定するか、", -" または設定ファイル \".Xdefaults\" のリソースとして指定できます。これらは", -" 起動時に設定されるので、`gnuplot` 実行時には変更できません。", -"2 コマンドラインオプション (command-line_options)", -"?commands set terminal be command-line-options", -"?set terminal be command-line-options", -"?set term be command-line-options", -"?be command-line-options", -" X Toolkit オプションに加え、以下のオプションが gnuplot の立ち上げ時の", -" コマンドラインで、またはユーザのファイル \".Xdefaults\" 内のリソースとし", -" て指定できます:", -"@start table - まずは対話型テキスト形式", -" `-mono` カラーディスプレイ上で強制的に白黒描画", -" `-gray` グレイスケールまたはカラーディスプレイ上でのグレイスケール描画", -" (デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)", -" `-clear` 新しい描画を表示する前に (瞬間的に) 画面を消去", -" `-raise` 各描画後に描画ウィンドウを最前面へ出す", -" `-noraise` 各描画後に描画ウィンドウを最前面へ出すことはしない", -" `-persist` gnuplot プログラム終了後も描画ウィンドウを残す", -"#\\begin{tabular}{|cl|} \\hline", -"#`-mono` & カラーディスプレイ上で強制的に白黒描画\\\\", -"#`-gray` & グレイスケールまたはカラーディスプレイ上でのグレイスケール描画\\\\", -"# & (デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)\\\\", -"#`-clear` & 新しい描画を表示する前に (瞬間的に) 画面を消去\\\\", -"#`-raise` & 各描画後に描画ウィンドウを最前面へ出す\\\\", -"#`-noraise` & 各描画後に描画ウィンドウを最前面へ出すことはしない\\\\", -"#`-persist` & gnuplot プログラム終了後も描画ウィンドウを残す\\\\", -"%c l .", -"%`-mono`@カラーディスプレイ上で強制的に白黒描画", -"%`-gray`@グレイスケールまたはカラーディスプレイ上でのグレイスケール描画", -"% @(デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)", -"%`-clear`@新しい描画を表示する前に (瞬間的に) 画面を消去", -"%`-raise`@各描画後に描画ウィンドウを最前面へ出す", -"%`-noraise`@各描画後に描画ウィンドウを最前面へ出すことはしない", -"%`-persist`@gnuplot プログラム終了後も描画ウィンドウを残す", -"@end table", -" 上記のオプション、はコマンドライン上での指定書式で、\".Xdefaults\" にリ", -" ソースとして指定するときは異なる書式を使います。", -"", -" 例:", -" gnuplot*gray: on", -"", -" `gnuplot` は描画スタイル `points` で描画する点のサイズの制御にも、コマンド", -" ラインオプション (`-pointsize `) とリソース (`gnuplot*pointsize: `)", -" を提供しています。値 `v` は点のサイズの拡大率として使われる実数値", -" (0 < v <= 10) で、例えば `-pointsize 2` はデフォルトのサイズの 2 倍、", -" `-pointsize 0.5` は普通のサイズの半分の点が使われます。", -"2 白黒オプション (monochrome_options)", -"?commands set terminal be monochrome_options", -"?set terminal be monochrome_options", -"?set term be monochrome_options", -"?be monochrome_options", -" 白黒ディスプレイに対しては `gnuplot` は描画色 (foreground) も背景色", -" (background) も与えません。デフォルトでは背景は白、描画は黒です。`-rv`", -" や `gnuplot*reverseVideo: on` の場合には背景が黒で描画は白になります。", -"", -"2 カラーリソース (color_resources)", -"?commands set terminal be color_resources", -"?set terminal be color_resources", -"?set term be color_resources", -"?be color_resources", -" カラーディスプレイに対しては、`gnuplot` は以下のリソース (ここではその", -" デフォルトの値を示します)、または白黒階調 (greyscale) のリソースを参照", -" します。リソースの値はシステム上の BE rgb.txt ファイルに書かれている色", -" 名、または 16 進の色指定 (BE のマニュアルを参照) か、色名と強度 (0 か", -" ら 1 の間の値) をコンマで区切った値を使用できます。例えば `blue, 0.5`", -" は半分の強度の青、を意味します。", -"@start table - まずは対話型テキスト形式", -" gnuplot*background: white", -" gnuplot*textColor: black", -" gnuplot*borderColor: black", -" gnuplot*axisColor: black", -" gnuplot*line1Color: red", -" gnuplot*line2Color: green", -" gnuplot*line3Color: blue", -" gnuplot*line4Color: magenta", -" gnuplot*line5Color: cyan", -" gnuplot*line6Color: sienna", -" gnuplot*line7Color: orange", -" gnuplot*line8Color: coral", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: white\\\\", -"#&gnuplot*textColor: black\\\\", -"#&gnuplot*borderColor: black\\\\", -"#&gnuplot*axisColor: black\\\\", -"#&gnuplot*line1Color: red\\\\", -"#&gnuplot*line2Color: green\\\\", -"#&gnuplot*line3Color: blue\\\\", -"#&gnuplot*line4Color: magenta\\\\", -"#&gnuplot*line5Color: cyan\\\\", -"#&gnuplot*line6Color: sienna\\\\", -"#&gnuplot*line7Color: orange\\\\", -"#&gnuplot*line8Color: coral\\\\", -"%c l .", -"%@gnuplot*background: white", -"%@gnuplot*textColor: black", -"%@gnuplot*borderColor: black", -"%@gnuplot*axisColor: black", -"%@gnuplot*line1Color: red", -"%@gnuplot*line2Color: green", -"%@gnuplot*line3Color: blue", -"%@gnuplot*line4Color: magenta", -"%@gnuplot*line5Color: cyan", -"%@gnuplot*line6Color: sienna", -"%@gnuplot*line7Color: orange", -"%@gnuplot*line8Color: coral", -"@end table", -"", -" これらに関するコマンドラインの書式は、例えば以下の通りです。", -"", -" 例:", -" gnuplot -background coral", -"", -"2 灰色階調リソース (grayscale_resources)", -"?commands set terminal be grayscale_resources", -"?set terminal be grayscale_resources", -"?set term be grayscale_resources", -"?be grayscale_resources", -" `-gray` を選択すると、`gnuplot` は、グレイスケールまたはカラーディスプ", -" レイに対して、以下のリソースを参照します (ここではそのデフォルトの値を", -" 示します)。デフォルトの背景色は黒であることに注意してください。", -"@start table - まずは対話型テキスト形式", -" gnuplot*background: black", -" gnuplot*textGray: white", -" gnuplot*borderGray: gray50", -" gnuplot*axisGray: gray50", -" gnuplot*line1Gray: gray100", -" gnuplot*line2Gray: gray60", -" gnuplot*line3Gray: gray80", -" gnuplot*line4Gray: gray40", -" gnuplot*line5Gray: gray90", -" gnuplot*line6Gray: gray50", -" gnuplot*line7Gray: gray70", -" gnuplot*line8Gray: gray30", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: black\\\\", -"#&gnuplot*textGray: white\\\\", -"#&gnuplot*borderGray: gray50\\\\", -"#&gnuplot*axisGray: gray50\\\\", -"#&gnuplot*line1Gray: gray100\\\\", -"#&gnuplot*line2Gray: gray60\\\\", -"#&gnuplot*line3Gray: gray80\\\\", -"#&gnuplot*line4Gray: gray40\\\\", -"#&gnuplot*line5Gray: gray90\\\\", -"#&gnuplot*line6Gray: gray50\\\\", -"#&gnuplot*line7Gray: gray70\\\\", -"#&gnuplot*line8Gray: gray30\\\\", -"%c l .", -"%@gnuplot*background: black", -"%@gnuplot*textGray: white", -"%@gnuplot*borderGray: gray50", -"%@gnuplot*axisGray: gray50", -"%@gnuplot*line1Gray: gray100", -"%@gnuplot*line2Gray: gray60", -"%@gnuplot*line3Gray: gray80", -"%@gnuplot*line4Gray: gray40", -"%@gnuplot*line5Gray: gray90", -"%@gnuplot*line6Gray: gray50", -"%@gnuplot*line7Gray: gray70", -"%@gnuplot*line8Gray: gray30", -"@end table", -"", -"2 線描画リソース (line_resources)", -"?commands set terminal be line_resources", -"?set terminal be line_resources", -"?set term be line_resources", -"?be line_resources", -" `gnuplot` は描画の線の幅 (ピクセル単位) の設定のために以下のリソースを", -" 参照します (ここではそのデフォルトの値を示します)。0 または 1 は最小の", -" 線幅の 1 ピクセル幅を意味します。2 または 3 の値によってグラフの外観を", -" 改善できる場合もあるでしょう。", -"@start table - まずは対話型テキスト形式", -" gnuplot*borderWidth: 2", -" gnuplot*axisWidth: 0", -" gnuplot*line1Width: 0", -" gnuplot*line2Width: 0", -" gnuplot*line3Width: 0", -" gnuplot*line4Width: 0", -" gnuplot*line5Width: 0", -" gnuplot*line6Width: 0", -" gnuplot*line7Width: 0", -" gnuplot*line8Width: 0", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderWidth: 2\\\\", -"#&gnuplot*axisWidth: 0\\\\", -"#&gnuplot*line1Width: 0\\\\", -"#&gnuplot*line2Width: 0\\\\", -"#&gnuplot*line3Width: 0\\\\", -"#&gnuplot*line4Width: 0\\\\", -"#&gnuplot*line5Width: 0\\\\", -"#&gnuplot*line6Width: 0\\\\", -"#&gnuplot*line7Width: 0\\\\", -"#&gnuplot*line8Width: 0\\\\", -"%c l .", -"%@gnuplot*borderWidth: 2", -"%@gnuplot*axisWidth: 0", -"%@gnuplot*line1Width: 0", -"%@gnuplot*line2Width: 0", -"%@gnuplot*line3Width: 0", -"%@gnuplot*line4Width: 0", -"%@gnuplot*line5Width: 0", -"%@gnuplot*line6Width: 0", -"%@gnuplot*line7Width: 0", -"%@gnuplot*line8Width: 0", -"@end table", -"", -" `gnuplot` は線描画で使用する点線の形式の設定用に以下のリソースを参照し", -" ます。0 は実線を意味します。2 桁の 10 進数 `jk` (`j` と `k` は 1 から", -" 9 までの値) は、`j` 個のピクセルの描画に `k` 個の空白のピクセルが続く", -" パターンの繰り返しからなる点線を意味します。例えば '16' は 1 個のピク", -" セルの後に 6 つの空白が続くパターンの点線になります。さらに、4 桁の 10", -" 進数でより詳細なピクセルと空白の列のパターンを指定できます。例えば、", -" '4441' は 4 つのピクセル、4 つの空白、4 つのピクセル、1 つの空白のパタ", -" ーンを意味します。以下のデフォルトのリソース値は、白黒ディスプレイ、あ", -" るいはカラーや白黒階調 (grayscale) ディスプレイ上の白黒描画における値", -" です。カラーディスプレイではそれらのデフォルトの値はほとんど 0 (実線)", -" で、`axisDashes` のみがデフォルトで '16' の点線となっています。", -"@start table - まずは対話型テキスト形式", -" gnuplot*borderDashes: 0", -" gnuplot*axisDashes: 16", -" gnuplot*line1Dashes: 0", -" gnuplot*line2Dashes: 42", -" gnuplot*line3Dashes: 13", -" gnuplot*line4Dashes: 44", -" gnuplot*line5Dashes: 15", -" gnuplot*line6Dashes: 4441", -" gnuplot*line7Dashes: 42", -" gnuplot*line8Dashes: 13", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderDashes: 0\\\\", -"#&gnuplot*axisDashes: 16\\\\", -"#&gnuplot*line1Dashes: 0\\\\", -"#&gnuplot*line2Dashes: 42\\\\", -"#&gnuplot*line3Dashes: 13\\\\", -"#&gnuplot*line4Dashes: 44\\\\", -"#&gnuplot*line5Dashes: 15\\\\", -"#&gnuplot*line6Dashes: 4441\\\\", -"#&gnuplot*line7Dashes: 42\\\\", -"#&gnuplot*line8Dashes: 13\\\\", -"%c l .", -"%@gnuplot*borderDashes: 0", -"%@gnuplot*axisDashes: 16", -"%@gnuplot*line1Dashes: 0", -"%@gnuplot*line2Dashes: 42", -"%@gnuplot*line3Dashes: 13", -"%@gnuplot*line4Dashes: 44", -"%@gnuplot*line5Dashes: 15", -"%@gnuplot*line6Dashes: 4441", -"%@gnuplot*line7Dashes: 42", -"%@gnuplot*line8Dashes: 13", -"@end table" -#endif /* JAPANESE_DOC */ -END_HELP(be) -START_HELP(block) -#ifndef JAPANESE_DOC -"1 block", -"?set terminal block", -"?block", -" The `block` terminal generates pseudo-graphic output using Unicode block or", -" Braille characters to increase the resolution. It is an alternative for", -" terminal graphics. It requires a UTF-8 capable terminal or viewer. Drawing", -" uses the internal bitmap code. Text is printed on top of the graphics", -" using the `dumb` terminal's routines.", -"", -" Syntax:", -" set term block", -" {dot | half | quadrants | sextants | octants | braille |", -" sextpua | octpua}", -" {{no}enhanced}", -" {size , }", -#ifndef NO_DUMB_COLOR_SUPPORT -" {mono | ansi | ansi256 | ansirgb}", -" {{no}optimize}", -#endif -" {[no]attributes}", -" {numpoints | charpoints | gppoints}", -" {[no]animate}", -"", -" `size` sets the terminal size in character cells.", -"", -" `dot`, `half`, `quadrants`, `sextants`, or `braille` select the character", -" set used for the creation of pseudo-graphics. `dot` uses simple dots,", -" while `half` uses half-block characters. `quadrants` uses block characters", -" which yield double resolution in both directions. `sextants` uses 2x3 block", -" characters, and `braille` uses Braille characters which give a 2x4", -" pseudo-resolution. `octants` uses the proposed 2x4 block characters.", -" `sextpua` and `octpua` use the sextants or octants, respectively, in the", -" CreativeKorp private-use-area (PUA) which might be only available with their", -" `FairfaxHD` and `KreativeSquare` fonts.", -"", -" Note that the 2x3 block characters ('sextants') have only been included in", -" Unicode 13. Hence, font support is still limited. Similarly for Braille.", -" Usable fonts include e.g. `unscii`, `IBM 3270`, `GNU Unifont`, `DejaVu Sans`,", -" and, `FairfaxHD`. 2x4 block characters ('octants') have only been accepted", -" for inclusion in a future Unicode standard in 2022 and are available in the", -" `FairfaxHD` font.", -#ifndef NO_DUMB_COLOR_SUPPORT -"", -" The `ansi`, `ansi256`, and `ansirgb` options will include escape sequences", -" in the output to output colors. Note that these might not be handled by", -" your terminal. Default is `mono`. See `terminal dumb` for a list of", -" escape sequences.", -"", -" The `attributes` option enables bold and italic text on terminals or", -" emulators that support these escape sequences, see `terminal dumb`.", -"", -" Using block characters increases the pseudo-resolution of the bitmap. But", -" this is not the case for the color. Multiple 'pixels' necessarily share the", -" same color. This is dealt with by averaging the color of all pixels in a", -" charcell. With `optimize`, the terminal tries to improve by setting both,", -" the background and foreground colors. This trick works perfectly for the", -" `half` mode, but is increasingly difficult for `quadrants`, `sextants`,", -" or `octants`. For `braille` this cannot be used.", -#endif -"", -" `gppoints` draws point symbols using graphics commands. Due to the low", -" resolution of the terminal, this is mostly viable for `braille` or", -" `octant` mode, and probably most useful for error bars.", -" `charpoints` uses Unicode symbol characters instead. Note that these", -" are also always drawn on top of the graphics.", -" `numpoints` uses super- and subscript numerals to double the vertical", -" resolution. For `sextants`, points in the character cell's center position", -" have to be drawn using ordinary numerals, though. Note that the bitmap", -" resolution is still different and lines and symbols in general do not align", -" exactly when using `charpoints` or `numpoints`.", -"", -" The `animate` option resets the cursor position to the top left of the plot", -" after every plot so that successive plots overwrite the same area on the", -" screen rather than having earlier plots scroll off the top. This may be", -" desirable in order to create an in-place animation.", -"" -#else /* JAPANESE_DOC */ -"1 block", -"?set terminal block", -"?block", -" `block` 出力形式は、Unicode ブロック要素 (Block element; U+2580-259F)", -" 文字、または点字文字 (Braille Patterns; U+2800-28FF) を使って解像度を向", -" 上させた疑似グラフィック出力を作成します。これは端末 (ターミナル) グラ", -" フィックの代用品です。それには、UTF-8 が表示できる端末、またはビューワ", -" が必要です。描画には、内部ビットマップコードを用います。テキストは", -" `dumb` 出力形式ルーチンを用いて、グラフィックスの一番上に表示します。", -"", -" 書式:", -" set term block", -" {dot | half | quadrants | sextants | octants | braille |", -" sextpua | octpua}", -" {{no}enhanced}", -" {size , }", -#ifndef NO_DUMB_COLOR_SUPPORT -" {mono | ansi | ansi256 | ansirgb}", -" {{no}optimize}", -#endif -" {[no]attributes}", -" {numpoints | charpoints | gppoints}", -" {[no]animate}", -"", -" `size` は、ターミナルサイズを文字セル単位で設定します。", -"", -" `dot`, `half`, `quadrants`, `sextants`, `braille` は、疑似グラフィック", -" の生成に用いる文字セットの選択です。`dot` は単純なドットを、`half` は半", -" ブロック文字群を使用します。`quadrants` は、縦横両方向に 2 倍の解像度を", -" 生む四分ブロック文字群を使います。`sextants` は、2x3 の六分ブロック文字", -" 群を使用します。`braille` は点字記号を使い、これは 2x4 の疑似解像度を提", -" 供します。`octants` は、提案された 2x4 ブロック文字を使います。`sectpua`", -" と `octpua` は、KreativeKorp 私用領域 (PUA) 内の 2x3, 2x4 ブロック文字", -" をそれぞれ使用しますが、そのうち利用可能なのは多分 `FairfaxHD` と", -" `KreativeSquare` フォントのみです。", -"", -" 2x3 の六分ブロック文字 ('sextants') は、Unicode 13 にのみ含まれているこ", -" とに注意してください。よって、それをサポートするフォントは未だ限定的で", -" す。それは点字記号についても同様です。利用可能なフォントには、例えば", -" `unscii`, `IBM 3270`, `GNU Unifont`, `DejaVu Sans`, `FairfaxHD` などが", -" あります。2x4 ブロック文字 ('octants') は、まだ 2022 年に将来の Unicode", -" 規格に入ることが決まった段階にすぎません。`FairfaxHD` フォントには含ま", -" れています。", -#ifndef NO_DUMB_COLOR_SUPPORT -"", -" オプション `ansi`, `ansi256`, `ansirgb` は、出力に色を表示させるための", -" エスケープシーケンスを含ませます。これらは、あなたの端末が処理できない", -" かもしれないことに注意してください。デフォルトは `mono` (白黒) です。", -" エスケープシーケンスの一覧については、以下参照: `terminal dumb`。", -"", -" オプション `attributes` は、太字やイタリック体文字用のエスケープシーケ", -" ンスをサポートする端末、エミュレーター上でそれらの文字出力を可能にしま", -" す。以下参照 `terminal dumb`。", -"", -" ブロック文字群を使うことで、ビットマップの疑似解像度は上がりますが、こ", -" れはカラーに対してはそうではありません。複数の `pixel` が同じ色を共有す", -" る必要があります。これは、ひとつの文字セルで、すべてのピクセルの色の平", -" 均を取ることで処理しています。`optimize` をつけると、この出力形式は背景", -" 色と前景色の両方の設定によってそれを改善しようとします。この手法は、", -" `half` モードでは完全に機能しますが、`quadrants`, `sextants`, `octants`", -" では難しさが増していきます。また、`braille` では使用できません。", -#endif -"", -" `gppoints` は、グラフィックコマンドを使って点記号を描きます。端末の低解", -" 像度性のため、`braille` と `octant` モードではこれは大抵実用的です。多", -" 分エラーバーとしては最も有用でしょう。", -" `charpoints` は、代わりに Unicode 記号文字を使用します。これらも常にグ", -" ラフィックの一番上に描かれることに注意してください。", -" `numpoints` は上付き下付きの数字を使用し、垂直方向に 2 倍の解像度にしま", -" す。しかし `sextants` に対しては、文字の枠の中心位置の点は、通常の数字", -" で描く必要があります。`charpoints` か `numpoints` を使っている場合、ビ", -" ットマップの解像度はそれでも異なり、線と記号は一般に正確には揃わないこ", -" とに注意してください。", -"", -" オプション `animate` は、各描画後に、カーソル位置をグラフの左上にリセッ", -" トし、前のグラフを上にスクロールして消す代わりにスクリーンの同じ領域に", -" 次のグラフを上書きするようにします。これは、同じ場所でのアニメーション", -" を作成するためには有用でしょう。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(block) -START_HELP(caca) -#ifndef JAPANESE_DOC -"1 caca", -"?commands set terminal caca", -"?set terminal caca", -"?set term caca", -"?terminal caca", -"?term caca", -"?caca", -" [EXPERIMENTAL] ", -" The `caca` terminal is a mostly-for-fun output mode that uses `libcaca` to", -" plot using ascii characters. In contrast to the `dumb` terminal it includes", -" support for color, box fill, images, rotated text, filled polygons,", -" and mouse interaction.", -"", -" Syntax:", -" set terminal caca {{driver | format} {default | | list}}", -" {color | monochrome}", -" {{no}inverted}", -" {enhanced | noenhanced}", -" {background }", -" {title \"\"}", -" {size ,}", -" {charset ascii|blocks|unicode}", -"", -" The `driver` option selects the `libcaca` display driver or export `format`.", -" Use `default` is to let `libcaca` choose the platform default display driver.", -" The default driver can be changed by setting the environment variable", -" CACA_DRIVER before starting `gnuplot`.", -" Use `set term caca driver list` to print a list of supported output modes.", -"", -" The `color` and `monochrome` options select colored or mono output.", -" Note that this also changes line symbols.", -" Use the `inverted` option if you prefer a black background over the default", -" white. This also changes the color of black default linetypes to white.", -"", -" Enhanced text support can be activated using the `enhanced` option,", -" see `enhanced text`.", -"", -" The title of the output window can be changed with the `title` option, if", -" supported by the `libcaca` driver.", -"", -" The `size` option selects the size of the canvas in characters.", -" The default is 80 by 25. If supported by the backend, the canvas size will", -" be automatically adjusted to the current window/terminal size.", -" The default size of the \"x11\" and \"gl\" window can be controlled via the", -" CACA_GEOMETRY environment variable. The geometry of the window of the", -" \"win32\" driver can be controlled and permanently changed via the app menu.", -"", -" The `charset` option selects the character set used for lines, points,", -" filling of polygons and boxes and dithering of images. Note that some", -" backend/terminal/font combinations might not support some characters of the", -" `blocks` or `unicode` character set. On Windows it is recommend to use", -" a non-raster font such as \"Lucida Console\" or \"Consolas\".", -"", -" The caca terminal supports mouse interaction. Please beware that some", -" backends of `libcaca` (e.g. slang, ncurses) only update the mouse position", -" on mouse clicks. Modifier keys (ctrl, alt, shift) are not supported by", -" `libcaca` and are thus unavailable.", -"", -" The default `encoding` of the `caca` terminal is utf8. It also supports", -" the cp437 `encoding`.", -"", -" The number of colors supported by `libcaca` backends differs. Most backends", -" support 16 foreground and 16 background colors only, whereas e.g. the ", -" \"x11\" backend supports truecolor.", -"", -" Depending on the terminal and `libcaca` backend, only 8 different background", -" colors might be supported. Bright colors (with the most most significant bit", -" of the background color set) are then interpreted as indicator for blinking", -" text. Try using `background rgb \"gray\"` in that case.", -"", -" See also the libcaca web site at", -"^ ", -" http://caca.zoy.org/wiki/libcaca", -"^ ", -" and libcaca environment variables", -"^ ", -" http://caca.zoy.org/doxygen/libcaca/libcaca-env.html", -"^ ", -"" -"2 caca limitations and bugs", -"?terminal caca limitations", -"?terminal caca bugs", -"?term caca limitations", -"?term caca bugs", -"?caca limitations", -"?caca bugs", -" The `caca` terminal has known bugs and limitations:", -"", -" Unicode support depends on the driver and the terminal.", -" The \"x11\" backend supports unicode since libcaca version 0.99.beta17.", -" Due to a bug in `libcaca` <0.99.beta20, the \"slang\" driver does not", -" support unicode.", -" Note that `libcaca` <0.99.beta19 contains a bug which results in an", -" endless loop if you supply illegal 8bit sequences.", -"", -" Bright background colors may cause blinking.", -"", -" Modifier keys are not supported for mousing, see `term caca`.", -"", -" Rotated enhanced text, and transparency are not supported.", -" The `size` option is not considered for on-screen display.", -"", -" In order to correctly draw the key box, use", -"", -" set key width 1 height 1", -"", -" Alignment of enhanced text is wrong if it contains utf8 characters.", -" Resizing of Windows console window does not work correctly due to a bug in", -" libcaca.", -" Closing the terminal window by clicking the \"X\" on the title line", -" will terminate wgnuplot. Press \"q\" to close the window." -#else /* JAPANESE_DOC */ -"1 caca", -"?commands set terminal caca", -"?set terminal caca", -"?set term caca", -"?terminal caca", -"?term caca", -"?caca", -" [試験段階]", -" `caca` 出力形式は、`libcaca` を使ってアスキー文字によるグラフを描く、ほ", -" ぼ娯楽的な出力モードです。`dumb` 出力形式と比べると、こちらは色、箱の塗", -" り潰し、画像、文字列の回転、多角形の塗り潰し、マウス操作をサポートして", -" います。", -"", -" 書式:", -" set terminal caca {{driver | format} {default | | list}}", -" {color | monochrome}", -" {{no}inverted}", -" {enhanced | noenhanced}", -" {background }", -" {title \"\"}", -" {size ,}", -" {charset ascii|blocks|unicode}", -"", -" オプション `driver` (または `format`) は、表示ドライバとして `libcaca`", -" を選択するか、または出力ドライバを選択します。", -" `default` は、`libcaca` にその環境のデフォルトのディスプレイドライバを", -" 選択させます。デフォルトのドライバは、`gnuplot` の起動前に環境変数", -" CACA_DRIVER を設定しておくことで変更できます。", -" `set term caca driver list` を使用すると、サポートする出力モードの一覧", -" を表示します。", -"", -" オプション `color` と `monochrome` は、カラーか白黒出力を選択します。", -" これは、線の記号も変更することに注意してください。", -" デフォルトの白背景を黒背景にしたい場合は、オプション `inverted` を使っ", -" てください。これは、デフォルトの線種の黒を白にも変えます。", -"", -" 拡張文字列処理は、オプション `enhanced` を使うことで有効になります。以", -" 下参照: `enhanced text`。", -"", -" 出力ウィンドウのタイトルは、`libcaca` ドライバがサポートしていれば、オ", -" プション `title` で変更できます。", -"", -" オプション `size` は、キャンバスのサイズを文字単位で選択します。デフォ", -" ルトは 80 x 25 です。バックエンドがサポートしていれば、キャンバスサイズ", -" は、現在のウィンドウ/ターミナルのサイズに自動的に合います。\"x11\" と", -" \"gl\" ウィンドウのデフォルトのサイズは、環境変数 CACA_GEOMETRY で制御", -" できます。\"win32\" ドライバでのウィンドウの位置・サイズ情報は、アプリ", -" ケーションメニューで制御、及び恒常的な変更が行えます。", -"", -" オプション `charset` は、曲線、点、多角形や長方形の塗り潰し、画像の中間", -" 色表現などで使われる文字集合を選択します。バックエンドとターミナルとフ", -" ォントの組み合わせによっては、`blocks` か `unicode` の文字集合はサポー", -" トしない可能性もあることに注意してください。特に Windows では、", -" \"Lucida Console\" や \"Consolas\" のような非ラスタフォントの使用を勧め", -" ます。", -"", -" caca 出力形式は、マウス操作をサポートしています。`libcaca` のいくつかの", -" バックエンド (例えば slang や ncurses) はマウスクリックしたマウスの位置", -" しか更新しないことに注意してください。修飾キー (Ctrl, Alt, Shift) は、", -" `libcaca` ではサポートしていないので、利用できません。", -"", -" `caca` 出力形式のデフォルトの `encoding` は utf8 です。cp437 `encoding`", -" もサポートしています。", -"", -" `libcaca` のサポートする色の数は、バックエンドにより異なります。たいて", -" いのバックエンドは、16 色の前景色と 16 色の背景色のみをサポートしていま", -" すが、例えば \"x11\" バックエンドは、Truecolor をサポートしています。", -"", -" 出力形式と `libcaca` バックエンドによっては、背景色 8 色しかサポートさ", -" ない場合もあります。明色 (背景色の中で最も重要) は、文字を輝かせている", -" と解釈されます。この場合、`background rgb \"gray\"` を使用してみてくだ", -" さい。", -"", -" 以下の libcaca Web サイト", -"^ ", -" http://caca.zoy.org/wiki/libcaca", -"^ ", -" および libcaca 環境変数に関する説明", -"^ ", -" http://caca.zoy.org/doxygen/libcaca/libcaca-env.html", -"^ ", -" も参照してみてください。", -"" -"2 caca limitations and bugs", -"?terminal caca limitations", -"?terminal caca bugs", -"?term caca limitations", -"?term caca bugs", -"?caca limitations", -"?caca bugs", -" `caca` 出力形式には、既知のバグと制限があります:", -"", -" Unicode のサポートは、ドライバと出力形式依存です。", -" \"x11\" バックエンドは libcaca version 0.99.beta17 から unicode をサポ", -" ートしていますが、`libcaca` < 0.99.beta20 でのバグのため、\"slang\" ド", -" ライバは unicode をサポートしていません。", -" `libcaca` < 0.99.beta19 には、不正な 8 ビット列を与えると無限ループを引", -" き起こすというバグがあることに注意してください。", -"", -" 明るい背景色は点滅することがあります。", -"", -" マウス操作では修飾キーはサポートしません。以下参照: `term caca`。", -"", -" 拡張文字列の回転、および透明化はサポートしていません。`size` オプション", -" は、オンスクリーンディスプレイでは考慮されません。", -"", -" 凡例 (key) の箱を正しく描くには、以下のようにしてください:", -"", -" set key width 1 height 1", -"", -" 拡張文字列の位置合わせは、UTF-8 文字列が含まれている場合はうまくいきま", -" せん。", -" Windows のコンソールウィンドウのリサイズは、libcaca のバグのため正しく", -" 機能しません。", -" タイトル行の上で \"X\" をクリックしてターミナルウィンドウを閉じる機能は", -" wgnuplot を終了させてしまいますので、ウィンドウを閉じるには \"q\" を打", -" ってください。" -#endif /* JAPANESE_DOC */ -END_HELP(caca) -START_HELP(cairolatex) -#ifndef JAPANESE_DOC -"1 cairolatex", -"?set terminal cairolatex", -"?terminal cairolatex", -"?set term cairolatex", -"?term cairolatex", -"?cairolatex", -" The `cairolatex` terminal device generates encapsulated PostScript (*.eps),", -" PDF, or PNG output using the cairo and pango support libraries and uses LaTeX", -" for text output using the same routines as the `epslatex` terminal.", -"", -" Syntax:", -" set terminal cairolatex", -" {eps | pdf | png}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {header
    | noheader}", -" {mono|color}", -" {{no}transparent} {{no}crop} {background }", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {size {unit},{unit}}", -" {resolution }", -"", -" The cairolatex terminal prints a plot like `terminal epscairo` or", -" `terminal pdfcairo` but transfers the texts to LaTeX instead of including", -" them in the graph. For reference of options not explained here see `pdfcairo`.", -"", -" `eps`, `pdf`, or `png` select the type of graphics output. Use `eps` with", -" latex/dvips and `pdf` for pdflatex. If your plot has a huge number", -" of points use `png` to keep the filesize down. When using the `png` option,", -" the terminal accepts an extra option `resolution` to control the pixel", -" density of the resulting PNG. The argument of `resolution` is an integer", -" with the implied unit of DPI.", -"", -" `blacktext` forces all text to be written in black even in color mode;", -"", -" The `cairolatex` driver offers a special way of controlling text positioning:", -" (a) If any text string begins with '{', you also need to include a '}' at the", -" end of the text, and the whole text will be centered both horizontally", -" and vertically by LaTeX. (b) If the text string begins with '[', you need", -" to continue it with: a position specification (up to two out of t,b,l,r,c),", -" ']{', the text itself, and finally, '}'. The text itself may be anything", -" LaTeX can typeset as an LR-box. \\rule{}{}'s may help for best positioning.", -" See also the documentation for the `pslatex` terminal driver.", -" To create multiline labels, use \\shortstack, for example", -" set ylabel '[r]{\\shortstack{first line \\\\ second line}}'", -"", -" The `back` option of `set label` commands is handled slightly different", -" than in other terminals. Labels using 'back' are printed behind all other", -" elements of the plot while labels using 'front' are printed above", -" everything else.", -"", -" The driver produces two different files, one for the eps, pdf, or png part of", -" the figure and one for the LaTeX part. The name of the LaTeX file is taken", -" from the `set output` command. The name of the eps/pdf/png file is derived by", -" replacing the file extension (normally '.tex') with '.eps'/'.pdf'/'.png'", -" instead. There is no LaTeX output if no output file is given! Remember to", -" close the `output file` before next plot unless in `multiplot` mode.", -"", -" In your LaTeX documents use '\\input{filename}' to include the figure.", -" The '.eps'/'.pdf'/'.png' file is included by the command", -" \\includegraphics{...}, so you must also include \\usepackage{graphicx} in", -" the LaTeX preamble. If you want to use coloured text (option `colourtext`)", -" you also have to include \\usepackage{color} in the LaTeX preamble.", -"", -" The behaviour concerning font selection depends on the header mode.", -" In all cases, the given font size is used for the calculation of proper", -" spacing. When not using the `standalone` mode the actual LaTeX font and", -" font size at the point of inclusion is taken, so use LaTeX commands for", -" changing fonts. If you use e.g. 12pt as font size for your LaTeX", -" document, use '\", 12\"' as options. The font name is ignored. If using", -" `standalone` the given font and font size are used, see below for a", -" detailed description.", -"", -" If text is printed coloured is controlled by the TeX booleans \\ifGPcolor", -" and \\ifGPblacktext. Only if \\ifGPcolor is true and \\ifGPblacktext is", -" false, text is printed coloured. You may either change them in the", -" generated TeX file or provide them globally in your TeX file, for example", -" by using", -" \\newif\\ifGPblacktext", -" \\GPblacktexttrue", -" in the preamble of your document. The local assignment is only done if no", -" global value is given.", -"", -" When using the cairolatex terminal give the name of the TeX file in the", -" `set output` command including the file extension (normally \".tex\").", -" The graph filename is generated by replacing the extension.", -"", -" If using the `standalone` mode a complete LaTeX header is added to the", -" LaTeX file; and \"-inc\" is added to the filename of the gaph file.", -" The `standalone` mode generates a TeX file that produces", -" output with the correct size when using dvips, pdfTeX, or VTeX.", -" The default, `input`, generates a file that has to be included into a", -" LaTeX document using the \\input command.", -"", -" If a font other than \"\" or \"default\" is given it is interpreted as", -" LaTeX font name. It contains up to three parts, separated by a comma:", -" 'fontname,fontseries,fontshape'. If the default fontshape or fontseries", -" are requested, they can be omitted. Thus, the real syntax for the fontname", -" is '{fontname}{,fontseries}{,fontshape}'. The naming convention for all", -" parts is given by the LaTeX font scheme. The fontname is 3 to 4 characters", -" long and is built as follows: One character for the font vendor, two", -" characters for the name of the font, and optionally one additional", -" character for special fonts, e.g., 'j' for fonts with old-style numerals", -" or 'x' for expert fonts. The names of many fonts is described in", -"^ ", -" http://www.tug.org/fontname/fontname.pdf", -"^ ", -" For example, 'cmr' stands for Computer Modern Roman, 'ptm' for Times-Roman,", -" and 'phv' for Helvetica. The font series denotes the thickness of the", -" glyphs, in most cases 'm' for normal (\"medium\") and 'bx' or 'b' for bold", -" fonts. The font shape is 'n' for upright, 'it' for italics, 'sl' for", -" slanted, or 'sc' for small caps, in general. Some fonts may provide", -" different font series or shapes.", -"", -" Examples:", -"", -" Use Times-Roman boldface (with the same shape as in the surrounding text):", -" set terminal cairolatex font 'ptm,bx'", -" Use Helvetica, boldface, italics:", -" set terminal cairolatex font 'phv,bx,it'", -" Continue to use the surrounding font in slanted shape:", -" set terminal cairolatex font ',,sl'", -" Use small capitals:", -" set terminal cairolatex font ',,sc'", -"", -" By this method, only text fonts are changed. If you also want to change", -" the math fonts you have to use the \"gnuplot.cfg\" file or the `header`", -" option, described below.", -"", -" In `standalone` mode, the font size is taken from the given font size in the", -" `set terminal` command. To be able to use a specified font size, a file", -" \"size.clo\" has to reside in the LaTeX search path. By default,", -" 10pt, 11pt, and 12pt are supported. If the package \"extsizes\" is", -" installed, 8pt, 9pt, 14pt, 17pt, and 20pt are added.", -"", -" The `header` option takes a string as argument. This string is written", -" into the generated LaTeX file. If using the `standalone` mode, it is", -" written into the preamble, directly before the \\begin{document} command.", -" In the `input` mode, it is placed directly after the \\begingroup command", -" to ensure that all settings are local to the plot.", -"", -" Examples:", -"", -" Use T1 fontencoding, change the text and math font to Times-Roman as well", -" as the sans-serif font to Helvetica:", -" set terminal cairolatex standalone header \\", -" \"\\\\usepackage[T1]{fontenc}\\n\\\\usepackage{mathptmx}\\n\\\\usepackage{helvet}\"", -" Use a boldface font in the plot, not influencing the text outside the plot:", -" set terminal cairolatex input header \"\\\\bfseries\"", -"", -" If the file \"gnuplot.cfg\" is found by LaTeX it is input in the preamble", -" the LaTeX document, when using `standalone` mode. It can be used for", -" further settings, e.g., changing the document font to Times-Roman,", -" Helvetica, and Courier, including math fonts (handled by \"mathptmx.sty\"):", -" \\usepackage{mathptmx}", -" \\usepackage[scaled=0.92]{helvet}", -" \\usepackage{courier}", -" The file \"gnuplot.cfg\" is loaded before the header information given", -" by the `header` command. Thus, you can use `header` to overwrite some of", -" settings performed using \"gnuplot.cfg\"", -"" -#else /* JAPANESE_DOC */ -"1 cairolatex", -"?set terminal cairolatex", -"?terminal cairolatex", -"?set term cairolatex", -"?term cairolatex", -"?cairolatex", -" 出力形式 `cairolatex` は、cairo と pango の補助ライブラリを使って、EPS", -" (Encapsulated PostScript), PDF, PNG 出力を生成しますが、文字列出力には", -" 出力形式 `epslatex` と同じやり方で LaTeX を使用します。", -"", -" 書式:", -" set terminal cairolatex", -" {eps | pdf | png}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {header
    | noheader}", -" {mono|color}", -" {{no}transparent} {{no}crop} {background }", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {size {unit},{unit}}", -" {resolution }", -"", -" cairolatex 出力形式は、epscairo 出力形式 (`termnal epscairo`) や", -" pdfcairo 出力形式 (`terminal pdfcairo`) と同等のグラフを出力しますが、", -" テキスト文字列はグラフの中に入れるのではなく、LaTeX に渡します。以下で", -" 触れないオプションについては、以下参照: `pdfcairo`。", -"", -" `eps`, `pdf`, `png` は、グラフ出力の形式を選択します。latex/dvips 用に", -" は `eps` を、pdflatex 用には `pdf` を使用してください。もしあなたのグラ", -" フが大量の点数を持つ場合は、ファイルサイズを減らすために `png` を使用し", -" てください。オプション `png` を使用した場合、追加オプション `resolution`", -" も受け付け、結果の PNG のピクセル密度を制御できます。`resolution` の引", -" 数は整数で、DPI の暗黙の単位で与えます。", -"", -" `blacktext` は、カラーモードでもすべての文字列を黒で書くようにします。", -"", -" `cairolatex` 出力ドライバは、文字列の位置の特別な制御方法を提供します:", -" (a) '{' で始まるすべての文字列は、'}' もその文字列の最後に必要ですが、", -" その文字列全体を LaTeX で横にも縦にもセンタリングします。", -" (b) '[' で始まる文字列は、その次に位置指定文字 (t,b,l,r,c のうち 2 つま", -" で)、']{'、対象文字列、と続き最後に '}' で閉じますが、この文字列は、", -" LaTeX が LR-box として処理できるものならなんでも構いません。位置合わせ", -" を完全に行うには、\\rule{}{} も有用でしょう。以下も参照: `pslatex`。", -" 複数行に渡るラベルを生成する場合、\\shortstack を使用してください。例:", -" set ylabel '[r]{\\shortstack{first line \\\\ second line}}'", -"", -" コマンド `set label` のオプション `back` は、他の出力形式とはやや異なる", -" 方法で処理します。`back` を使用したラベルは、他のすべての描画要素の後ろ", -" に印字し、`front` を使用したラベルは、他のすべての上に印字します。", -"", -" このドライバは 2 つの異なるファイルを作成します。一つは図の eps か pdf", -" か png 部分で、もう一つは LaTeX 部分です。その LaTeX ファイルの名前は、", -" コマンド `set output` のものを使用し、eps/pdf/png ファイルの名前は、そ", -" の拡張子 (通常は '.tex') を '.eps'/'.pdf'/'.png' に置き換えたものを使用", -" します。出力ファイルを指定しなかった場合は、LaTeX 出力はしません。", -" `multiplot` モード以外では、次の plot を行う前に出力ファイルを閉じるの", -" を忘れないでください。", -"", -" この画像をあなたの LaTeX 文書に取り込むには、'\\input{filename}' を使用", -" してください。'.eps'/'.pdf'/'.png' ファイルは、\\includegraphics{...}", -" で取り込むので、LaTeX 文書のプリアンブルに \\usepackage{graphicx} を入", -" れる必要があります。色付きの文字 (オプション `colourtext`) を使用する場", -" 合は、プリアンブルに \\usepackage{color} も入れる必要があります。", -"", -" フォント選択に関する挙動は、ヘッダーモードに依存します。いずれの場合で", -" も、与えられたフォントサイズは適切な大きさを計算するのに使われます。", -" `standalone` モードを使っていない場合は、それを読みこんだところで実際に", -" LaTeX が使用しているフォントとフォントサイズが使われるので、フォントを", -" 変更するには LaTeX のコマンドを使用してください。LaTeX 文書の方で 12pt", -" のフォントサイズを使っていれば、オプションとして '\", 12\"' を指定して", -" ください。フォント名は無視されます。'standalone' の場合は、与えられたフ", -" ォントとフォントサイズを使用します。詳細は以下を参照してください。", -"", -" 文字列を色付けして印字するかどうかは、TeX のブール変数 \\ifGPcolor と", -" \\ifGPblacktext で制御できます。\\ifGPcolor が true で \\ifGPblacktext", -" が false のときのみ文字列が色付けされます。これらの変更は、生成された", -" TeX ファイル中で行うか、または大域的にあなたの TeX ファイルのプリアンブ", -" ルで、例えば以下のようにして設定できます:", -" \\newif\\ifGPblacktext", -" \\GPblacktexttrue", -" 局所的な設定は、大域的な値がない場合にのみ効力を持ちます。", -"", -" 出力形式 cairolatex を使う場合は、コマンド `set output` で TeX ファイル", -" 設定する際にファイルの拡張子 (通常は \",tex\") をつけてください。", -" グラフのファイル名は、その拡張子を置きかえることで作られます。", -"", -" `standalone` モードを使う場合、LaTeX ファイルに完全な LaTeX のヘッダが", -" 追加され、グラフファイルのファイル名には \"-inc\" が追加されます。", -" `standalone` モードは、dvips, pdfTeX, VTeX を使う場合に正しいサイズの出", -" 力を作る TeX ファイルを生成します。デフォルトでは `input` で、これは", -" LaTeX 文書から \\input コマンドで取り込まれる必要があるファイルを生成し", -" ます。", -"", -" \"\" や \"default\" 以外のフォントを与えた場合、それは LaTeX のフォント", -" 名であるとみなされます。それは ',' 区切りで最大 3 つの部分からなる、", -" 'fontname,fontseries,fontshape' の形式です。デフォルトの fontshape や", -" fontseries を使いたい場合は、それらは省略できます。よって、フォント名の", -" 実際の書式は、'{fontname}{,fontseries}{,fontshape}' となります。(訳注:", -" より gnuplot 風に言えば '{}{,{}{,}}')", -" 名前の各部分の指定法は、LaTeX のフォント系の慣習に従う必要があります。", -" フォント名 (fontname) は 3 から 4 文字の長さで、以下のようになっていま", -" す: 最初の文字はフォントの供給者、次の 2 つの文字はフォント名用、オプシ", -" ョンとして特別なフォント用に 1 文字追加できます。例えば、'j' は古いスタ", -" イルの数字用のフォント、'x' はエキスパートフォント用です。多くのフォン", -" ト名が以下に記述されています:", -"^ ", -" http://www.tug.org/fontname/fontname.pdf", -"^ ", -" 例えば、'cmr' は Computer Modern Roman を、'ptm' は Times-Roman, 'phv'", -" は Helvetica を意味しています。font series は、グリフの太さを表し、多く", -" の場合は、'm' が標準 (\"medium\")、'bx' か 'b' が太字 (bold) のフォント", -" を意味します。font shape は、一般的には 'n' が立体 (upright)、'it' がイ", -" タリック (italic)、'sl' が斜体 (slanted)、'sc' がスモールキャピタル", -" (small caps) を意味します。異なる series や shapes を提供するフォントも", -" あります。", -"", -" 例:", -"", -" Times-Roman のボールド体 (周りの文字列と同じ形状) を使うには:", -" set terminal cairolatex font 'ptm,bx'", -" Helvetica, ボールド体、イタリックを使うには:", -" set terminal cairolatex font 'phv,bx,it'", -" 周りと同じで斜体の形状のフォントを使うには:", -" set terminal cairolatex font ',,sl'", -" スモールキャピタルを使うには", -" set terminal cairolatex font ',,sc'", -"", -" この方法では、テキストフォントだけが変更されます。数式フォントも変更し", -" たい場合は、ファイル \"gnuplot.cfg\" か、または以下で説明するオプション", -" `header` を使う必要があります。", -"", -" `standalone` モードでは、フォントサイズはコマンド `set terminal` で指定", -" したフォントサイズを取ります。指定したフォントサイズを使うためにはファ", -" イル \"size.clo\" が LaTeX の検索パスにある必要があります。デフォ", -" ルトでは 10pt, 11pt, 12pt をサポートしています。パッケージ \"extsizes\"", -" がインストールされていれば、8pt, 9pt, 14pt, 17pt, 20pt も追加されます。", -"", -" オプション `header` は一つの文字列を引数として取り、その文字列を生成す", -" る LaTeX ファイルに書き出します。`standalone` モードでは、それはプリア", -" ンブルの \\begin{document} の直前に書きますが、`input` モードでは、それ", -" はグラフに関するすべての設定を局所化するための \\begingroup コマンドの", -" の直後に書きます。", -"", -" 例:", -"", -" T1 フォントエンコーディングを使い、テキストフォントと数式フォントを", -" Times-Roman に、sans-serif フォントを Helvetica に変えるには:", -" set terminal cairolatex standalone header \\", -" \"\\\\usepackage[T1]{fontenc}\\n\\\\usepackage{mathptmx}\\n\\\\usepackage{helvet}\"", -" グラフ内では太字 (bold) を使うが、グラフ外のテキストはそうしない:", -" set terminal cairolatex input header \"\\\\bfseries\"", -"", -" LaTeX がファイル \"gnuplot.cfg\" を見つけると、`standalone` モードでは", -" それをプリアンブルに取り込みます。これは、さらに設定を追加するのに使え", -" ます。例: 文書のフォントを、数式フォント (\"mathptmx.sty\" が処理) も合", -" わせて Times-Roman, Helvetica, Courier にするには:", -" \\usepackage{mathptmx}", -" \\usepackage[scaled=0.92]{helvet}", -" \\usepackage{courier}", -" ファイル \"gnuplot.cfg\" は、コマンド `header` で設定するヘッダー情報よ", -" りも前に読み込みますので、\"gnuplot.cfg\" で設定するものを `header` を", -" 使って上書きすることができます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(cairolatex) -START_HELP(canvas) -#ifndef JAPANESE_DOC -"1 canvas", -"?commands set terminal canvas", -"?set terminal canvas", -"?set term canvas", -"?terminal canvas", -"?term canvas", -"=canvas terminal", -"", -" The `canvas` terminal creates a set of javascript commands that draw onto the", -" HTML5 canvas element.", -" Syntax:", -" set terminal canvas {size , } {background }", -" {font {}{,}} | {fsize }", -" {{no}enhanced} {linewidth }", -" {rounded | butt | square}", -" {dashlength
    }", -" {standalone {mousing} | name ''}", -" {jsdir 'URL/for/javascripts'}", -" {title ''}", -"", -" where and set the size of the plot area in pixels.", -" The default size in standalone mode is 600 by 400 pixels.", -" The default font size is 10.", -"", -" NB: Only one font is available, the ascii portion of Hershey simplex Roman", -" provided in the file canvastext.js. You can replace this with the file", -" canvasmath.js, which contains also UTF-8 encoded Hershey simplex Greek and", -" math symbols. For consistency with other terminals, it is also possible to", -" use `font \"name,size\"`. Currently the font `name` is ignored, but browser", -" support for named fonts is likely to arrive eventually.", -"", -" The default `standalone` mode creates an html page containing javascript", -" code that renders the plot using the HTML 5 canvas element. The html page", -" links to two required javascript files 'canvastext.js' and 'gnuplot_common.js'.", -" An additional file 'gnuplot_dashedlines.js' is needed to support dashed lines.", -" By default these point to local files, on unix-like systems usually in", -" directory /usr/local/share/gnuplot//js. See installation notes for", -" other platforms. You can change this by using the `jsdir` option to specify", -" either a different local directory or a general URL. The latter is usually", -" appropriate if the plot is exported for viewing on remote client machines.", -"", -" All plots produced by the canvas terminal are mouseable. The additional", -" keyword `mousing` causes the `standalone` mode to add a mouse-tracking box", -" underneath the plot. It also adds a link to a javascript file", -" 'gnuplot_mouse.js' and to a stylesheet for the mouse box 'gnuplot_mouse.css'", -" in the same local or URL directory as 'canvastext.js'.", -"", -" The `name` option creates a file containing only javascript. Both the", -" javascript function it contains and the id of the canvas element that it", -" draws onto are taken from the following string parameter. The commands", -" set term canvas name 'fishplot'", -" set output 'fishplot.js'", -" will create a file containing a javascript function fishplot() that will", -" draw onto a canvas with id=fishplot. An html page that invokes this", -" javascript function must also load the canvastext.js function as described", -" above. A minimal html file to wrap the fishplot created above might be:", -"", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -"
    No support for HTML 5 canvas element
    ", -"
    ", -" ", -" ", -"", -" The individual plots drawn on this canvas will have names fishplot_plot_1,", -" fishplot_plot_2, and so on. These can be referenced by external javascript", -" routines, for example gnuplot.toggle_visibility(\"fishplot_plot_2\").", -"" -#else /* JAPANESE_DOC */ -"1 canvas", -"?commands set terminal canvas", -"?set terminal canvas", -"?set term canvas", -"?terminal canvas", -"?term canvas", -"=canvas terminal", -"", -" 出力形式 `canvas` は、HTML5 の canvas 要素上に描画する javascript コマ", -" ンドの集合を生成します。", -" 書式:", -" set terminal canvas {size , } {background }", -" {font {}{,}} | {fsize }"," {{no}enhanced} {linewidth }", -" {rounded | butt | square}", -" {dashlength
    }", -" {standalone {mousing} | name ''}", -" {jsdir 'URL/for/javascripts'}", -" {title ''}", -"", -" は描画領域のピクセル単位でのサイズを設定します。", -" standalone モードでのデフォルトのサイズは、600x400 ピクセルです。", -" デフォルトのフォントサイズは 10 です。", -"", -" 注: ファイル canvastext.js で提供している Hershey simplex Roman フォン", -" トのアスキー部分のフォント一つだけが利用できます。これは、ファイル", -" canvasmath.js で置き換えることもでき、そこには UTF-8 エンコードされた", -" Hershey simplex Greek と math symbols も含まれています。他の出力形式に", -" 合わせて、`font \"name,size\"` の形式も使えるようになっています。今の", -" ところ `name` のフォント名部分は無視されますが、そのうちにブラウザが名", -" 前付きフォントをサポートしだすでしょう。", -"", -" デフォルトの `standalone` モードは、HTML 5 の canvas 要素を使用してグ", -" ラフを描画するような javascript コードを含む HTML ページを生成します。", -" その HTML ページは、2 つの必要な javascript ファイル 'canvastext.js'、", -" 'gnuplot_common.js' にリンクします。点線をサポートするためにはさらに追", -" 加ファイル 'gnuplot_dashedlines.js' が必要です。デフォルトではそれらは", -" ローカルファイルへのリンクで、Unix 互換のシステムでは通常はそれらディ", -" レクトリ /usr/local/share/gnuplot//js にあります。他の環境に", -" ついては、インストールに関する注意を参照してください。この設定は、オプ", -" ション `jsdir` に別のローカルディレクトリ、あるいは一般的な URL を指定", -" することで変更できます。グラフをリモートクライアントのマシンで見れるよ", -" うにする場合は、通常は後者の設定が適切でしょう。", -"", -" canvas 出力形式で生成される描画はすべてマウス操作可能です。キーワード", -" `mousing` を追加すると、`standalone` モードのグラフの下にマウストラッ", -" キングボックスをつけます。これは、`canvastext.js` が置かれているのと同", -" じローカルディレクトリ、または URL 内の、'gnuplot_mouse.js' という", -" javascript ファイルへのリンクと 'gnuplot_mouse.css' というマウスボック", -" スに関するスタイルシートも追加します。", -"", -" オプション `name` は、javascript のみを含むファイルを一つ生成します。", -" それが含む javascript 関数と、それが描画する canvas 要素の id の両方は、", -" 以下の文字列パラメータから取られます。例えば以下のコマンド", -" set term canvas name 'fishplot'", -" set output 'fishplot.js'", -" は、javascript 関数 fishplot() を含むファイルを生成し、その関数はグラ", -" フを id=fishplot の canvas 上に描画します。この javascript 関数を呼び", -" 出す HTML ページは、上で説明した canvastext.js も読み込まなければいけ", -" ません。上のように生成した、この fishplot を取りこむ最小の HTML ファイ", -" ルは以下のようになります:", -"", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -"
    No support for HTML 5 canvas element
    ", -"
    ", -" ", -" ", -"", -" このキャンバス上に描かれるそれぞれのグラフの名前は、fishplot_plot_1,", -" fishplot_plot_2 等となります。外部の javascript ルーチンでそれらを参照", -" することもできます。例: gnuplot.toggle_visibility(\"fishplot_plot_2\")", -"" -#endif /* JAPANESE_DOC */ -END_HELP(canvas) -START_HELP(cgm) -#ifndef JAPANESE_DOC -"1 cgm", -"?commands set terminal cgm", -"?set terminal cgm", -"?set term cgm", -"?terminal cgm", -"?term cgm", -"?cgm", -" The `cgm` terminal generates a Computer Graphics Metafile, Version 1. ", -" This file format is a subset of the ANSI X3.122-1986 standard entitled", -" \"Computer Graphics - Metafile for the Storage and Transfer of Picture", -" Description Information\".", -"", -" Syntax:", -" set terminal cgm {color | monochrome} {solid | dashed} {{no}rotate}", -" {} {width } {linewidth }", -" {font \",\"}", -" {background }", -" [deprecated] { ...}", -"", -" `solid` draws all curves with solid lines, overriding any dashed patterns;", -" is `landscape`, `portrait`, or `default`;", -" is the assumed width of the plot in points; ", -" is the line width in points (default 1); ", -" is the name of a font (see list of fonts below)", -" is the size of the font in points (default 12).", -"", -" The first six options can be in any order. Selecting `default` sets all", -" options to their default values.", -"", -" The mechanism of setting line colors in the `set term` command is", -" deprecated. Instead you should set the background using a separate", -" keyword and set the line colors using `set linetype`.", -" The deprecated mechanism accepted colors of the form 'xrrggbb', where x is", -" the literal character 'x' and 'rrggbb' are the red, green and blue components", -" in hex. The first color was used for the background, subsequent colors are", -" assigned to successive line types.", -"", -" Examples:", -" set terminal cgm landscape color rotate dashed width 432 \\", -" linewidth 1 'Helvetica Bold' 12 # defaults", -" set terminal cgm linewidth 2 14 # wider lines & larger font", -" set terminal cgm portrait \"Times Italic\" 12", -" set terminal cgm color solid # no pesky dashes!", - -"2 cgm font", -"?commands set terminal cgm font", -"?set terminal cgm font", -"?set term cgm font", -"?cgm font", -" The first part of a Computer Graphics Metafile, the metafile description,", -" includes a font table. In the picture body, a font is designated by an", -" index into this table. By default, this terminal generates a table with", -" the following 35 fonts, plus six more with `italic` replaced by", -" `oblique`, or vice-versa (since at least the Microsoft Office and Corel", -" Draw CGM import filters treat `italic` and `oblique` as equivalent):", -"", -"@start table - first is interactive cleartext form", -" Helvetica", -" Helvetica Bold", -" Helvetica Oblique", -" Helvetica Bold Oblique", -" Times Roman", -" Times Bold", -" Times Italic", -" Times Bold Italic", -" Courier", -" Courier Bold", -" Courier Oblique", -" Courier Bold Oblique", -" Symbol", -" Hershey/Cartographic_Roman", -" Hershey/Cartographic_Greek", -" Hershey/Simplex_Roman", -" Hershey/Simplex_Greek", -" Hershey/Simplex_Script", -" Hershey/Complex_Roman", -" Hershey/Complex_Greek", -" Hershey/Complex_Script", -" Hershey/Complex_Italic", -" Hershey/Complex_Cyrillic", -" Hershey/Duplex_Roman", -" Hershey/Triplex_Roman", -" Hershey/Triplex_Italic", -" Hershey/Gothic_German", -" Hershey/Gothic_English", -" Hershey/Gothic_Italian", -" Hershey/Symbol_Set_1", -" Hershey/Symbol_Set_2", -" Hershey/Symbol_Math", -" ZapfDingbats", -" Script", -" 15", -"#\\begin{tabular}{|lll|} \\hline", -"#\\multicolumn{3}{|c|}{CGM fonts}\\\\\\hline", -"#&Helvetica&Hershey/Cartographic\\_Roman\\\\", -"#&Helvetica Bold&Hershey/Cartographic\\_Greek\\\\", -"#&Helvetica Oblique&Hershey/Simplex\\_Roman\\\\", -"#&Helvetica Bold Oblique&Hershey/Simplex\\_Greek\\\\", -"#&Times Roman&Hershey/Simplex\\_Script\\\\", -"#&Times Bold&Hershey/Complex\\_Roman\\\\", -"#&Times Italic&Hershey/Complex\\_Greek\\\\", -"#&Times Bold Italic&Hershey/Complex\\_Italic\\\\", -"#&Courier&Hershey/Complex\\_Cyrillic\\\\", -"#&Courier Bold&Hershey/Duplex\\_Roman\\\\", -"#&Courier Oblique&Hershey/Triplex\\_Roman\\\\", -"#&Courier Bold Oblique&Hershey/Triplex\\_Italic\\\\", -"#&Symbol&Hershey/Gothic\\_German\\\\", -"#&ZapfDingbats&Hershey/Gothic\\_English\\\\", -"#&Script&Hershey/Gothic\\_Italian\\\\", -"#&15&Hershey/Symbol\\_Set\\_1\\\\", -"#&&Hershey/Symbol\\_Set\\_2\\\\", -"#&&Hershey/Symbol\\_Math\\\\", -"%c c l .", -"%@@CGM fonts", -"%_", -"%@@Helvetica", -"%@@Helvetica Bold", -"%@@Helvetica Oblique", -"%@@Helvetica Bold Oblique", -"%@@Times Roman", -"%@@Times Bold", -"%@@Times Italic", -"%@@Times Bold Italic", -"%@@Courier", -"%@@Courier Bold", -"%@@Courier Oblique", -"%@@Courier Bold Oblique", -"%@@Symbol", -"%@@Hershey/Cartographic_Roman", -"%@@Hershey/Cartographic_Greek", -"%@@Hershey/Simplex_Roman", -"%@@Hershey/Simplex_Greek", -"%@@Hershey/Simplex_Script", -"%@@Hershey/Complex_Roman", -"%@@Hershey/Complex_Greek", -"%@@Hershey/Complex_Script", -"%@@Hershey/Complex_Italic", -"%@@Hershey/Complex_Cyrillic", -"%@@Hershey/Duplex_Roman", -"%@@Hershey/Triplex_Roman", -"%@@Hershey/Triplex_Italic", -"%@@Hershey/Gothic_German", -"%@@Hershey/Gothic_English", -"%@@Hershey/Gothic_Italian", -"%@@Hershey/Symbol_Set_1", -"%@@Hershey/Symbol_Set_2", -"%@@Hershey/Symbol_Math", -"%@@ZapfDingbats", -"%@@Script", -"%@@15", -"@end table", -"^
    @@ -84,7 +91,6 @@
  • pm3d coloring
  • pm3d hidden surfaces
  • pm3d clipping
  • -
  • 3D mapping
  • 2D projection of 3D surface
  • shaded error region
  • azimuth
  • @@ -107,10 +113,16 @@
  • Embedded webp animation
  • +

    Watchpoints

    + +

    Hulls and Masks (new!)

    Coordinate and
    axis transforms

    @@ -125,7 +137,7 @@
  • polar quadrants
  • cylindrical/spherical
  • time/date coords
  • -
  • coord sampling ranges
  • +
  • coordinate sampling ranges
  • Binary and Image data

    @@ -133,7 +145,7 @@
  • binary data
  • image data
  • binary and image tricks
  • -
  • RGB + alpha channel
  • +
  • RGB + alpha channel
  • bar chart art
  • missing/NaN values
  • pixmap gradients and icons
  • @@ -142,28 +154,43 @@
    +

    Heat Maps

    + + +

    Histograms

    + +

    Sample Applications

    Text options

    @@ -192,15 +219,6 @@
  • extra key entries
  • -

    Styles

    - -
    @@ -270,7 +288,7 @@
    - This page generated October 2022 + This page generated July 2023 @@ -278,9 +296,9 @@
  • Gnuplot development pages on SourceForge
  • On-line PDF documentation in - English + English and - Japanese + Japanese
  • @@ -96,7 +103,6 @@ on mouse-coordinate tracking.
  • pm3d coloring
  • pm3d hidden surfaces
  • pm3d clipping
  • -
  • 3D mapping
  • 2D projection of 3D surface
  • shaded error region
  • azimuth
  • @@ -114,10 +120,16 @@ on mouse-coordinate tracking.
  • 3D isosurface
  • +

    Watchpoints

    + +

    Hulls and Masks (new!)

    Coordinate and
    axis transforms

    @@ -132,13 +144,13 @@ on mouse-coordinate tracking.
  • polar quadrants
  • cylindrical/spherical
  • time/date coords
  • -
  • coord sampling ranges
  • +
  • coordinate sampling ranges
  • Binary and Image data

    +

    Heat Maps

    + + +

    Histograms

    + +

    Sample Applications

    Text options

    @@ -193,15 +221,6 @@ on mouse-coordinate tracking.
  • extra key entries
  • -

    Styles

    - -
    @@ -237,15 +256,18 @@ on mouse-coordinate tracking.
    - This page generated October 2022 + This page generated July 2023
    ", -"^", -"^ ", -"^ ", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^
    CGM fonts
    HelveticaHershey/Cartographic_Roman
    Helvetica BoldHershey/Cartographic_Greek
    Helvetica ObliqueHershey/Simplex_Roman
    Helvetica Bold ObliqueHershey/Simplex_Greek
    Times RomanHershey/Simplex_Script
    Times BoldHershey/Complex_Roman
    Times ItalicHershey/Complex_Greek
    Times Bold ItalicHershey/Complex_Italic
    CourierHershey/Complex_Cyrillic
    Courier BoldHershey/Duplex_Roman
    Courier ObliqueHershey/Triplex_Roman
    Courier Bold ObliqueHershey/Triplex_Italic
    SymbolHershey/Gothic_German
    ZapfDingbatsHershey/Gothic_English
    ScriptHershey/Gothic_Italian
    15Hershey/Symbol_Set_1
    Hershey/Symbol_Set_2
    Hershey/Symbol_Math
    ", -"", -" The first thirteen of these fonts are required for WebCGM. The", -" Microsoft Office CGM import filter implements the 13 standard fonts", -" listed above, and also 'ZapfDingbats' and 'Script'. However, the", -" script font may only be accessed under the name '15'. For more on", -" Microsoft import filter font substitutions, check its help file which", -" you may find here:", -" C:\\Program Files\\Microsoft Office\\Office\\Cgmimp32.hlp", -" and/or its configuration file, which you may find here:", -" C:\\Program Files\\Common Files\\Microsoft Shared\\Grphflt\\Cgmimp32.cfg", -"", -" In the `set term` command, you may specify a font name which does not", -" appear in the default font table. In that case, a new font table is", -" constructed with the specified font as its first entry. You must ensure", -" that the spelling, capitalization, and spacing of the name are", -" appropriate for the application that will read the CGM file. (Gnuplot", -" and any MIL-D-28003A compliant application ignore case in font names.)", -" If you need to add several new fonts, use several `set term` commands.", -"", -" Example:", -" set terminal cgm 'Old English'", -" set terminal cgm 'Tengwar'", -" set terminal cgm 'Arabic'", -" set output 'myfile.cgm'", -" plot ...", -" set output", -"", -" You cannot introduce a new font in a `set label` command.", - -"2 cgm fontsize", -"?commands set terminal cgm fontsize", -"?set terminal cgm fontsize", -"?set term cgm fontsize", -"?cgm fontsize", -" Fonts are scaled assuming the page is 6 inches wide. If the `size`", -" command is used to change the aspect ratio of the page or the CGM file", -" is converted to a different width, the resulting font sizes will be", -" scaled up or down accordingly. To change the assumed width, use the", -" `width` option.", - -"2 cgm linewidth", -"?commands set terminal cgm linewidth", -"?set terminal cgm linewidth", -"?set term cgm linewidth", -"?cgm linewidth", -" The `linewidth` option sets the width of lines in pt. The default width", -" is 1 pt. Scaling is affected by the actual width of the page, as", -" discussed under the `fontsize` and `width` options.", - -"2 cgm rotate", -"?commands set terminal cgm rotate", -"?set terminal cgm rotate", -"?set term cgm rotate", -"?cgm rotate", -" The `norotate` option may be used to disable text rotation. For", -" example, the CGM input filter for Word for Windows 6.0c can accept", -" rotated text, but the DRAW editor within Word cannot. If you edit a", -" graph (for example, to label a curve), all rotated text is restored to", -" horizontal. The Y axis label will then extend beyond the clip boundary.", -" With `norotate`, the Y axis label starts in a less attractive location,", -" but the page can be edited without damage. The `rotate` option confirms", -" the default behavior.", - -"2 cgm solid", -"?set terminal cgm solid", -"?set term cgm solid", -"?cgm solid", -" The `solid` option may be used to disable dashed line styles in the", -" plots. This is useful when color is enabled and the dashing of the", -" lines detracts from the appearance of the plot. The `dashed` option", -" confirms the default behavior, which gives a different dash pattern to", -" each line type.", - -"2 cgm size", -"?commands set terminal cgm size", -"?set terminal cgm size", -"?set term cgm size", -"?cgm size", -" Default size of a CGM plot is 32599 units wide and 23457 units high for", -" landscape, or 23457 units wide by 32599 units high for portrait.", - -"2 cgm width", -"?commands set terminal cgm width", -"?set terminal cgm width", -"?set term cgm width", -"?cgm width", -" All distances in the CGM file are in abstract units. The application", -" that reads the file determines the size of the final plot. By default,", -" the width of the final plot is assumed to be 6 inches (15.24 cm). This", -" distance is used to calculate the correct font size, and may be changed", -" with the `width` option. The keyword should be followed by the width in", -" points. (Here, a point is 1/72 inch, as in PostScript. This unit is", -" known as a \"big point\" in TeX.) Gnuplot `expressions` can be used to", -" convert from other units.", -"", -" Example:", -" set terminal cgm width 432 # default", -" set terminal cgm width 6*72 # same as above", -" set terminal cgm width 10/2.54*72 # 10 cm wide", - -"2 cgm nofontlist", -"?commands set terminal cgm nofontlist", -"?set terminal cgm nofontlist", -"?set term cgm nofontlist", -"?cgm nofontlist", -"?set terminal cgm winword6", -"?set term cgm winword6", -"?cgm winword6", -" The default font table includes the fonts recommended for WebCGM, which", -" are compatible with the Computer Graphics Metafile input filter for", -" Microsoft Office and Corel Draw. Another application might use", -" different fonts and/or different font names, which may not be", -" documented. The `nofontlist` (synonym `winword6`) option deletes the font", -" table from the CGM file. In this case, the reading application should", -" use a default table. Gnuplot will still use its own default font table", -" to select font indices. Thus, 'Helvetica' will give you an index of 1,", -" which should get you the first entry in your application's default font", -" table. 'Helvetica Bold' will give you its second entry, etc.", -"" -#else /* JAPANESE_DOC */ -"1 cgm", -"?commands set terminal cgm", -"?set terminal cgm", -"?set term cgm", -"?terminal cgm", -"?term cgm", -"?cgm", -" `cgm` ドライバは CGM 出力 (Computer Graphics Metafile Version 1) を生", -" 成します。このファイルフォーマットは ANSI 規格書 X3.122-1986 \"Computer", -" Graphics - Metafile for the Storage and Transfer of Picture Description", -" Information\" で定義されているものの一部分です。", -"", -" 書式:", -" set terminal cgm {color | monochrome} {solid | dashed} {{no}rotate}", -" {} {width } {linewidth }", -" {font \",\"}", -" {background }", -" [deprecated] { ...}", -"", -" `solid` は全ての曲線を実線で描き、どんな点線パターンも塗りつぶします;", -" は `landscape`, `portrait`, `default` のいずれか;", -" はポイント単位でのグラフの仮定されている幅;", -" はポイント単位での線幅 (デフォルトは 1);", -" はフォントの名前 (以下のフォント一覧参照); そして", -" はポイント単位でのフォントのサイズ (デフォルトは 12) です。", -"", -" 最初の 6 つのオプションはどの順番で指定しても構いません。`default` を", -" 選択すると、全てのオプションをそのデフォルトの値にします。", -"", -" 線の色を `set term` コマンドで設定する仕組みは、今は非推奨です。代わり", -" に、背景色は分離されたキーワード background で、線の色は `set linetype`", -" で設定すべきでしょう。この非推奨の仕組みでは色は 'xrrggbb' の形式で受け", -" つけますが、x は文字 'x' そのもの、'rrggbb' は 16 進数での赤、緑、青の", -" 成分です。最初の色を背景色として使い、その後に続く色指定を順次線の色と", -" として割り当てていました。", -"", -" 例:", -" set terminal cgm landscape color rotate dashed width 432 \\", -" linewidth 1 'Helvetica Bold' 12 # デフォルト", -" set terminal cgm linewidth 2 14 # やや広い線とやや大きいフォント", -" set terminal cgm portrait \"Times Italic\" 12", -" set terminal cgm color solid # 面倒な点線など消えてしまえ !", - -"2 CGM のフォント (font)", -"?commands set terminal cgm font", -"?set terminal cgm font", -"?set term cgm font", -"?cgm font", -" CGM (Computer Graphics Metafile) ファイルの最初の部分、メタファイルの", -" 記述部分には、フォントリスト (font table) が含まれています。画像の本体", -" 部では、フォントはこのリストにある番号で指定されます。デフォルトではこ", -" のドライバは以下の 35 個のフォントリストを生成し、さらにこのリストの", -" `Helvetica`, `Times`, `Courier` の各フォントの `italic` を `oblique`", -" で置き換えたもの、およびその逆による 6 つの追加のフォントが含まれます", -" (Microsoft Office と Corel Draw CGM の import フィルタは `italic` と", -" `oblique` を同じものとして扱うからです)。", -"", -"@start table - 最初は対話型テキスト形式", -" Helvetica", -" Helvetica Bold", -" Helvetica Oblique", -" Helvetica Bold Oblique", -" Times Roman", -" Times Bold", -" Times Italic", -" Times Bold Italic", -" Courier", -" Courier Bold", -" Courier Oblique", -" Courier Bold Oblique", -" Symbol", -" Hershey/Cartographic_Roman", -" Hershey/Cartographic_Greek", -" Hershey/Simplex_Roman", -" Hershey/Simplex_Greek", -" Hershey/Simplex_Script", -" Hershey/Complex_Roman", -" Hershey/Complex_Greek", -" Hershey/Complex_Script", -" Hershey/Complex_Italic", -" Hershey/Complex_Cyrillic", -" Hershey/Duplex_Roman", -" Hershey/Triplex_Roman", -" Hershey/Triplex_Italic", -" Hershey/Gothic_German", -" Hershey/Gothic_English", -" Hershey/Gothic_Italian", -" Hershey/Symbol_Set_1", -" Hershey/Symbol_Set_2", -" Hershey/Symbol_Math", -" ZapfDingbats", -" Script", -" 15", -"#\\begin{tabular}{|lll|} \\hline", -"#\\multicolumn{3}{|c|}{CGM fonts}\\\\\\hline", -"#&Helvetica&Hershey/Cartographic\\_Roman\\\\", -"#&Helvetica Bold&Hershey/Cartographic\\_Greek\\\\", -"#&Helvetica Oblique&Hershey/Simplex\\_Roman\\\\", -"#&Helvetica Bold Oblique&Hershey/Simplex\\_Greek\\\\", -"#&Times Roman&Hershey/Simplex\\_Script\\\\", -"#&Times Bold&Hershey/Complex\\_Roman\\\\", -"#&Times Italic&Hershey/Complex\\_Greek\\\\", -"#&Times Bold Italic&Hershey/Complex\\_Italic\\\\", -"#&Courier&Hershey/Complex\\_Cyrillic\\\\", -"#&Courier Bold&Hershey/Duplex\\_Roman\\\\", -"#&Courier Oblique&Hershey/Triplex\\_Roman\\\\", -"#&Courier Bold Oblique&Hershey/Triplex\\_Italic\\\\", -"#&Symbol&Hershey/Gothic\\_German\\\\", -"#&ZapfDingbats&Hershey/Gothic\\_English\\\\", -"#&Script&Hershey/Gothic\\_Italian\\\\", -"#&15&Hershey/Symbol\\_Set\\_1\\\\", -"#&&Hershey/Symbol\\_Set\\_2\\\\", -"#&&Hershey/Symbol\\_Math\\\\", -"%c c l .", -"%@@CGM fonts", -"%_", -"%@@Helvetica", -"%@@Helvetica Bold", -"%@@Helvetica Oblique", -"%@@Helvetica Bold Oblique", -"%@@Times Roman", -"%@@Times Bold", -"%@@Times Italic", -"%@@Times Bold Italic", -"%@@Courier", -"%@@Courier Bold", -"%@@Courier Oblique", -"%@@Courier Bold Oblique", -"%@@Symbol", -"%@@Hershey/Cartographic_Roman", -"%@@Hershey/Cartographic_Greek", -"%@@Hershey/Simplex_Roman", -"%@@Hershey/Simplex_Greek", -"%@@Hershey/Simplex_Script", -"%@@Hershey/Complex_Roman", -"%@@Hershey/Complex_Greek", -"%@@Hershey/Complex_Script", -"%@@Hershey/Complex_Italic", -"%@@Hershey/Complex_Cyrillic", -"%@@Hershey/Duplex_Roman", -"%@@Hershey/Triplex_Roman", -"%@@Hershey/Triplex_Italic", -"%@@Hershey/Gothic_German", -"%@@Hershey/Gothic_English", -"%@@Hershey/Gothic_Italian", -"%@@Hershey/Symbol_Set_1", -"%@@Hershey/Symbol_Set_2", -"%@@Hershey/Symbol_Math", -"%@@ZapfDingbats", -"%@@Script", -"%@@15", -"@end table", -"^", -"^", -"^ ", -"^ ", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^", -"^
    CGM fonts
    HelveticaHershey/Cartographic_Roman
    Helvetica BoldHershey/Cartographic_Greek
    Helvetica ObliqueHershey/Simplex_Roman
    Helvetica Bold ObliqueHershey/Simplex_Greek
    Times RomanHershey/Simplex_Script
    Times BoldHershey/Complex_Roman
    Times ItalicHershey/Complex_Greek
    Times Bold ItalicHershey/Complex_Italic
    CourierHershey/Complex_Cyrillic
    Courier BoldHershey/Duplex_Roman
    Courier ObliqueHershey/Triplex_Roman
    Courier Bold ObliqueHershey/Triplex_Italic
    SymbolHershey/Gothic_German
    ZapfDingbatsHershey/Gothic_English
    ScriptHershey/Gothic_Italian
    15Hershey/Symbol_Set_1
    Hershey/Symbol_Set_2
    Hershey/Symbol_Math
    ", -"", -" これらのフォントの最初の 13 個は WebCGM で要求されているものです。", -" Microsoft Office の CGM import フィルタはその 13 個の標準フォントと", -" 'ZapfDingbats' と 'Script' をサポートしています。しかし、そのスクリプ", -" ト (script) フォントは '15' という名前でしかアクセスできません。", -" Microsoft の import フィルタの font の置き換えに関するより詳しい情報に", -" ついては、", -" C:\\Program Files\\Microsoft Office\\Office\\Cgmimp32.hlp", -" のヘルプファイル、または", -" C:\\Program Files\\Common Files\\Microsoft Shared\\Grphflt\\Cgmimp32.cfg", -" の設定ファイルなどをチェックしてください。", -"", -" `set term` コマンドでデフォルトのフォントリストにないフォント名を指定", -" することも可能です。その場合、その指定したフォントが最初に現われる新", -" しいフォントリストが作られます。そのフォント名に関して、スペル、単語", -" の先頭の大文字化やどこにスペースが入るかなどが、作られる CGM ファイル", -" を読むアプリケーションにとって適切なものであるかをちゃんと確認する必要", -" があります。(gnuplot と任意の MIL-D-28003A 準拠アプリケーションは、フ", -" ォント名の大文字小文字の違いは無視します。) 新しいフォントをいくつも追", -" 加したい場合は、`set term` コマンドを繰り返し使用してください。", -"", -" 例:", -" set terminal cgm 'Old English'", -" set terminal cgm 'Tengwar'", -" set terminal cgm 'Arabic'", -" set output 'myfile.cgm'", -" plot ...", -" set output", -"", -" `set label` コマンドでは新しいフォントを導入することはできません。", - -"2 CGM のフォントサイズ (fontsize)", -"?commands set terminal cgm fontsize", -"?set terminal cgm fontsize", -"?set term cgm fontsize", -"?cgm fontsize", -" フォントは、ページが 6 インチの幅であると仮定して伸縮されます。`size`", -" コマンドでページの縦横比が変更されていたり、CGM ファイルが異なる幅に変", -" 換されている場合、結果としてフォントのサイズも拡大されたり縮小されたり", -" することになります。仮定されている幅を変更するには、`width` オプション", -" を使用してください。", - -"2 cgm linewidth", -"?commands set terminal cgm linewidth", -"?set terminal cgm linewidth", -"?set term cgm linewidth", -"?cgm linewidth", -" `linewidth` オプションは線の幅をポイント単位 (pt) で設定します。デフォ", -" ルトの幅は 1 pt です。`fontsize` や `width` オプションのところで説明さ", -" れているように、ページの実際の幅によってその縮尺は影響を受けます。", - -"2 cgm rotate", -"?commands set terminal cgm rotate", -"?set terminal cgm rotate", -"?set term cgm rotate", -"?cgm rotate", -" `norotate` オプションはテキストの回転をしないようにします。例えば Word", -" for Windows 6.0c 用の CGM 入力フィルタは回転された文字列を受け付けます", -" が、Word に付属する DRAW エディタはそれを受け付けることができず、グラ", -" フを編集すると (例えば曲線に見出しをつける)、全ての回転された文字列は", -" 水平方向になって保存されてしまい、Y 軸の見出しはクリップされる境界線を", -" 越えてしまうでしょう。`norotate` オプションを使えば、見栄えの良くない", -" 場所から Y 軸の見出しが始まってしまいますが、編集によってダメージを受", -" けることはなくなります。`rotate` オプションはデフォルトの挙動を保証し", -" ます。", - -"2 cgm solid", -"?set terminal cgm solid", -"?set term cgm solid", -"?cgm solid", -" `solid` オプションは描画の点線の線描画スタイルを無効するのに使います。", -" これは、カラーが有効である場合、また点線にすることでグラフが見にくくな", -" る場合に有用でしょう。`dashed` オプションはデフォルトの挙動を保証し、", -" この場合個々の線種に異なる点線のパターンが与えられます。", - -"2 CGM のサイズ (size)", -"?commands set terminal cgm size", -"?set terminal cgm size", -"?set term cgm size", -"?cgm size", -" CGM グラフのデフォルトのサイズは、横置き (landscape) では幅 32599, 縦", -" 23457、縦置き (portrait) では幅 23457, 縦 32599 です。", - -"2 cgm width", -"?commands set terminal cgm width", -"?set terminal cgm width", -"?set term cgm width", -"?cgm width", -" CGM ファイルの全ての長さは抽象的な単位を持ち、そのファイルを読むアプリ", -" ケーションが最終的なグラフのサイズを決定します。デフォルトでは最終的な", -" グラフの幅は 6 インチ (15.24 cm) であると仮定されています。この幅は正", -" しいフォントサイズを計算するのに使われ、`width` オプションで変更できま", -" す。キーワード `width` の後に幅をポイント単位で指定します。(ここで、ポ", -" イントは PostScript と同様 1/72 インチを意味します。この単位は TeX では", -" \"big point\" と呼ばれています。) 他の単位から変換するには、gnuplot の数", -" 式が使えます。", -"", -" 例:", -" set terminal cgm width 432 # デフォルト", -" set terminal cgm width 6*72 # 上と同じ値", -" set terminal cgm width 10/2.54*72 # 10 cm の幅", - -"2 cgm nofontlist", -"?commands set terminal cgm nofontlist", -"?set terminal cgm nofontlist", -"?set term cgm nofontlist", -"?cgm nofontlist", -"?set terminal cgm winword6", -"?set term cgm winword6", -"?cgm winword6", -" デフォルトのフォントリスト (font table) は WebCGM で勧告されているフォ", -" ントを含んでいて、これは Microsoft Office と Corel Draw の CGM (Computer", -" Graphics Metafile) 入力フィルタに適合しています。他のアプリケーション", -" は異なるフォント、あるいは異なるフォント名を使用するかも知れませんが、", -" それはマニュアルには書かれていないかも知れません。オプション", -" `nofontlist` (`winword6` も同じ意味) を使用すると CGM ファイルからフォ", -" ントリストを削除します。この場合、読み込んだアプリケーションはデフォル", -" トのフォントリストを使用するでしょう。gnuplot はその場合でもフォント番", -" 号の選択のために自分のデフォルトのフォントリストを使用します。よって、", -" 'Helvetica' が 1 番になり、それがあなたの使用するアプリケーションのデ", -" フォルトフォントリストの最初のものになります。'Helvetica Bold' がその", -" フォントリストの 2 番目のフォントに対応し、他も同様となります。", -"" -#endif /* JAPANESE_DOC */ - -END_HELP(cgm) -START_HELP(context) -#ifndef JAPANESE_DOC -"1 context", -"?commands set terminal context", -"?set terminal context", -"?terminal context", -"?set term context", -"?term context", -"?context", -" ConTeXt is a macro package for TeX, highly integrated with Metapost", -" (for drawing figures) and intended for creation of high-quality PDF documents.", -" The terminal outputs Metafun source, which can be edited manually,", -" but you should be able to configure most things from outside.", -"", -" For an average user of ConTeXt + gnuplot module it's recommended to refer to", -" `Using ConTeXt` rather than reading this page", -" or to read the manual of the gnuplot module for ConTeXt.", -"", -" The `context` terminal supports the following options:", -"", -" Syntax:", -" set term context {default}", -" {defaultsize | size | size {in|cm}, {in|cm}}", -" {input | standalone}", -" {timestamp | notimestamp}", -" {noheader | header \"
    \"}", -" {color | colour | monochrome}", -" {rounded | mitered | beveled} {round | butt | squared}", -" {dashed | solid} {dashlength | dl
    }", -" {linewidth | lw }", -" {fontscale }", -" {mppoints | texpoints}", -" {inlineimages | externalimages}", -" {defaultfont | font \"{}{,}\"}", -"", -" In non-standalone (`input`) graphic only parameters `size` to select graphic", -" size, `fontscale` to scale all the labels for a factor ", -" and font size, make sense, the rest is silently", -" ignored and should be configured in the .tex file which inputs the graphic.", -" It's highly recommended to set the proper fontsize if document font differs from", -" 12pt, so that gnuplot will know how much space to reserve for labels.", -"", -" `default` resets all the options to their default values.", -"", -" `defaultsize` sets the plot size to 5in,3in.", -" `size` sets the plot size to times .", -" If two arguments are given (separated with ','), the first one sets", -" the horizontal size and the second one the vertical size.", -" Size may be given without units (in which case it means relative to the default", -" value), with inches ('in') or centimeters ('cm').", -"", -" `input` (default) creates a graphic that can be included into another ConTeXt", -" document.", -" `standalone` adds some lines, so that the document might be compiled as-is.", -" You might also want to add `header` in that case.", -"", -" Use `header` for any additional settings/definitions/macros", -" that you might want to include in a standalone graphic. `noheader` is the default.", -"", -" `notimestamp` prevents printing creation time in comments", -" (if version control is used, one may prefer not to commit new version when only date changes).", -"", -" `color` to make color plots is the default, but `monochrome` doesn't do anything special yet.", -" If you have any good ideas how the behaviour should differ to suit the monochrome printers better,", -" your suggestions are welcome.", -"", -" `rounded` (default), `mitered` and `beveled` control the shape of line joins.", -" `round` (default), `butt` and `squared` control the shape of line caps.", -" See PostScript or PDF Reference Manual for explanation. For wild-behaving functions", -" and thick lines", -" it is better to use `rounded` and `round` to prevent sharp corners in line joins.", -" (Some general support for this should be added to Gnuplot, so that the same options", -" could be set for each line (style) separately).", -"", -" `dashed` (default) uses different dash patterns for different line types,", -" `solid` draws all plots with solid lines.", -"", -" `dashlength` or `dl` scales the length of the dashed-line segments by
    .", -" `linewidth` or `lw` scales all linewidths by .", -" (lw 1 stands for 0.5bp, which is the default line width when drawing with Metapost.)", -" `fontscale` scales text labels for factor relative to default document font.", -"", -" `mppoints` uses predefined point shapes, drawn in Metapost.", -" `texpoints` uses easily configurable set of symbols, defined with ConTeXt", -" in the following way:", -" \\defineconversion[my own points][+,{\\ss x},\\mathematics{\\circ}]", -" \\setupGNUPLOTterminal[context][points=tex,pointset=my own points]", -"", -" `inlineimages` writes binary images to a string and only works in ConTeXt MKIV.", -" `externalimages` writes PNG files to disk and also works with ConTeXt MKII.", -" Gnuplot needs to have support for PNG images built in for this to work.", -"", -" With `font` you can set font name and size in standalone graphics.", -" In non-standalone (`input`) mode only the font size is important", -" to reserve enough space for text labels.", -" The command", -" set term context font \"myfont,ss,10\"", -" will result in", -" \\setupbodyfont[myfont,ss,10pt]", -" If you additionally set `fontscale` to 0.8 for example,", -" then the resulting font will be 8pt big and", -" set label ... font \"myfont,12\"", -" will come out as 9.6pt.", -"", -" It is your own responsibility to provide proper typescripts (and header),", -" otherwise switching the font will have no effect.", -" For a standard font in ConTeXt MKII (pdfTeX) you could use:", -" set terminal context standalone header '\\usetypescript[iwona][ec]' \\", -" font \"iwona,ss,11\"", -" Please take a look into ConTeXt documentation, wiki or mailing list (archives)", -" for any up-to-date information about font usage.", -"", -" Examples:", -" set terminal context size 10cm, 5cm # 10cm, 5cm", -" set terminal context size 4in, 3in # 4in, 3in", -" For standalone (whole-page) plots with labels in UTF-8 encoding:", -" set terminal context standalone header '\\enableregime[utf-8]'", -"", /* TODO: LaTeX formatting */ -"2 Requirements", -" You need gnuplot module for ConTeXt", -"^ ", -" http://ctan.org/pkg/context-gnuplot", -"^ ", -" and a recent version of ConTeXt.", -" If you want to call gnuplot on-the-fly, you also need write18 enabled.", -" In most TeX distributions this can be set with shell_escape=t in texmf.cnf.", -"", -" See", -"^ ", -" http://wiki.contextgarden.net/Gnuplot", -"^ ", -" for details about this terminal and for more exhaustive help & examples.", -"", -"2 Calling gnuplot from ConTeXt", -" The easiest way to make plots in ConTeXt documents is", -" \\usemodule[gnuplot]", -" \\starttext", -" \\title{How to draw nice plots with {\\sc gnuplot}?}", -" \\startGNUPLOTscript[sin]", -" set format y \"%.1f\"", -" plot sin(x) t '$\\sin(x)$'", -" \\stopGNUPLOTscript", -" \\useGNUPLOTgraphic[sin]", -" \\stoptext", -" This will run gnuplot automatically and include the resulting figure in the document." -#else /* JAPANESE_DOC */ -"1 context", -"?commands set terminal context", -"?set terminal context", -"?terminal context", -"?set term context", -"?term context", -"?context", -" ConTeXt は (絵の描画のために) Metapost と高度に融合し、高品質な PDF 文", -" 書を生成するための TeX のマクロパッケージです。この出力形式は、Metafun", -" ソースを生成しますが、これは手動で編集でき、外部からほとんどのことをあ", -" なたが設定できます。", -"", -" ConTeXt + gnuplot モジュールの平均的なユーザには、このページを読むより", -" も、`Using ConTeXt` を参照するか、ConTeXt の gnuplot モジュールのマニュ", -" アルを参照することを推奨します。", -"", -" 出力形式 `context` は、以下のオプションをサポートしています:", -"", -" 書式:", -" set term context {default}", -" {defaultsize | size | size {in|cm}, {in|cm}}", -" {input | standalone}", -" {timestamp | notimestamp}", -" {noheader | header \"
    \"}", -" {color | colour | monochrome}", -" {rounded | mitered | beveled} {round | butt | squared}", -" {dashed | solid} {dashlength | dl
    }", -" {linewidth | lw }", -" {fontscale }", -" {mppoints | texpoints}", -" {inlineimages | externalimages}", -" {defaultfont | font \"{}{,}\"}", -"", -" standalone でないグラフ (`input`) では、オプションはグラフサイズを選択", -" する `size`、すべてのラベルを倍率 で伸縮する `fontscasle`、", -" および font サイズのみ意味を持ち、他のオプションは警告なく無視されるの", -" みで、それらはそのグラフィックを読み込む .tex ファイルの方で設定してく", -" ださい。元の文書のフォントが 12pt ではない場合は、適切なフォントサイズ", -" を指定することを強く推奨します。それにより、gnuplot がラベル用にどれく", -" らいの大きさのスペースを確保すればいいかを知ることができまず。", -"", -" `default` は、すべてのオプションをデフォルトの値にリセットします。", -"", -" `defaultsize` は、描画サイズを 5in x 3in に設定します。", -" `size` は、描画サイズをデフォルトサイズの 倍にしますが", -" 引数を ',' 区切りで 2 つ与えた場合は、最初のものは横のサイズを、2 つ目", -" のものは垂直サイズを設定します。それらのサイズには、単位としてインチ", -" ('in'), センチ ('cm') が使えますが、省略した場合はデフォルト値に対する", -" 比であるとみなします。", -"", -" `input` (デフォルト) は、他の ConTeXt 文書から取り込めるグラフを生成し", -" ます。", -" `standalone` は、それに数行追加し、それ自身がそのままコンパイルできるよ", -" うにします。その場合、`header` オプションが必要になるかもしれません。", -"", -" standalone のグラフに設定/定義/マクロを追加したい場合は `header` を使用", -" してください。デフォルトは `noheader` です。", -"", -" `notimestamp` は、コメント部分の日時の出力を抑制します (バージョン管理", -" システムを使っている場合、日付だけ違うものを新しいバージョンとして登録", -" したくはないでしょう)。", -"", -" `color` (デフォルト) は、カラー描画を生成しますが、`monochrome` は一切", -" special を入れません。白黒プリンタ用には、その挙動をこんな風に変えた方", -" がもっと良くなるというアイデアを持っている人は、是非提案してください。", -"", -" `rounded` (デフォルト) と `mitered`, `beveled` は、線分の接合部の形状を", -" 制御し、`round` (default) と `butt`, `squared` は、線分の端の形状を制御", -" します。詳細は、PostScript か PDF のリファレンスマニュアルを参照してく", -" ださい。激しく変化する関数と太い線用には、線分の接合部での尖った角を避", -" けるように`rounded` と `round` を使うといいでしょう。", -" (これに関する一般的な仕組みは、このオプションを各描画スタイル毎に別々に", -" 指定できるよう gnuplot がサポートすべきだと思います。)", -"", -" `dashed` (デフォルト) は、異なる線種に異なる点線パターンを使い、`solid`", -" は、すべての描画に実線を使用します。", -"", -" `dashlength` (または `dl`) は、点線の線分の長さを
    倍します。", -" `linewidth` (または `lw`) は、すべての線幅を 倍します。", -" (lw 1 は 0.5bp を意味し、これは Metapost の描画のデフォルトの線幅です)", -" `fontscale` は、テキストラベルをデフォルトの文書フォントの ", -" 倍に拡大します。", -"", -" `mppoints` は、Metapost で描画された定義済みの点の形状を使用します。", -" `texpoints` は、簡単に設定できる記号セットを使用します。これは、以下", -" のようにして ConTeXt で定義できます:", -" \\defineconversion[my own points][+,{\\ss x},\\mathematics{\\circ}]", -" \\setupGNUPLOTterminal[context][points=tex,pointset=my own points]", -"", -" `inlineimages` は、バイナリ画像を文字列として書き出しますが、これは", -" ConTeXt MKIV のみで機能します。", -" `externalimages` は、PNG ファイルを外部出力し、これは ConTeXt MKII で機", -" 能します。これが動作するためには、gnuplot が PNG 画像出力をサポートして", -" いる必要があります。", -"", -" standalone のグラフでは、`font` でフォント名とサイズを設定できます。", -" standalone でないモード (`input`) では、テキストラベルに十分なスペース", -" を割り当てるためにフォントサイズのみが意味を持ちます", -" コマンド", -" set term context font \"myfont,ss,10\"", -" は、以下のようになります:", -" \\setupbodyfont[myfont,ss,10pt]", -" 例えばさらに追加で `fontscale` を 0.8 に設定すると、結果としてフォント", -" は 8pt の大きさになり、 ", -" set label ... font \"myfont,12\"", -" は 9.6pt になります。", -"", -" 適当なタイプスクリプトフォント (とヘッダー) を用意するのは自分で行って", -" さもなくばフォントの切り替えは効果を持ちません。ConTeXt MKII (pdfTeX)", -" の標準フォントは、以下のようにして使えます:", -" set terminal context standalone header '\\usetypescript[iwona][ec]' \\", -" font \"iwona,ss,11\"", -" フォントの利用に関する ConTeXt の最新の情報については、ConTeXt の文書、", -" wiki、メーリングリスト (アーカイブ) を探してみてください。", -"", -" 例:", -" set terminal context size 10cm, 5cm # 10cm, 5cm", -" set terminal context size 4in, 3in # 4in, 3in", -" UTF-8 エンコードラベルを standalone (ページ全体) グラフで使用するには:", -" set terminal context standalone header '\\enableregime[utf-8]'", -"", /* TODO: LaTeX formatting */ -"C 2 必要条件 (Requirements)", -"2 Requirements", -" ConTeXt 用の gnuplot モジュール:", -"^ ", -" http://ctan.org/pkg/context-gnuplot", -"^ ", -" と、最新の ConTeXt が必要です。", -" そこから gnuplot を呼び出すには、write18 を可能にする必要があります。", -" ほとんどの TeX 配付物では、これは texmf.cnf で shell_escape=t とするこ", -" とで設定できます。", -"", -" この出力形式とより詳しいヘルプと例に関しては以下も参照してください:", -"^ ", -" http://wiki.contextgarden.net/Gnuplot", -"^ ", -"", -"C 2 ConTeXt からの gnuplot の呼び出し (Calling gnuplot from ConTeXt)", -"2 Calling gnuplot from ConTeXt", -" ConTeXt 文書でグラフを作成する最も簡単な方法は以下の通り:", -" \\usemodule[gnuplot]", -" \\starttext", -" \\title{How to draw nice plots with {\\sc gnuplot}?}", -" \\startGNUPLOTscript[sin]", -" set format y \"%.1f\"", -" plot sin(x) t '$\\sin(x)$'", -" \\stopGNUPLOTscript", -" \\useGNUPLOTgraphic[sin]", -" \\stoptext", -" これは自動的に gnuplot を実行し、その結果の画像を文書中に取り込みます。" -#endif /* JAPANESE_DOC */ -END_HELP(context) -START_HELP(debug) -#ifndef JAPANESE_DOC -"1 debug", -"?commands set terminal debug", -"?set terminal debug", -"?set term debug", -"?terminal debug", -"?term debug", -"?debug", -" This terminal is provided to allow for the debugging of `gnuplot`. It is", -" likely to be of use only for users who are modifying the source code." -#else /* JAPANESE_DOC */ -"1 debug", -"?commands set terminal debug", -"?set terminal debug", -"?set term debug", -"?terminal debug", -"?term debug", -"?debug", -" このドライバは `gnuplot` のデバッグのために提供されているものです。お", -" そらくソースコードを修正するユーザのみが使用するものでしょう。" -#endif /* JAPANESE_DOC */ -END_HELP(debug) -START_HELP(domterm) -#ifndef JAPANESE_DOC -"1 domterm", -"?set terminal domterm", -"?terminal domterm", -"?set term domterm", -"?term domterm", -"?domterm", -" Syntax:", -" set terminal domterm ", -" {font \"{,}\"} {{no}enhanced}", -" {fontscale }", -" {rounded|butt|square} {solid|dashed} {linewidth }", -" {background }", -" {animate}", -"", -" The `domterm` terminal device runs on the DomTerm terminal emulator", -" including the domterm and qtdomterm programs.", -" It supports SVG graphics embedded directly in the terminal output.", -" See http://domterm.org .", -"", -" For information on terminal options, please see the `svg` terminal.", -"", -"2 animate", -"?set term domterm animate", -"?term domterm animate", -" set term domterm animate", -"", -" The `animate` option resets the cursor position to the terminal top left at", -" the start of every plot so that successive plots overwrite the same area on", -" the screen. This may be desirable in order to create an in-place animation.", -"" -#else /* JAPANESE_DOC */ -"1 domterm", -"?set terminal domterm", -"?terminal domterm", -"?set term domterm", -"?term domterm", -"?domterm", -" 書式:", -" set terminal domterm ", -" {font \"{,}\"} {{no}enhanced}", -" {fontscale }", -" {rounded|butt|square} {solid|dashed} {linewidth }", -" {background }", -" {animate}", -"", -" `domterm` 出力形式は、domterm, qtdomterm プログラム等の DomTerm ターミ", -" ナルエミュレータ上で動作します。", -" これは、ターミナル出力内へ直接 SVG グラフ画像を埋め込むことをサポートし", -" ています。http://domterm.org を参照してください。", -"", -" terminal オプションについては、`svg` 出力形式を参照してください。", -"", -"2 animate", -"?set term domterm animate", -"?term domterm animate", -" set term domterm animate", -"", -" オプション `animate` は、カーソル位置をすべてのグラフの最初の、出力形式", -" 左上に戻し、後に続くグラフをスクリーンの同じ場所に上書きするようにしま", -" す。これは、定位置のアニメーションを作成するためには望ましいでしょう。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(domterm) -START_HELP(dumb) -#ifndef JAPANESE_DOC -"1 dumb", -"?commands set terminal dumb", -"?set terminal dumb", -"?set term dumb", -"?terminal dumb", -"?term dumb", -"?dumb", -" The `dumb` terminal driver plots into a text block using ascii characters.", -" It has an optional size specification and a trailing linefeed flag.", -"", -" Syntax:", -" set terminal dumb {size ,} {[no]feed}", -" {aspect {,}}", -#ifndef NO_DUMB_ENHANCED_SUPPORT -" {[no]enhanced}", -#endif -" {fillchar {solid|\"\"}}", -" {[no]attributes}", -#ifndef NO_DUMB_COLOR_SUPPORT -" {mono|ansi|ansi256|ansirgb}", -#endif -"", -" where and set the size of the text block. The default is", -" 79 by 24. The last newline is printed only if `feed` is enabled.", -"", -" The `aspect` option can be used to control the aspect ratio of the plot by", -" setting the length of the horizontal and vertical tic marks. Only integer", -" values are allowed. Default is 2,1 -- corresponding to the aspect ratio of", -" common screen fonts.", -"", -" The character \"#\" is used for area-fill. You can replace this with any", -" character available in the terminal font. `fillchar solid` is short for", -" `fillchar \"\\U+2588\"` (unicode FULL BLOCK).", -"", -#ifndef NO_DUMB_COLOR_SUPPORT -" The `ansi`, `ansi256`, and `ansirgb` options will include escape", -" sequences in the output to handle colors. Note that these might", -" not be handled by your terminal. Default is `mono`.", -" To obtain the best color match in `ansi` mode, you should use", -" `set colorsequence classic`.", -" Depending on the mode, the `dumb` terminal will emit the", -" following sequences (without the additional whitespace):", -"", -" ESC [ 0 m reset attributes to defaults", -" foreground color:", -" ESC [ 1 m set intense/bold", -" ESC [ 22 m intense/bold off", -" ESC [ m with color code 30 <= <= 37", -" ESC [ 39 m reset to default", -" ESC [ 38; 5; m with palette index 16 <= <= 255", -" ESC [ 38; 2; ; ; m with components 0 <= <= 255", -" background color:", -" ESC [ m with color code 40 <= <= 47", -" ESC [ 49 m reset to default", -" ESC [ 48; 5; m with palette index 16 <= <= 231", -" ESC [ 48; 2; ; ; m with components 0 <= <= 255", -"", -" See also e.g. the description at", -"^ ", -" https://en.wikipedia.org/wiki/ANSI_escape_code#Colors", -"^ ", -"", -#endif -"", -" The `attributes` option enables bold and italic text on terminals or", -" emulators that support the escape sequences", -" ESC [ 1 m / 22 m for bold on/off and", -" ESC [ 3 m / 23 m for italic on /off.", -"", -" Example:", -" set term dumb mono size 60,15 aspect 1", -" set tics nomirror scale 0.5", -" plot [-5:6.5] sin(x) with impulse ls -1", -"", -" 1 +-------------------------------------------------+", -" 0.8 +|||++ ++||||++ |", -" 0.6 +|||||+ ++|||||||+ sin(x) +----+ |", -" 0.4 +||||||+ ++|||||||||+ |", -" 0.2 +|||||||+ ++|||||||||||+ +|", -" 0 ++++++++++++++++++++++++++++++++++++++++++++++++++|", -" -0.2 + +|||||||||||+ +|||||||||||+ |", -" -0.4 + +|||||||||+ +|||||||||+ |", -" -0.6 + +|||||||+ +|||||||+ |", -" -0.8 + ++||||+ ++||||+ |", -" -1 +---+--------+--------+-------+--------+--------+-+", -" -4 -2 0 2 4 6 " -#else /* JAPANESE_DOC */ -"1 dumb", -"?commands set terminal dumb", -"?set terminal dumb", -"?set term dumb", -"?terminal dumb", -"?term dumb", -"?dumb", -" ダム端末 (`dumb`) ドライバは、ASCII 文字を使用してテキスト領域に描画し", -" ます。サイズの指定と改行制御用のオプションがあります。", -"", -" 書式:", -" set terminal dumb {size ,} {[no]feed}", -" {aspect {,}}", -#ifndef NO_DUMB_ENHANCED_SUPPORT -" {[no]enhanced}", -#endif -" {fillchar {solid|\"\"}}", -" {[no]attributes}", -#ifndef NO_DUMB_COLOR_SUPPORT -" {mono|ansi|ansi256|ansirgb}", -#endif -"", -" , はテキスト領域のサイズを設定し、デフォルトは 79 x 24", -" となっています。最後の改行は、`feed` オプションが設定されている場合のみ", -" 出力されます。", -"", -" オプション `aspect` は、グラフのアスペクト比の制御に使用します。これは", -" 水平軸、垂直軸の目盛り刻みの長さを設定します。整数の指定のみが許されて", -" いて、デフォルトは 2,1 で、これは共通のスクリーンフォントのアスペクト比", -" に対応します。", -"", -" 文字 \"#\" を領域塗り潰しに使いますが、これを terminal フォントで利用で", -" きる任意の文字に置き換えることができます。`fillchar solid` は、", -" `fillchar \"\\U+2588\"` (Unicode の全角黒四角) の短縮形です。", -"", -#ifndef NO_DUMB_COLOR_SUPPORT -" オプション `ansi`, `ansi256`, `ansirgb` は色扱うために出力にエスケープ", -" シーケンスを挿入しますが、あなたのターミナルでは処理できないかもしれま", -" せん。デフォルトは `mono` です。", -" `ansi` モードでは、色は `set colorsequence classic` を使うのが一番合い", -" ます。", -" どのモードを使用するかによって、`dumb` 出力形式は、以下のシーケンスを出", -" 力します (空白を追加せずに):", -"", -" ESC [ 0 m 属性をデフォルトにリセット", -" foreground color:", -" 表示色:", -" ESC [ 1 m 強調/太字をセット", -" ESC [ 22 m 強調/太字をオフに", -" ESC [ m 30 <= <= 37 のカラーコード指定", -" ESC [ 39 m デフォルトにリセット", -" ESC [ 38; 5; m パレットの番号指定 (16 <= <= 255)", -" ESC [ 38; 2; ; ; m 成分指定 (0 <= <= 255)", -" 背景色:", -" ESC [ m 40 <= <= 47 のカラーコード指定", -" ESC [ 49 m デフォルトにリセット", -" ESC [ 48; 5; m パレットの番号指定 (16 <= <= 231)", -" ESC [ 48; 2; ; ; m 成分指定 (0 <= <= 255)", -"", -" 例えば、以下の記述も参照してください:", -"^ ", -" https://en.wikipedia.org/wiki/ANSI_escape_code#Colors", -"^ ", -"", -#endif -"", -" オプション `attributes` は、太字やイタリック体文字用のエスケープシーケ", -" ンスをサポートする端末、エミュレーター上でそれらの文字出力を可能にしま", -" す。", -" ESC [ 1 m / 22 m 太字 (bold) のオン/オフ", -" ESC [ 3 m / 23 m イタリック体のオン/オフ", -"", -" 例:", -" set term dumb mono size 60,15 aspect 1", -" set tics nomirror scale 0.5", -" plot [-5:6.5] sin(x) with impulse ls -1", -"", -" 1 +-------------------------------------------------+", -" 0.8 +|||++ ++||||++ |", -" 0.6 +|||||+ ++|||||||+ sin(x) +----+ |", -" 0.4 +||||||+ ++|||||||||+ |", -" 0.2 +|||||||+ ++|||||||||||+ +|", -" 0 ++++++++++++++++++++++++++++++++++++++++++++++++++|", -" -0.2 + +|||||||||||+ +|||||||||||+ |", -" -0.4 + +|||||||||+ +|||||||||+ |", -" -0.6 + +|||||||+ +|||||||+ |", -" -0.8 + ++||||+ ++||||+ |", -" -1 +---+--------+--------+-------+--------+--------+-+", -" -4 -2 0 2 4 6 " -#endif /* JAPANESE_DOC */ -END_HELP(dumb) -START_HELP(dxf) -#ifndef JAPANESE_DOC -"1 dxf", -"?commands set terminal dxf", -"?set terminal dxf", -"?set term dxf", -"?terminal dxf", -"?term dxf", -"?dxf", -" Terminal driver `dxf` for export to AutoCad (Release 10.x).", -" It has no options. The default size is 120x80 AutoCad units.", -" `dxf` uses seven colors (white, red, yellow, green, cyan, blue and magenta)", -" that can be changed only by modifying the source file. If a black-and-white", -" plotting device is used the colors are mapped to differing line thicknesses.", -" Note: someone please update this terminal to the 2012 DXF standard!" -#else /* JAPANESE_DOC */ -"1 dxf", -"?commands set terminal dxf", -"?set terminal dxf", -"?set term dxf", -"?terminal dxf", -"?term dxf", -"?dxf", -" `dxf` は AutoCad (リリース 10.x) 用の出力ドライバです。", -" このドライバにはオプションはありません。デフォルトの大きさは AutoCad の", -" 単位での 120x80 です。", -" `dxf` は 7 色 (白、赤、黄、緑、水色、青、赤紫) を使いますが、これを変更", -" するにはドライバソースファイルを修正する必要があります。白黒の出力装置", -" を使う場合、それらの色は線の太さの違いで表現されます。", -" 注意: どなたか、この出力ドライバを DXF 規格 2012 に更新してください !" -#endif /* JAPANESE_DOC */ -END_HELP(dxf) -START_HELP(emf) -#ifndef JAPANESE_DOC -"1 emf", -"?commands set terminal emf", -"?set terminal emf", -"?set term emf", -"?terminal emf", -"?term emf", -"?emf", -" The `emf` terminal generates an Enhanced Metafile Format file.", -" This file format is recognized by many Windows applications.", -"", -" Syntax:", -" set terminal emf {color | monochrome}", -" {enhanced {noproportional}}", -" {rounded | butt}", -" {linewidth } {dashlength
    }", -" {size XX,YY} {background }", -" {font \"{,}\"}", -" {fontscale }", -"", -" In `monochrome` mode successive line types cycle through dash patterns.", -" `linewidth ` multiplies all line widths by this factor.", -" `dashlength ` is useful for thick lines.", -" is the name of a font; and ", -" `` is the size of the font in points.", -"", -" The nominal size of the output image defaults to 1024x768 in arbitrary", -" units. You may specify a different nominal size using the `size` option.", -"", -" Enhanced text mode tries to approximate proportional character spacing.", -" If you are using a monospaced font, or don't like the approximation, you", -" can turn off this correction using the `noproportional` option.", -"", -" The default settings are `color font \"Arial,12\" size 1024,768`", -" Selecting `default` sets all options to their default values.", -"", -" Examples:", -" set terminal emf 'Times Roman Italic, 12'" -#else /* JAPANESE_DOC */ -"1 emf", -"?commands set terminal emf", -"?set terminal emf", -"?set term emf", -"?terminal emf", -"?term emf", -"?emf", -" `emf` ドライバは EMF (Enhanced Metafile Format) ファイルを生成します。", -" この形式のファイルは多くの MS-Windows アプリケーションで認識できます。", -"", -" 書式:", -" set terminal emf {color | monochrome}", -" {enhanced {noproportional}}", -" {rounded | butt}", -" {linewidth } {dashlength
    }", -" {size XX,YY} {background }", -" {font \"{,}\"}", -" {fontscale }", -"", -" `monochorome` モードは折れ線を点線のパターンを循環させて打ち出します。", -" `linewidth ` は全ての線幅をここで指定する値倍にします。", -" `dashlength ` は、太い線には便利でしょう。", -" `` はフォント名、", -" `` はポイント単位でのフォントの大きさです。", -"", -" 出力画像の形式的な (名ばかりの) サイズは、デフォルトでは適当な単位での", -" 1024x768 になっています。オプション `size` を使って別な形式的なサイズ", -" を指定できます。", -"", -" 拡張文字列処理モード (enhanced text mode) は、プロポーショナル文字間隔", -" を近似しようとします。モノスペースフォントを使う場合、あるいはこの近似", -" を好まない場合、オプション `noproportional` を使うことでこの補正をオフ", -" にできます。", -"", -" デフォルトの設定は、`color font \"Arial,12\" size 1024,768` で、", -" `default` を選択すると全てのオプションがそのデフォルトの値になります。", -"", -" 例:", -" set terminal emf 'Times Roman Italic, 12'" -#endif /* JAPANESE_DOC */ -END_HELP(emf) -START_HELP(epscairo) -#ifndef JAPANESE_DOC -"1 epscairo", -"?set terminal epscairo", -"?terminal epscairo", -"?set term epscairo", -"?term epscairo", -"?epscairo", -" The `epscairo` terminal device generates encapsulated PostScript (*.eps) using", -" the cairo and pango support libraries. cairo version >= 1.6 is required.", -"", -" Please read the help for the `pdfcairo` terminal." -"" -#else /* JAPANESE_DOC */ -"1 epscairo", -"?set terminal epscairo", -"?terminal epscairo", -"?set term epscairo", -"?term epscairo", -"?epscairo", -" 出力形式 `epscairo` は、cairo, pango ライブラリを用いて EPS 出力", -" (Encapsulated PostScript) を生成します。cairo は version 1.6 以降が必", -" 要です。", -"", -" 詳細は、`pdfcairo` 出力形式のヘルプを参照してください。" -"" -#endif /* JAPANESE_DOC */ -END_HELP(epscairo) -START_HELP(epslatex) -#ifndef JAPANESE_DOC -"1 epslatex", -"?commands set terminal epslatex", -"?set terminal epslatex", -"?set term epslatex", -"?terminal epslatex", -"?term epslatex", -"?epslatex", -" The `epslatex` driver generates output for further processing by LaTeX.", -"", -" Syntax:", -" set terminal epslatex {default}", -" set terminal epslatex {standalone | input}", -" {oldstyle | newstyle}", -PS_COMMON_OPTS1 -" {header
    | noheader}", -PS_COMMON_OPTS2 -"", -" The epslatex terminal prints a plot as `terminal postscript eps`", -" but transfers the texts to LaTeX instead of including in the PostScript", -" code. Thus, many options are the same as in the `postscript terminal`.", -"", -" The appearance of the epslatex terminal changed between versions 4.0 and 4.2", -" to reach better consistency with the postscript terminal:", -" The plot size has been changed from 5 x 3 inches to 5 x 3.5 inches;", -" the character width is now estimated to be 60% of the font size", -" while the old epslatex terminal used 50%; now, the larger number of", -" postscript linetypes and symbols are used. To reach an appearance that is", -" nearly identical to the old one specify the option `oldstyle`. (In fact", -" some small differences remain: the symbol sizes are slightly different, the", -" tics are half as large as in the old terminal which can be changed using", -" `set tics scale`, and the arrows have all features as in the postscript", -" terminal.)", -"", -PS_COMMON_PROLOG_INFO -PS_COMMON_DOC1 -" `blacktext` forces all text to be written in black even in color mode;", -"", -" The epslatex driver offers a special way of controlling text positioning:", -" (a) If any text string begins with '{', you also need to include a '}' at the", -" end of the text, and the whole text will be centered both horizontally", -" and vertically by LaTeX. (b) If the text string begins with '[', you need", -" to continue it with: a position specification (up to two out of t,b,l,r,c),", -" ']{', the text itself, and finally, '}'. The text itself may be anything", -" LaTeX can typeset as an LR-box. \\rule{}{}'s may help for best positioning.", -" See also the documentation for the `pslatex` terminal driver.", -" To create multiline labels, use \\shortstack, for example", -" set ylabel '[r]{\\shortstack{first line \\\\ second line}}' ", -"", -" The `back` option of `set label` commands is handled slightly different", -" than in other terminals. Labels using 'back' are printed behind all other", -" elements of the plot while labels using 'front' are printed above ", -" everything else.", -"", -" The driver produces two different files, one for the eps part of the figure", -" and one for the LaTeX part. The name of the LaTeX file is taken from the", -" `set output` command. The name of the eps file is derived by replacing", -" the file extension (normally `.tex`) with `.eps` instead. There is no", -" LaTeX output if no output file is given! Remember to close the", -" `output file` before next plot unless in `multiplot` mode.", -"", -" In your LaTeX documents use '\\input{filename}' to include the figure.", -" The `.eps` file is included by the command \\includegraphics{...}, so you", -" must also include \\usepackage{graphicx} in the LaTeX preamble. If you", -" want to use coloured text (option `textcolour`) you also have to include", -" \\usepackage{color} in the LaTeX preamble.", -"", -" Pdf files can be made from the eps file using 'epstopdf'. If the graphics", -" package is properly configured, the LaTeX files can also be processed by", -" pdflatex without changes, using the pdf files instead of the eps files." -"", -" The behaviour concerning font selection depends on the header mode.", -" In all cases, the given font size is used for the calculation of proper", -" spacing. When not using the `standalone` mode the actual LaTeX font and", -" font size at the point of inclusion is taken, so use LaTeX commands for", -" changing fonts. If you use e.g. 12pt as font size for your LaTeX", -" document, use '\"\" 12' as options. The font name is ignored. If using", -" `standalone` the given font and font size are used, see below for a", -" detailed description.", -"", -" If text is printed coloured is controlled by the TeX booleans \\ifGPcolor", -" and \\ifGPblacktext. Only if \\ifGPcolor is true and \\ifGPblacktext is", -" false, text is printed coloured. You may either change them in the", -" generated TeX file or provide them globally in your TeX file, for example", -" by using", -" \\newif\\ifGPblacktext", -" \\GPblacktexttrue", -" in the preamble of your document. The local assignment is only done if no", -" global value is given.", -"", -" When using the epslatex terminal give the name of the TeX file in the", -" `set output` command including the file extension (normally \".tex\").", -" The eps filename is generated by replacing the extension by \".eps\".", -"", -" If using the `standalone` mode a complete LaTeX header is added to the", -" LaTeX file; and \"-inc\" is added to the filename of the eps file.", -" The `standalone` mode generates a TeX file that produces", -" output with the correct size when using dvips, pdfTeX, or VTeX.", -" The default, `input`, generates a file that has to be included into a", -" LaTeX document using the \\input command.", -"", -" If a font other than \"\" or \"default\" is given it is interpreted as", -" LaTeX font name. It contains up to three parts, separated by a comma:", -" 'fontname,fontseries,fontshape'. If the default fontshape or fontseries", -" are requested, they can be omitted. Thus, the real syntax for the fontname", -" is '[fontname][,fontseries][,fontshape]'. The naming convention for all", -" parts is given by the LaTeX font scheme. The fontname is 3 to 4 characters", -" long and is built as follows: One character for the font vendor, two", -" characters for the name of the font, and optionally one additional", -" character for special fonts, e.g., 'j' for fonts with old-style numerals", -" or 'x' for expert fonts. The names of many fonts is described in", -"^ ", -" http://www.tug.org/fontname/fontname.pdf", -"^ ", -" For example, 'cmr' stands for Computer Modern Roman, 'ptm' for Times-Roman,", -" and 'phv' for Helvetica. The font series denotes the thickness of the", -" glyphs, in most cases 'm' for normal (\"medium\") and 'bx' or 'b' for bold", -" fonts. The font shape is 'n' for upright, 'it' for italics, 'sl' for", -" slanted, or 'sc' for small caps, in general. Some fonts may provide", -" different font series or shapes.", -"", -" Examples:", -"", -" Use Times-Roman boldface (with the same shape as in the surrounding text):", -" set terminal epslatex 'ptm,bx'", -" Use Helvetica, boldface, italics:", -" set terminal epslatex 'phv,bx,it'", -" Continue to use the surrounding font in slanted shape:", -" set terminal epslatex ',,sl'", -" Use small capitals:", -" set terminal epslatex ',,sc'", -"", -" By this method, only text fonts are changed. If you also want to change", -" the math fonts you have to use the \"gnuplot.cfg\" file or the `header`", -" option, described below.", -"", -" In standalone mode, the font size is taken from the given font size in the", -" `set terminal` command. To be able to use a specified font size, a file", -" \"size.clo\" has to reside in the LaTeX search path. By default,", -" 10pt, 11pt, and 12pt are supported. If the package \"extsizes\" is", -" installed, 8pt, 9pt, 14pt, 17pt, and 20pt are added.", -"", -" The `header` option takes a string as argument. This string is written", -" into the generated LaTeX file. If using the `standalone` mode, it is ", -" written into the preamble, directly before the \\begin{document} command.", -" In the `input` mode, it is placed directly after the \\begingroup command", -" to ensure that all settings are local to the plot.", -"", -" Examples:", -"", -" Use T1 fontencoding, change the text and math font to Times-Roman as well", -" as the sans-serif font to Helvetica:", -" set terminal epslatex standalone header \\", -" \"\\\\usepackage[T1]{fontenc}\\n\\\\usepackage{mathptmx}\\n\\\\usepackage{helvet}\"", -" Use a boldface font in the plot, not influencing the text outside the plot:", -" set terminal epslatex input header \"\\\\bfseries\"", -"", -" If the file \"gnuplot.cfg\" is found by LaTeX it is input in the preamble", -" the LaTeX document, when using `standalone` mode. It can be used for", -" further settings, e.g., changing the document font to Times-Roman,", -" Helvetica, and Courier, including math fonts (handled by \"mathptmx.sty\"):", -" \\usepackage{mathptmx}", -" \\usepackage[scaled=0.92]{helvet}", -" \\usepackage{courier}", -" The file \"gnuplot.cfg\" is loaded before the header information given", -" by the `header` command. Thus, you can use `header` to overwrite some of", -" settings performed using \"gnuplot.cfg\"", -"" -#else /* JAPANESE_DOC */ -"1 epslatex", -"?commands set terminal epslatex", -"?set terminal epslatex", -"?set term epslatex", -"?terminal epslatex", -"?term epslatex", -"?epslatex", -" `epslatex` ドライバは LaTeX で処理すべき出力を生成します。", -"", -" 書式:", -" set terminal epslatex {default}", -" set terminal epslatex {standalone | input}", -" {oldstyle | newstyle}", -PS_COMMON_OPTS1 -" {header
    | noheader}", -PS_COMMON_OPTS2 -"", -" epslatex 出力形式は、文字列を PostScript コードに含ませる代わりに LaTeX", -" ファイルに移すことを除けば `terminal postscript eps` 同様に描画します。", -" よって、`postscript terminal` と多くのオプションが共通です。", -"", -" version 4.0 から 4.2 の間に、postscript 出力形式とのより良い互換性の", -" ために epslatex 出力は変更されました。描画サイズは 5 x 3 インチから", -" 5 x 3.5 インチへと変更され、文字幅は従来はフォントサイズの 50% と見", -" なしていましたが、現在は 60% と評価しています。より多くの Postscript", -" の線種や記号も使われます。以前の状態にほぼ等しい状態にするにはオプショ", -" ン `oldstyle` を指定してください。(実際にはごくわずかな違いが残ります:", -" 記号のサイズがわずかに違い、目盛刻み (tics) は従来の半分になっています", -" がそれは `set tics scale` で変更できます。そして矢 (arrow) に関しては", -" postscript 出力形式で使える全ての機能が利用できます。)", -"", -PS_COMMON_PROLOG_INFO -PS_COMMON_DOC1 -" `blacktext` は、たとえカラーモードでも全ての文字列を黒で書きます。", -"", -" epslatex ドライバは文字列の配置の制御に特別な方法を提供します:", -" (a) '{' で始まる文字列は、'}' で閉じる必要がありますが、その文字列全体", -" が LaTeX によって水平方向にも垂直方向にもセンタリングされます。", -" (b) '[' で始まる文字列の場合は、位置の指定をする文字列 (t,b,l,r,c のう", -" ち 2 つまで) が続き、次に ']{'、文字列本体、で最後に '}' としますが、", -" この文字列は LaTeX が LR-box として整形します。\\rule{}{} を使えばさ", -" らに良い位置合わせが可能でしょう。ドライバ `pslatex` に関する説明も参", -" 照。", -" 複数行の見出しを作成するには \\shortstack を使用してください。例えば、", -" set ylabel '[r]{\\shortstack{first line \\\\ second line}}'", -"", -" `set label` コマンドのオプション `back` は使えますが、他の出力形式のも", -" のとは少し違っています。`front` の場合の見出しが他の全ての要素の上に出", -" 力されるのに対して、`back` を使った見出しは他の全ての要素の下に出力され", -" ます。", -"", -" このドライバは 2 つの別のファイルを作ります。1 つは図の eps の部分で、", -" もう一つは LaTeX の部分です。LaTeX ファイルの名前は、`set output` コマ", -" ンドのものが使われ、eps ファイルの名前はその拡張子 (通常 `.tex`) を", -" `.eps` に置き換えたものになります。", -" 出力ファイルを指定しなければ LaTeX 出力は行なわれません !", -" `multiplot` モード以外では、次の描画を行なう前にその出力ファイルをクロ", -" ーズするのを忘れないでください。", -"", -" LaTeX の文書で図を取り込むには '\\input{filename}' としてください。", -" `.eps` ファイルは \\includegraphics{...} コマンドで取り込むので、よって", -" LaTeX のプリアンブルに \\usepackage{graphicx} も入れる必要があります。", -" `textcolour` オプションで色付きの文字列を使用している場合は、LaTeX の", -" プリアンブルに \\usepackage{color} も入れる必要があります。", -"", -" この eps ファイルから 'epstopdf' を使って pdf ファイルを作ることもでき", -" ます。graphics パッケージが適切に設定されている場合、その LaTeX のファ", -" イルは、変更なしに pdflatex によっても処理でき、その場合 eps ファイル", -" の代わりに pdf ファイルが取り込まれます。", -"", -" フォントの選択に関する挙動はヘッダーモードに依存します。", -" どの場合でも、与えられたフォントサイズはスペースの計算にちゃんと使用さ", -" れます。`standalone` モードが使われなかった場合は、include される場所で", -" の実際の LaTeX フォントとフォントサイズが使われるので、よってフォントの", -" 変更には LaTeX コマンドを使ってください。例えばフォントサイズとして", -" LaTeX 文書中で 12pt を使う場合は、オプション '\"\" 12' を使います。この", -" 場合フォント名は無視されます。`standalone` を使う場合は、与えられたフォ", -" ントとフォントサイズが使われます。詳細は下記を参照してください。", -"", -" 文字列がカラーで表示されるかどうかは TeX の Bool 値変数 \\ifGPcolor と", -" \\ifGPblacktext で制御します。\\ifGPcolor が true で \\ifGPblacktext が", -" false の場合のみ文字列はカラーで表示されます。それらは生成される TeX フ", -" ァイルを変更するか、またはあなたの TeX ファイルで大域的に与えてください。", -" 例えば", -" \\newif\\ifGPblacktext", -" \\GPblacktexttrue", -" をあなたのファイルのプリアンブルに書きます。部分的な指定は大域的な値が", -" 与えられていないときのみ働きます。", -"", -" epslatex 出力形式を使う場合、`set output` コマンドで TeX ファイルの名前", -" を拡張子付き (通常 \".tex\") で与えてください。eps ファイルの名前はその", -" 拡張子を \".eps\" に置き換えた名前になります。", -"", -" `standalone` モードを使う場合、その LaTeX ファイルに完全な LaTeX のヘッ", -" ダが付加され、eps ファイルのファイル名には \"-inc\" が追加されます。", -" `standalone` モードは、dvips, pdfTeX, VTeX を使う場合に正しいサイズで出", -" 力されるような TeX ファイルを作ります。", -" デフォルトは `input` モードで、これは \\input コマンドを使って、別の", -" LaTeX ファイルから読み込まれるようなファイルを生成します。", -"", -" \"\" か \"default\" 以外のフォント名が与えられた場合、それは LaTeX のフ", -" ォント名と解釈されます。それは、'fontname,fontseries,fontshape' の、コ", -" ンマで区切られた 3 つ以下の部分からなります。デフォルトのフォントシェイ", -" プ、フォントシリーズが使いたい場合はそれらは省略できます。つまり、フォ", -" ント名に対する正式な書式は、'[fontname][,fontseries][,fontshape]' とな", -" ります。そのいずれの部分も名前に関しては LaTeX のフォント体系の慣習に従", -" います。fontname は 3 から 4 文字の長さで、次のような規則で作られていま", -" す: 1 つ目がフォントの製造元を表し、次の 2 つがフォント名、オプションで", -" 追加される 1 つは特別なフォントを意味し、例えば 'j' は旧式の数字を持つ", -" フォント、'x' は expert フォント等となっています。以下には、多くのフォ", -" ントの名前について書かれています。", -"^ ", -" http://www.tug.org/fontname/fontname.pdf", -"^ ", -" 例えば 'cmr' は Computer Modern Roman フォント、'ptm' は Times-Roman,", -" 'phv' は Helvetica 等を表します。フォントシリーズは文字の線の太さを意味", -" し、大半は 'm' で普通 (\"medium\")、'bx' または 'b' が太字 (bold) フォ", -" ントを意味します。フォントシェイプは一般に 'n' が立体 (upright)、'it'", -" はイタリック、'sl' は斜体 (slanted)、'sc' は小さい大文字 (small caps)", -" となります。これらとは異なるフォントシリーズやフォントシェイプで与えら", -" れるフォントも存在します。", -"", -" 例:", -"", -" Times-Roman で太字 (シェイプは周りの文字列と同じもの) を使う場合:", -" set terminal epslatex 'ptm,bx'", -" Helvetica で太字でイタリックを使う場合:", -" set terminal epslatex 'phv,bx,it'", -" 斜体のシェイプで周りのフォントを使い続ける場合:", -" set terminal epslatex ',,sl'", -" 小型の大文字 (small caps) を使う場合:", -" set terminal epslatex ',,sc'", -"", -" この方法では文字列のフォントのみが変更されます。数式のフォントも変更し", -" たい場合は、\"gnuplot.cfg\" ファイルかまたは `header` オプションを使う", -" 必要がありますが、これについては以下に書きます。", -"", -" standalone モードでは、フォントサイズは `set terminal` コマンドで与えら", -" れたフォントサイズが使われます。指定したフォントサイズが使えるためには", -" LaTeX の検索パスに \"size.clo\" というファイルが存在しなければな", -" りません。デフォルトでは 10pt, 11pt, 12pt がサポートされています。パッ", -" ケージ \"extsizes\" がインストールされていれば、8pt, 9pt, 14pt, 17pt,", -" 20pt も追加されます。", -"", -" オプション `header` は文字列引数を取ります。その文字列は、生成される", -" LaTeX ファイルに書き込まれます。`standalone` モードを使う場合、その文字", -" 列はプリアンブルの \\begin{document} コマンドの直前に書き込まれます。", -" `input` モードでは、その文字列は \\begingroup コマンドの直後に置かれ、", -" 描画への設定がすべて局所的になるようにします。", -"", -" 例:", -"", -" T1 フォントエンコーディングを使い、文字列、数式フォントを Times-Roman", -" とし、サンセリフフォントを Helvetica と変更する場合:", -" set terminal epslatex standalone header \\", -" \"\\\\usepackage[T1]{fontenc}\\n\\\\usepackage{mathptmx}\\n\\\\usepackage{helvet}\"", -" 描画の外の文字列には影響を与えないように描画内で太字 (boldface) フォン", -" トを使う場合:", -" set terminal epslatex input header \"\\\\bfseries\"", -"", -" ファイル \"gnuplot.cfg\" が LaTeX によって見つけられると、`standalone`", -" モードを使っている場合は、それは生成される LaTeX 文書のプリアンブルに取", -" り込まれます。それは追加の設定を行なうのに使えます。例えば、文書のフォ", -" ントを TImes-Roman, Helvetica, Courier と変更し、(\"mathptmx.sty\" で扱", -" われている) 数式フォントを入れる場合:", -" \\usepackage{mathptmx}", -" \\usepackage[scaled=0.92]{helvet}", -" \\usepackage{courier}", -" ファイル \"gnuplot.cfg\" は `header` コマンドで与えられるヘッダ情報の前", -" に読み込まれます。よって、\"gnuplot.cfg\" で行なわれる設定のいくつかを", -" `header` を使って上書きすることができます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(epslatex) -START_HELP(epson_180dpi) -#ifndef JAPANESE_DOC -"1 epson_180dpi", -"?commands set terminal epson_180dpi", -"?set terminal epson_180dpi", -"?set term epson_180dpi", -"?terminal epson_180dpi", -"?term epson_180dpi", -"?epson_180dpi", -"?commands set terminal epson_60dpi", -"?set terminal epson_60dpi", -"?set term epson_60dpi", -"?terminal epson_60dpi", -"?term epson_60dpi", -"?epson_60dpi", -"?commands set terminal epson_lx800", -"?set terminal epson_lx800", -"?set term epson_lx800", -"?terminal epson_lx800", -"?term epson_lx800", -"?epson_lx800", -"?commands set terminal nec_cp6", -"?set terminal nec_cp6", -"?set term nec_cp6", -"?terminal nec_cp6", -"?term nec_cp6", -"?nec_cp6", -"?commands set terminal okidata", -"?set terminal okidata", -"?set term okidata", -"?terminal okidata", -"?term okidata", -"?okidata", -"?commands set terminal starc", -"?set terminal starc", -"?set term starc", -"?terminal starc", -"?term starc", -"?starc", -"?commands set terminal tandy_60dpi", -"?set terminal tandy_60dpi", -"?set term tandy_60dpi", -"?terminal tandy_60dpi", -"?term tandy_60dpi", -"?tandy_60dpi", -"?commands set terminal dpu414", -"?set terminal dpu414", -"?set term dpu414", -"?terminal dpu414", -"?term dpu414", -"?dpu414", -" Note: only available if gnuplot is configured --with-bitmap-terminals.", -" This driver supports a family of Epson printers and derivatives.", -"", -" `epson_180dpi` and `epson_60dpi` are drivers for Epson LQ-style 24-pin", -" printers with resolutions of 180 and 60 dots per inch, respectively.", -"", -" `epson_lx800` is a generic 9-pin driver appropriate for printers like the", -" Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and so forth.", -"", -" `nec_cp6` is generic 24-pin driver that can be used for printers like the", -" NEC CP6 and the Epson LQ-800.", -"", -" The `okidata` driver supports the 9-pin OKIDATA 320/321 Standard printers.", -"", -" The `starc` driver is for the Star Color Printer.", -"", -" The `tandy_60dpi` driver is for the Tandy DMP-130 series of 9-pin, 60-dpi", -" printers.", -"", -" The `dpu414` driver is for the Seiko DPU-414 thermal printer.", -"", -" `nec_cp6` has the options:", -"", -" Syntax:", -" set terminal nec_cp6 {monochrome | colour | draft}", -"", -" which defaults to monochrome.", -"", -" `dpu414` has the options:", -"", -" Syntax:", -" set terminal dpu414 {small | medium | large} {normal | draft}", -"", -" which defaults to medium (=font size) and normal.", -" Preferred combinations are `medium normal` and `small draft`.", -#ifdef MSDOS -"", -" With each of these drivers, a binary copy is required on a PC to print.", -" Do not use `print`---use instead `copy file /b lpt1:`.", -#endif -"" -#else /* JAPANESE_DOC */ -"1 epson_180dpi", -"?commands set terminal epson_180dpi", -"?set terminal epson_180dpi", -"?set term epson_180dpi", -"?terminal epson_180dpi", -"?term epson_180dpi", -"?epson_180dpi", -"?commands set terminal epson_60dpi", -"?set terminal epson_60dpi", -"?set term epson_60dpi", -"?terminal epson_60dpi", -"?term epson_60dpi", -"?epson_60dpi", -"?commands set terminal epson_lx800", -"?set terminal epson_lx800", -"?set term epson_lx800", -"?terminal epson_lx800", -"?term epson_lx800", -"?epson_lx800", -"?commands set terminal nec_cp6", -"?set terminal nec_cp6", -"?set term nec_cp6", -"?terminal nec_cp6", -"?term nec_cp6", -"?nec_cp6", -"?commands set terminal okidata", -"?set terminal okidata", -"?set term okidata", -"?terminal okidata", -"?term okidata", -"?okidata", -"?commands set terminal starc", -"?set terminal starc", -"?set term starc", -"?terminal starc", -"?term starc", -"?starc", -"?commands set terminal tandy_60dpi", -"?set terminal tandy_60dpi", -"?set term tandy_60dpi", -"?terminal tandy_60dpi", -"?term tandy_60dpi", -"?tandy_60dpi", -"?commands set terminal dpu414", -"?set terminal dpu414", -"?set term dpu414", -"?terminal dpu414", -"?term dpu414", -"?dpu414", -" 注意: gnuplot が --with-bitmap-terminals で作られた場合のみ使えます。", -" このドライバはエプソンプリンタのいくつかとそれに類似するものをサポート", -" します。", -"", -" `epson_180dpi` と `epson_60dpi` はそれぞれ 180dpi (ドット/インチ),", -" 60dpi の解像度の Epson LQ 型 24 ピンプリンタ用のドライバです。", -"", -" `epson_lx800` は Epson LX-800, Star の NL-10 や NX-1000, PROPRINTER な", -" どの適当なプリンタに流用できる、一般的な 9 ピンプリンタドライバです。", -"", -" `nec_cp6` は NEC CP6 や Epson LQ-800 などのプリンタで使える、一般的な", -" 24 ピンプリンタ用のドライバです。", -"", -" `okidata` ドライバは 9 ピンの OKIDATA 320/321 標準プリンタをサポートし", -" ます。", -"", -" `starc` ドライバは Star カラープリンタ用です。", -"", -" `tandy_60dpi` ドライバは 9 ピン 60dpi の Tandy DMP-130 シリーズ用です。", -"", -" `dpu414` ドライバは Seiko DPU-414 感熱プリンタ用です。", -"", -" `nec_cp6` にはオプションがあります:", -"", -" 書式:", -" set terminal nec_cp6 {monochrome | colour | draft}", -"", -" デフォルトでは白黒 (monochrome) です。", -"", -" `dpu414` にはオプションがあります:", -"", -" 書式:", -" set terminal dpu414 {small | medium | large} {normal | draft}", -"", -" デフォルトは medium (= フォントサイズ) で normal です。", -" おすすめの組み合わせは、`medium normal` か `small draft` です。", -#ifdef MSDOS -"", -" これらのドライバのそれぞれで PC 上で印刷する場合はバイナリコピーが必要", -" です。`print` を使ってはいけません。その代わりに `copy file /b lpt1:`", -" としてください。", -#endif -"" -#endif /* JAPANESE_DOC */ -END_HELP(epson_180dpi) -START_HELP(fig) -#ifndef JAPANESE_DOC -"1 fig", -"?commands set terminal fig", -"?set terminal fig", -"?set term fig", -"?terminal fig", -"?term fig", -"?fig", -"?xfig", -" The `fig` terminal device generates output in the Fig graphics language", -" for import into the xfig interactive drawing tool.", -" Notes: ", -" The fig terminal was significantly revised in gnuplot version 5.3.", -" Currently only version 3.2 of the fig file format is supported.", -" Use of dash patterns may require Xfig 3.2.6 or newer.", -"", -" Syntax:", -" set terminal fig {monochrome | color}", -" {small | big | size {in|cm},{in|cm}}", -" {landscape | portrait}", -" {pointsmax }", -" {font \"{,}\"} {fontsize }", -" {textnormal | {textspecial texthidden textrigid}}", -" {{linewidth|lw} }", -"", -" The default settings are", -" set term fig color small landscape font \"Times Roman,10\" lw 1.0", -"", -" `size` sets the size of the drawing area to * in units of", -" inches (default) or centimeters. The default is `size 5in,3in`.", -" `small` is shorthand for `size 5in,3in` (3in,5in in portrait mode).", -" `big` is shorthand for `size 8in,5in`.", -"", -" `pointsmax` sets the maximum number of vertices in a polyline; longer ", -" polylines will be broken into segments.", -" (Note: this option was not present in versions 5.2.7 through 5.4.3).", -"", -" `font` sets the text font face to and its size to ", -" points. Choice is limited to the 35 standard PostScript fonts.", -" `textnormal` resets the text flags and selects postscript fonts,", -" `textspecial` sets the text flags for LaTeX specials,", -" `texthidden` sets the hidden flag and `textrigid` the rigid flag.", -"", -" `linewidth` is a multiplier for the linewidth property of all lines.", -"", -" Additional point-plot symbols are also available in the `fig` driver. The", -" symbols can be used through `pointtype` values % 100 above 50, with different", -" fill intensities controlled by % 5 and outlines in black (for", -" % 10 < 5) or in the current color. Available symbols are", -" 50 - 59: circles", -" 60 - 69: squares", -" 70 - 79: diamonds", -" 80 - 89: upwards triangles", -" 90 - 99: downwards triangles", -" The size of these symbols scales with the font size.", -"", -" RGB colors will be replaced with gray unless they have been defined in a", -" linetype prior to plotting or match a known named color or palette value.", -" See `colornames`.", -" E.g.", -" set linetype 999 lc rgb '#aabbcc'", -" plot $data with fillecurve fillcolor rgb '#aabbcc'", -"" -#else /* JAPANESE_DOC */ -"1 fig", -"?commands set terminal fig", -"?set terminal fig", -"?set term fig", -"?terminal fig", -"?term fig", -"?fig", -"?xfig", -" `fig` ドライバは、対話型描画ツール xfig に取り込める Fig グラフィック言", -" 語での出力を生成します。", -" 注意:", -" fig 出力形式は、gnuplot バージョン 5.3 で大きく改訂されました。", -" 現在は fig ファイル形式バージョン 3.2 のみサポートしています。", -" 点線/破線パターンを利用するには Xfig 3.2.6 以降が必要です。", -"", -" 書式:", -" set terminal fig {monochrome | color}", -" {small | big | size {in|cm},{in|cm}}", -" {landscape | portrait}", -" {pointsmax }", -" {font \"{,}\"} {fontsize }", -" {textnormal | {textspecial texthidden textrigid}}", -" {{linewidth|lw} }", -"", -" デフォルトの設定は、", -" set term fig color small landscape font \"Times Roman,10\" lw 1.0", -"", -" `size` は描画範囲を * に、インチ単位 (デフォルト) かセン", -" チ単位で設定 (変更) します。デフォルトは `size 5in,3in` です。", -" `small` は `size 5in,3in` (portrait モードでは 3in,5in) の省略形、", -" `big` は `size 8in,5in` の省略形です。", -"", -" `pointsmax` は、折れ線内の頂点の最大数を設定し、長すぎる折れ線は、分割", -" します。", -" (注意: このオプションは、version 5.2.7 から 5.4.3 にはありませんでした。)", -"", -" `font` は、テキストフォントフェース名を に、フォントサイズを", -" ポイントに設定します。その選択は、35 の標準 PostScript フォ", -" ントに限定されています。", -" `textnormal` はテキストフラグをリセットして postscript フォントを選択し、", -" `textspecial` はテキストフラグを LaTeX special に設定し、", -" `texthidden`, `textrigid` はそれぞれ無表示のテキスト、スケーリングされ", -" ないテキスト用のフラグを設定します。", -"", -" `linewidth` は、すべての線に対する linewidth の値への倍率です。", -"", -" `fig` ドライバには `plot` コマンドの `point` スタイルの記号が追加されて", -" います。記号の指定は (`pointtype` の値) % 100 の 50 以上の値が使われ、", -" その塗りつぶしの濃さは % 5 の値で制御し、その輪郭は黒", -" ( % 10 < 5 の場合) または現在の色で書かれます。利用可能な記", -" 号は以下の通りです。", -" 50 - 59: 円", -" 60 - 69: 正方形", -" 70 - 79: ひし形", -" 80 - 89: 上向きの三角形", -" 90 - 99: 下向きの三角形", -" これらの記号の大きさはフォントの大きさで変更できます。", -"", -" RGB 色は、それが描画の前に線種として定義されているものではない場合、ま", -" たは登録されている色名やパレット値に一致しなかった場合は灰色で置き換え", -" られます。以下参照: `colornames`。", -" 例:", -" set linetype 999 lc rgb '#aabbcc'", -" plot $data with fillecurve fillcolor rgb '#aabbcc'", -"" -#endif /* JAPANESE_DOC */ -END_HELP(fig) -START_HELP(ggi) -#ifndef JAPANESE_DOC -"1 ggi", -"?commands set terminal ggi", -"?set terminal ggi", -"?set term ggi", -"?terminal ggi", -"?term ggi", -"?ggi", -" Legacy terminal driver for the GGI (General Graphics Interface) project." -"", -" Syntax:", -" set terminal ggi [acceleration ] [[mode] {mode}]", -"", -" In X the window cannot be resized using window manager handles, but the", -" mode can be given with the mode option, e.g.:", -" - V1024x768", -" - V800x600", -" - V640x480", -" - V320x200", -" Please refer to the ggi documentation for other modes. The 'mode' keyword", -" is optional. It is recommended to select the target by environment variables", -" as explained in the libggi manual page. To get DGA on X, you should for", -" example", -" bash> export GGI_DISPLAY=DGA", -" csh> setenv GGI_DISPLAY DGA", -"", -" 'acceleration' is only used for targets which report relative pointer", -" motion events (e.g. DGA) and is a strictly positive integer multiplication", -" factor for the relative distances. The default for acceleration is 7.", -"", -" Examples:", -" set term ggi acc 10", -" set term ggi acc 1 mode V1024x768", -" set term ggi V1024x768" -#else /* JAPANESE_DOC */ -"1 ggi", -"?commands set terminal ggi", -"?set terminal ggi", -"?set term ggi", -"?terminal ggi", -"?term ggi", -"?ggi", -" これは GGI (General Graphics Interface) プロジェクト用の古い (legacy) ", -" 出力ドライバです。", -"", -" 書式:", -" set terminal ggi [acceleration ] [[mode] {mode}]", -"", -" X では、ウィンドウマネージャの機能を使ってウィンドウのサイズを変更する", -" ことはできませんが、モードを mode オプションを使って、例えば以下のよう", -" に変更することができます:", -" - V1024x768", -" - V800x600", -" - V640x480", -" - V320x200", -" 他のモードについては、ggi (libggi) のドキュメントを参照してください。", -" キーワード `mode` は追加してもしなくても結構です。libggi のマニュアル", -" ページで紹介されているように、環境変数でターゲットを選択することをお勧", -" めします。X 上で DGA を使うなら、例えば以下のようにしてください。", -" bash> export GGI_DISPLAY=DGA", -" csh> setenv GGI_DISPLAY DGA", -"", -" `acceleration` は、相対的なポインタ動作イベントを発生するターゲット", -" (例えば DGA) でのみ使用され、正の整数で相対的な距離に対する倍率 (積因", -" 子) を表します。デフォルトの acceleration は 7 です。", -"", -" 例:", -" set term ggi acc 10", -" set term ggi acc 1 mode V1024x768", -" set term ggi V1024x768" -#endif /* JAPANESE_DOC */ -END_HELP(ggi) -START_HELP(gif) -#ifndef JAPANESE_DOC -"1 gif", -"?commands set terminal gif", -"?set terminal gif", -"?set term gif", -"?terminal gif", -"?term gif", -"?gif", -" Syntax:", -" set terminal gif ", -" {{no}enhanced}", -" {{no}transparent} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -" {animate {delay } {loop } {optimize}}", -"", -" PNG, JPEG and GIF images are created using the external library libgd.", -" GIF plots may be viewed interactively by piping the output to the", -" 'display' program from the ImageMagick package as follows:", -" set term gif", -" set output '| display gif:-'", -" You can view the output from successive plot commands interactively by typing", -" in the display window. To save the current plot to a file,", -" left click in the display window and choose `save`.", -"", -" `transparent` instructs the driver to make the background color transparent.", -" Default is `notransparent`.", -"", -" The `linewidth` and `dashlength` options are scaling factors that affect all", -" lines drawn, i.e. they are multiplied by values requested in various drawing", -" commands.", -"", -" `butt` instructs the driver to use a line drawing method that does", -" not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", -"", -" The output plot size is given in pixels---it defaults to 640x480.", -" Please see additional information under `canvas` and `set size`.", -" Blank space at the edges of the finished plot may be trimmed using the `crop`", -" option, resulting in a smaller final image size. Default is `nocrop`.", -"", -"2 animate", -"?set term gif animate", -"?term gif animate", -"?gif animate", -"?animate", -"", -" set term gif animate {delay } {loop } {{no}optimize}}", -"", -" The gif terminal `animate` option creates a single gif file containing", -" multiple frames. The delay between display of successive frames may be", -" specified in units of 1/100 second (default 5), but this value may or may", -" not be honored accurately by a program used to view the animation later.", -" The number of animation loops during playback can be specified, with the", -" default of 0 meaning unlimited looping. Again this value may or may not be", -" honored by the program later used for viewing.", -" An animation sequence is terminated by the next `set output` or `set term`", -" command.", -"", -" Example showing continuous rotation:", -" set term gif animate loop 0", -" set output 'rotating_surface.gif'", -" do for [ang=1:359] {", -" set view 60, ang", -" splot f(x,y) with pm3d", -" }", -" unset output", -"", -"3 optimize", -"?set term gif animate optimize", -"?gif animate optimize", -" set term gif animate optimize", -"", -" The `optimize` option [DEPRECATED] is passed to the gd library when the", -" output file is opened. It has two effects on the animation.", -"", -" 1) A single color map is used for the entire animation. This requires", -" that all colors used in any frame of the animation are already", -" defined in the first frame.", -"", -" 2) If possible, only the portions of a frame that differ from the", -" previous frame are stored in the animation file. This space saving", -" may not be possible if the animation uses transparency.", -"", -" Both of these optimizations are intended to produce a smaller output file,", -" but the decrease in size is probably only significant for long animations.", -" Caveat: The implementation of optimization in libgd is known to be buggy.", -" Therefore use of this option in gnuplot is not recommended.", -"", -"2 fonts", -"?set term gif fonts", -"", -" The details of font selection are complicated.", -" For more information please see the separate section under `fonts gd`.", -"", -" Examples:", -"", -" set terminal gif medium noenhanced size 640,480 background '#ffffff'", -"", -" Use the medium size built-in non-scaleable, non-rotatable font.", -" Enhanced text mode will not work with this font.", -" Use white (24 bit RGB in hexadecimal) for the non-transparent background.", -"", -" set terminal gif font arial 14", -"", -" Searches for a font with face name 'arial' and sets the font size to 14pt.", -"" -#else /* JAPANESE_DOC */ -"1 gif", -"?commands set terminal gif", -"?set terminal gif", -"?set term gif", -"?terminal gif", -"?term gif", -"?gif", -" 書式:", -" set terminal gif ", -" {{no}enhanced}", -" {{no}transparent} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -" {animate {delay } {loop } {optimize}}", -"", -" PNG, JPEG, GIF 画像は、外部ライブラリ libgd を使って生成されます。GIF", -" の描画は、ImageMagick パッケージのソフト 'display' にその出力を以下の", -" ようにパイプで渡すことで対話的に表示させることができます:", -" set term gif", -" set output '| display gif:-'", -" 次の描画コマンドからの出力は、display ウィンドウ上で対話的に ", -" を打つことで見ることができます。現在の描画をファイルに保存するには、", -" display ウィンドウで左クリックし、`save` を選択してください。", -"", -" `transparent` は、ドライバに背景色の透明化 (transparent) を行うよう指", -" 示します。デフォルトは `notransparent` です。", -"", -" オプション `linewidth` と `dashlength` は拡大率で、描画されるすべての", -" 線に影響を与えます。すなわち、これらは様々な描画コマンドで要求される値", -" にかけ算されます。", -"", -" `butt` は線分の描画で、その端の点でのはみだしを起こさない描画メソッド", -" を使うようドライバに指示します。この設定は、線幅が 1 より大きい場合に", -" のみ有効です。この設定は、水平線、垂直線の描画の場合に有用でしょう。", -" デフォルトは `rounded` (丸め) です。", -"", -" 出力描画サイズ はピクセル単位で与えます。デフォルトは 640x480 で", -" す。以下も参照: `canvas`, `set size`。", -" 描画終了後の端の余白は、オプション `crop` で取り除くことができ、その結", -" 果としてその画像サイズは小さくなります。デフォルトは `nocrop` です。", -"", -"2 animate", -"?set term gif animate", -"?term gif animate", -"?gif animate", -"?animate", -"", -" set term gif animate {delay } {loop } {{no}optimize}}", -"", -" gif 出力形式のオプション `animate` は、複数のフレームからなる単一の gif", -" ファイルを生成します。各画像間の表示間隔は 1/100 秒単位で指定できます", -" が (デフォルトは 5)、、後でそのアニメーションを見るのに使うプロ", -" グラムが正確に再現するかもしれませんし、しないかもしれません。", -" アニメーションの繰り返し回数も指定できますが、デフォルトは 0 で、それは", -" 無限の繰り返しを意味します。改めて言いますが、この値もそれを見るのに使", -" うプログラムが正確に再現するかもしれませんし、しないかもしれません。", -" アニメーション画像列は、次の `set output` か `set term` コマンドによっ", -" て終了します。", -"", -" 連続する回転を表示する例:", -" set term gif animate loop 0", -" set output 'rotating_surface.gif'", -" do for [ang=1:359] {", -" set view 60, ang", -" splot f(x,y) with pm3d", -" }", -" unset output", -"", -"3 optimize", -"?set term gif animate optimize", -"?gif animate optimize", -" set term gif animate optimize", -"", -" [非推奨] オプション `optimize` は、出力ファイルを開くときに gd ライブラ", -" リに渡します。これは、アニメーションに 2 つの効果を持ちます。", -"", -" 1) アニメーション全体を通じて単一のカラーマップが使用されます。これは", -" アニメーションの全てのフレームで使用される全ての色が最初のフレームで", -" 定義されている必要があります。", -"", -" 2) 可能ならば、個々のフレームで一つ前のフレームと違う部分のみがアニメ", -" ーションファイルに保存されます。これはファイルサイズを小さくしてくれ", -" ますが、透明化機能を使用している場合には働かないかもしれません。", -"", -" これら両方の最適化はより小さいサイズの出力ファイルを作ろうとするもので", -" すが、多分その減少量は、長いアニメーションのみ意味がある程度でしょう。", -" 警告: libgd の最適化の実装はおかしいことが知られていますので、gnuplot", -" でこのオプションを使用することは推奨しません。", -"", -"2 fonts", -"?set term gif fonts", -"", -" フォントの選択の詳細は、やや複雑です。", -" より詳しい情報については、`fonts gd` の下の該当するセクションを参照して", -" ください。", -"", -" 例:", -"", -" set terminal gif medium noenhanced size 640,480 background '#ffffff'", -"", -" この例は medium サイズの、大きさ変更不能で回転できない組み込みフォント", -" を使用します。拡張文字処理 (enhanced text) モードは、このフォントでは機", -" 能しません。そして、透明化されない背景色として白 (16 進数の 24bit RGB)", -" を使用します。", -"", -" set terminal gif font arial 14", -"", -" これは、'arial' というフェース名のフォントを検索し、フォントサイズを", -" 14pt に設定します。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(gif) -START_HELP(gpic) -#ifndef JAPANESE_DOC -"1 gpic", -"?commands set terminal gpic", -"?set terminal gpic", -"?set term gpic", -"?terminal gpic", -"?term gpic", -"?gpic", -" Note: Legacy terminal (present only if gnuplot was configured --with-gpic).", -" The `gpic` terminal driver generates GPIC graphs in the Free Software", -" Foundations's \"groff\" package. The default size is 5 x 3 inches. The only", -" option is the origin, which defaults to (0,0).", -"", -" Syntax:", -" set terminal gpic { }", -"", -" where `x` and `y` are in inches.", -"", -" A simple graph can be formatted using", -"", -" groff -p -mpic -Tps file.pic > file.ps.", -"", -" The output from pic can be pipe-lined into eqn, so it is possible to put", -" complex functions in a graph with the `set label` and `set {x/y}label`", -" commands. For instance,", -"", -" set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'", -"", -" will label the y axis with a nice integral if formatted with the command:", -"", -" gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps", -" > filename.ps", -"", -" Figures made this way can be scaled to fit into a document. The pic language", -" is easy to understand, so the graphs can be edited by hand if need be. All", -" co-ordinates in the pic-file produced by `gnuplot` are given as x+gnuplotx", -" and y+gnuploty. By default x and y are given the value 0. If this line is", -" removed with an editor in a number of files, one can put several graphs in", -" one figure like this (default size is 5.0x3.0 inches):", -"", -" .PS 8.0", -" x=0;y=3", -" copy \"figa.pic\"", -" x=5;y=3", -" copy \"figb.pic\"", -" x=0;y=0", -" copy \"figc.pic\"", -" x=5;y=0", -" copy \"figd.pic\"", -" .PE", -"", -" This will produce an 8-inch-wide figure with four graphs in two rows on top", -" of each other.", -"", -" One can also achieve the same thing by specifying x and y in the command", -"", -" set terminal gpic x y", -"" -#else /* JAPANESE_DOC */ -"1 gpic", -"?commands set terminal gpic", -"?set terminal gpic", -"?set term gpic", -"?terminal gpic", -"?term gpic", -"?gpic", -" 注意: 古い (legacy) 出力形式 (configure で --with-gpic としたときのみ)。", -" `gpic` ドライバは FSF (the Free Software Foundations) の \"groff\" パッ", -" ケージの中の GPIC 形式のグラフを生成します。デフォルトの大きさは 5 x 3", -" インチです。オプションは原点に関するもののみで、デフォルトでは (0,0)", -" です。", -"", -" 書式:", -" set terminal gpic { }", -"", -" ここで `x` と `y` の単位はインチです。", -"", -" 単純なグラフを整形するには以下のようにします。", -"", -" groff -p -mpic -Tps file.pic > file.ps", -"", -" pic からの出力はパイプで eqn に渡すこともできるので、'set label' と", -" `set {x/y}label` コマンドでグラフに複雑な関数の式を入れることも可能で", -" す。例えば、", -"", -" set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'", -"", -" とすれば、以下のコマンドによって y 軸に綺麗な積分が見出し付けされます。", -"", -" gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps", -" > filename.ps", -"", -" このようにして作られた図は文書に綺麗に当てはまるように伸縮することがで", -" きます。pic 言語は簡単に理解できるので、必要なら容易にグラフを直接編集", -" できます。`gnuplot` で作られる pic ファイルの全ての座標は x+gnuplotx,", -" y+gnuploty の形で与えられます。デフォルトでは x, y の値は 0 です。いく", -" つかのファイルに対してその x,y を 0 と設定している行を削除すれば、以下", -" のようにして複数のグラフを一つの図の中に入れてしまうこともできます (デ", -" フォルトの大きさは 5.0x3.0 インチ):", -"", -" .PS 8.0", -" x=0;y=3", -" copy \"figa.pic\"", -" x=5;y=3", -" copy \"figb.pic\"", -" x=0;y=0", -" copy \"figc.pic\"", -" x=5;y=0", -" copy \"figd.pic\"", -" .PE", -"", -" これは、横に 2 つ、縦に 2 つずつ並んだ 4 つのグラフからなる、8 インチ", -" の広さの図を生成します。", -"", -" 以下のように x, y を指定することでも同じことができます。", -"", -" set terminal gpic x y", -"" -#endif /* JAPANESE_DOC */ -END_HELP(gpic) -START_HELP(grass) -#ifndef JAPANESE_DOC -"1 grass", -"?commands set terminal grass", -"?set terminal grass", -"?set term grass", -"?terminal grass", -"?term grass", -"?grass", -" Note: legacy terminal.", -" The `grass` terminal driver gives `gnuplot` capabilities to users of the ", -" GRASS geographic information system. Contact grassp-list@moon.cecer.army.mil", -" for more information. Pages are written to the current frame of the GRASS", -" Graphics Window. There are no options." -#else /* JAPANESE_DOC */ -"1 grass", -"?commands set terminal grass", -"?set terminal grass", -"?set term grass", -"?terminal grass", -"?term grass", -"?grass", -" 注意: 古い (legacy) 出力形式です。", -" `grass` ドライバは GRASS 地理情報システムのユーザが `gnuplot` を利用す", -" ることを可能にします。詳しい情報については grassp-list@moon.cecer.army.mil", -" に連絡を取ってください。ページは GRASS グラフウィンドウの現在のフレー", -" ムに書かれます。オプションはありません。" -#endif /* JAPANESE_DOC */ -END_HELP(grass) -START_HELP(hpgeneric) -#ifndef JAPANESE_DOC -"1 HP terminals", -" Gnuplot provides two generic terminals for old Hewlett-Packard pen plotters", -" and printers. The HPGL printer control language was introduced in 1974 and is", -" recognized by many plotters and printers from that era. See `set term hpgl`.", -" The PCL5 printer control language was introduced in 1990 and became standard", -" for many devices by HP and others. See `set term pcl5`.", -" Both of these terminals are included in gnuplot by default.", -"", -" There are also legacy terminals to support specific plotters (hp26 hp2648),", -" inkjet printers (hp500c), and early laserjet printers (hplj hpljii).", -" These are not included unless you modify the source code file `term.h`.", -"" -#else /* JAPANESE_DOC */ -"1 HP terminals", -" gnuplot は、Hewlett-Packard 社の古いペンプロッタやプリンタ用に 2 つの包", -" 括的な出力形式を提供します。HPGL プリンタ制御言語は 1974 年に導入され、", -" 以後多くのプロッタ、プリンタが認識します。以下参照: `set term hpgl`。", -" PCL5 プリンタ制御言語は 1990 年に導入され、HP や他の多くのデバイスの標", -" 準になりました。以下参照: `set term pcl5`。", -" この 2 つの出力形式は、gnuplot にデフォルトで入っています。", -"", -" 特定のプリンタ (hp26 hp2648), インクジェットプリンタ群 (hp500c)、初期の", -" レーザープリンタ (hplj hpljii) をサポートする古い出力形式もありますが、", -" それらはソースコードファイル `term.h` を修正しなければ使えません。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(hpgeneric) -START_HELP(hpgl) -#ifndef JAPANESE_DOC -"1 hpgl", -"?commands set terminal hpgl", -"?set terminal hpgl", -"?set term hpgl", -"?terminal hpgl", -"?term hpgl", -"?hpgl", -" Syntax:", -" set terminal hpgl {} {eject} {fontscale }", -"", -" The `hpgl` driver produces HPGL output for Hewlett Packard pen plotters", -" like the HP7475A and many other plotters dating back to the 1970s.", -" Also, HPGL graphics can be imported by many software packages.", -" The HPGL command language was largely superseded in later printers by the", -" PCL command language. See `set term pcl5`.", -"", -" Terminal options control the number of pens used and whether or not the", -" plotter ejects a page when done. The default is to use 6 pens and", -" not eject the page.", -"", -" All text is drawn in a uniform size. The `fontscale` option applies", -" a scale factor to make this size larger or smaller.", -" If gnuplot's current encoding is set to either iso_8859_1 cp850,", -" non-ascii characters are translated for handling by some printer models", -" that support the corresponding character set. If your printer model", -" does not support this, do not set these encodings.", -"" -#else /* JAPANESE_DOC */ -"1 hpgl", -"?commands set terminal hpgl", -"?set terminal hpgl", -"?set term hpgl", -"?terminal hpgl", -"?term hpgl", -"?hpgl", -" 書式:", -" set terminal hpgl {} {eject} {fontscale }", -"", -" `hpgl` ドライバは、1970 年代以降の HP7475A や多くの他のプロッタのような", -" Hewlett Packard 社製のペンプロッタ用の HPGL 出力を行ないます。", -" HPGL グラフィックデータは、多くのソフトウェアで取り込むこともできます。", -" HPGL コマンド言語は、その後のプリンタでは広く PCL コマンド言語に置き換", -" えられました。以下参照: `set term pcl5`。", -"", -" terminal オプションは、使用するペンの数と、終了時にプロッタにページを排", -" 出 (eject) させるかどうかを制御します。デフォルトでは、6 つのペンを使", -" い、描画後のページの排出は行ないません。", -"", -" すべての文字は一様なサイズで描画されます。オプション `fontscale` はこの", -" サイズを大きく、または小さくするための積因子です。", -" gnuplot の現在のエンコーディングが iso_8859_1 か cp850 のいずれかにセッ", -" トされていれば、非アスキー文字を、対応する文字セットをサポートするいく", -" つかのプリンタモデルで処理することで変換することができます。あなたのプ", -" リンタモデルがこれをサポートしていなければ、これらのエンコーディングは", -" セットできません。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(hpgl) -START_HELP(imagen) -#ifndef JAPANESE_DOC -"1 imagen", -"?commands set terminal imagen", -"?set terminal imagen", -"?set term imagen", -"?terminal imagen", -"?term imagen", -"?imagen", -" The `imagen` terminal driver supports Imagen laser printers. It is capable", -" of placing multiple graphs on a single page.", -"", -" Syntax:", -" set terminal imagen {} {portrait | landscape}", -" {[,]}", -"", -" where `fontsize` defaults to 12 points and the layout defaults to `landscape`.", -" `` and `` are the number of graphs in the horizontal and", -" vertical directions; these default to unity.", -"", -" Example:", -" set terminal imagen portrait [2,3]", -"", -" puts six graphs on the page in three rows of two in portrait orientation." -#else /* JAPANESE_DOC */ -"1 imagen", -"?commands set terminal imagen", -"?set terminal imagen", -"?set term imagen", -"?terminal imagen", -"?term imagen", -"?imagen", -" `imagen` ドライバは Imagen レーザプリンタをサポートします。これは 1 ペ", -" ージに複数のグラフを配置することも可能です。", -"", -" 書式:", -" set terminal imagen {} {portrait | landscape}", -" {[,]}", -"", -" `fontsize` はデフォルトでは 12 ポイントで、レイアウトのデフォルトは", -" `landscape` です。`` と `` はグラフを横方向と縦方向に何列", -" 置くかを指定します。これらのデフォルトは 1 です。", -"", -" 例:", -" set terminal imagen portrait [2,3]", -"", -" これは、1 ページに 6 つのグラフを横に 2 列、縦に 3 列、縦置き (portrait)", -" で配置します。" -#endif /* JAPANESE_DOC */ -END_HELP(imagen) -START_HELP(jpeg) -#ifndef JAPANESE_DOC -"1 jpeg", -"?commands set terminal jpeg", -"?set terminal jpeg", -"?set term jpeg", -"?terminal jpeg", -"?term jpeg", -"?jpeg", -" Syntax:", -" set terminal jpeg ", -" {{no}enhanced}", -" {{no}interlace}", -" {linewidth } {dashlength
    } {rounded|butt}", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -"", -" PNG, JPEG and GIF images are created using the external library libgd.", -" In most cases, PNG is to be preferred for single plots, and GIF for", -" animations. Both are loss-less image formats, and produce better image", -" quality than the lossy JPEG format. This is in particular noticeable", -" for solid color lines against a solid background, i.e. exactly the sort", -" of image typically created by gnuplot.", -"", -" The `interlace` option creates a progressive JPEG image.", -" Default is `nointerlace`.", -"", -" The `linewidth` and `dashlength` options are scaling factors that affect all", -" lines drawn, i.e. they are multiplied by values requested in various drawing", -" commands.", -"", -" `butt` instructs the driver to use a line drawing method that does", -" not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", -"", -" The details of font selection are complicated.", -" Two equivalent simple examples are given below:", -" set term jpeg font arial 11", -" set term jpeg font \"arial,11\"", -" For more information please see the separate section under `fonts`.", -"", -" The output plot size is given in pixels---it defaults to 640x480.", -" Please see additional information under `canvas` and `set size`.", -" Blank space at the edges of the finished plot may be trimmed using the `crop`", -" option, resulting in a smaller final image size. Default is `nocrop`.", -"" -#else /* JAPANESE_DOC */ -"1 jpeg", -"?commands set terminal jpeg", -"?set terminal jpeg", -"?set term jpeg", -"?terminal jpeg", -"?term jpeg", -"?jpeg", -" 書式:", -" set terminal jpeg ", -" {{no}enhanced}", -" {{no}interlace}", -" {linewidth } {dashlength
    } {rounded|butt}", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -"", -" PNG, JPEG, GIF 画像は、外部ライブラリ libgd を使って生成されます。大抵", -" の場合、単一の描画なら PNG の方が向いていて、GIF はアニメーション用で", -" す。それらは損失の少ない画像形式で、損失のある JPEG 形式よりも上質の画", -" 像を生成します。これは、特にベタ塗り潰した背景でのカラーの実線、つまり", -" まさに gnuplot が生成する典型的な画像に対しては注意すべきことです。", -"", -" オプション `interlace` は、プログレッシブ JPEG 画像を生成します。デフ", -" ォルトは `nointerlace` です。", -"", -" オプション `linewidth` と `dashlength` は拡大率で、描画されるすべての", -" 線に影響を与えます。すなわち、これらは様々な描画コマンドで要求される値", -" にかけ算されます。", -"", -" `butt` は線分の描画で、その端の点でのはみだしを起こさない描画メソッド", -" を使うようドライバに指示します。この設定は、線幅が 1 より大きい場合に", -" のみ有効です。この設定は、水平線、垂直線の描画の場合に有用でしょう。", -" デフォルトは `rounded` (丸め) です。", -"", -" フォントの選択の詳細は、やや複雑です。", -" 以下に同じ意味を持つ簡単な例を示します:", -" set term jpeg font arial 11", -" set term jpeg font \"arial,11\"", -" より詳しい情報については、`fonts` の下の該当するセクションを参照してく", -" ださい。", -"", -" 出力描画サイズ はピクセル単位で与えます。デフォルトは 640x480 で", -" す。以下も参照: `canvas`, `set size`。", -" 描画終了後の端の余白は、オプション `crop` で取り除くことができ、その結", -" 果としてその画像サイズは小さくなります。デフォルトは `nocrop` です。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(jpeg) -START_HELP(latex) -#ifndef JAPANESE_DOC -"1 latex", -"?set terminal latex", -"?set term latex", -"?terminal latex", -"?term latex", -"?latex", -"?set terminal emtex", -"?set terminal eepic", -"?set terminal tpic", -"?set term emtex", -"?set term eepic", -"?set term tpic", -"?terminal emtex", -"?terminal eepic", -"?terminal tpic", -"?emtex", -"?eepic", -"?tpic", -" Gnuplot provides a variety of terminals for use with TeX/LaTeX.", -"", -" (1) TeX/LaTeX compatible terminals based on use of PostScript", -" See `epslatex`, `pslatex`, and `pstricks`.", -"", -" (2) TeX/LaTeX compatible terminals based on cairo graphics", -" See `cairolatex`.", -"", -" (3) The `tikz` terminal uses an external lua script (see `lua`)", -" to produce files for the PGF and TikZ packages.", -" Use the command `set term tikz help` to print terminal options.", -"", -" (4) The `pict2e` terminal (added in version 5.4) replaces a set of legacy", -" terminals `latex`, `emtex`, `eepic`, and `tpic` present in older versions", -" of gnuplot. See `pict2e`.", -"", -" (5) Others, see `context`, legacy terminals texdraw and mp (metapost).", -"", -" A summary of TeX-friendly terminals is available here:", -"^ ", -" http://www.gnuplot.info/docs/latex_demo.pdf", -"^ ", -"" -#else /* JAPANESE_DOC */ -"1 latex", -"?set terminal latex", -"?set term latex", -"?terminal latex", -"?term latex", -"?latex", -"?set terminal emtex", -"?set terminal eepic", -"?set terminal tpic", -"?set term emtex", -"?set term eepic", -"?set term tpic", -"?terminal emtex", -"?terminal eepic", -"?terminal tpic", -"?emtex", -"?eepic", -"?tpic", -" gnuplot は、TeX/LaTeX での利用のための様々な出力形式を提供しています。", -"", -" (1) PostScript の使用に基づく TeX/LaTeX 互換の出力形式", -" 以下参照: `epslatex`, `pslatex`, `pstricks`。", -"", -" (2) cairo グラフィックに基づく TeX/LaTeX 互換の出力形式", -" 以下参照: `cairolatex`。", -"", -" (3) `tikz` 出力形式は、外部 lua スクリプト (以下参照: `lua`) を用いて", -" PGF と TikZ パッケージ用のファイルを生成します。", -" 出力形式オプションを見るには、`set term tikz help` としてください。", -"", -" (4) `pict2e` 出力形式 (バージョン 5.4 で追加) は昔の gnuplot の古い出", -" 力形式 `latex`, `emtex`, `eepic`, `tpic` に置き換わるものです。以下", -" 参照: `pict2e`。", -"", -" (5) その他は、以下参照: `context`。および古い出力形式 texdraw、mp", -" (metapost)。", -"", -" TeX 系出力形式に関する要約が以下にあります:", -"^ ", -" http://www.gnuplot.info/docs/latex_demo.pdf", -"^ ", -"" -#endif /* JAPANESE_DOC */ -END_HELP(latex) -START_HELP(linux) -#ifndef JAPANESE_DOC -"1 linux console", -"?set terminal linux", -"?set terminal vgagl", -"?linux console", -"?console", -"=linux console", -"=console", -"=sixel", -"=vgagl (linux console)", -"=yaft", -" Older gnuplot versions required special terminals `linux` or `vgagl`", -" in order to display graphics on the linux console, i.e. in the absence of", -" X11 or other windowing environment. These terminals have been deprecated.", -"", -" The recommended way to run gnuplot from the linux console is now to use a", -" console terminal emulator such as yaft (https://github.com/uobikiemukot/yaft)", -" that supports sixel graphics. With yaft as your console terminal you can", -" run gnuplot and select a terminal with sixel output. See `sixelgd`.", -" As a fall-back option you could use `set term dumb`, but sixel graphics", -" are much nicer." -#else /* JAPANESE_DOC */ -"1 linux cosole", -"?set terminal linux", -"?set terminal vgagl", -"?linux console", -"?console", -"=linux console", -"=console", -"=sixel", -"=vgagl (linux console)", -"=yaft", -" 古いバージョンの gnuplot では、linux コンソール上、すなわち X11 がない", -" か、または他のウィンドウ環境でグラフィックスを表示するためには `linux`", -" か `vgagl` の特別な出力形式が必要でしたが、これらの出力形式は既に廃棄さ", -" れています。", -"", -" 現在、gnuplot を linux コンソールで実行するための推奨する方法は、sixel", -" グラフィックをサポートする yaft (https://github.com/uobikiemukot/yaft)", -" のようなコンソールターミナルエミュレータを使うことです。yaft をコンソー", -" ルターミナルとして使用すれば、gnuplot を実行し、sixel 出力を行う出力形", -" 式を選択できます。以下参照: `sixelgd`。", -" 最終的な選択肢として、`set term dumb` を使用することも可能ですが、sixel", -" グラフィックスの方がはるかにいいでしょう。" -#endif /* JAPANESE_DOC */ -END_HELP(linux) -START_HELP(lua) -#ifndef JAPANESE_DOC -"1 lua", -"?commands set terminal lua", -"?set terminal lua", -"?set term lua", -"?terminal lua", -"?term lua", -"?lua", -" The `lua` generic terminal driver works in conjunction with an", -" external Lua script to create a target-specific plot file.", -" Currently the only supported target is TikZ -> pdflatex.", -"", -" Information about Lua is available at http://www.lua.org .", -"", -" Syntax:", -" set terminal lua | \"\"", -" { ...}", -" {help}", -"", -" A 'target name' or 'file name' (in quotes) for a script is mandatory.", -" If a 'target name' for the script is given, the terminal will look for", -" \"gnuplot-.lua\" in the local directory and on failure in", -" the environmental variable GNUPLOT_LUA_DIR.", -"", -" All arguments will be provided to the selected script for further", -" evaluation. E.g. 'set term lua tikz help' will cause the script itself", -" to print additional help on options and choices for the script.", -#else /* JAPANESE_DOC */ -"1 lua", -"?commands set terminal lua", -"?set terminal lua", -"?set term lua", -"?terminal lua", -"?term lua", -"?lua", -" この `lua` 出力ドライバは、対象先指定描画ファイルを作成するための、外", -" 部 Lua スクリプトとの組み合わせで機能します。現在サポートしている対象", -" は、TikZ -> pdflatex のみです。", -"", -" Lua に関する情報は、http://www.lua.org で参照できます。", -"", -" 書式:", -" set terminal lua | \"\"", -" { ...}", -" {help}", -"", -" スクリプト用に 'target name'、または引用符付きの 'file name' が必須で", -" す。スクリプトの 'target name' を与えた場合は、この出力形式は、", -" \"gnuplot-.lua\" をまずローカルディレクトリで探し、それに", -" 失敗すると環境変数 GNUPLOT_LUA_DIR を探します。", -"", -" その他のすべての引数は、選択したスクリプトに評価させるように与えられま", -" す。例えば、'set term lua tikz help' は、スクリプトそれ自身に、スクリ", -" プト用のオプションと選択に関する追加のヘルプを表示させます。", -#endif -#ifdef HAVE_LUA -#ifndef JAPANESE_DOC -#include "gnuplot-tikz.help" -#endif -#endif -"" -END_HELP(lua) -START_HELP(pbm) -#ifndef JAPANESE_DOC -"1 pbm", -"?commands set terminal pbm", -"?set terminal pbm", -"?set term pbm", -"?terminal pbm", -"?term pbm", -"?pbm", -" Note: only available if gnuplot is configured --with-bitmap-terminals.", -" Syntax:", -" set terminal pbm {} {} {size ,}", -"", -" where is `small`, `medium`, or `large` and is `monochrome`,", -" `gray` or `color`. The default plot size is 640 pixels wide and 480 pixels", -" high. The output size is white-space padded to the nearest multiple of", -" 8 pixels on both x and y. This empty space may be cropped later if needed.", -"", -" The output of the `pbm` driver depends upon : `monochrome` produces a", -" portable bitmap (one bit per pixel), `gray` a portable graymap (three bits", -" per pixel) and `color` a portable pixmap (color, four bits per pixel).", -"", -" The output of this driver can be used with various image conversion and", -" manipulation utilities provided by NETPBM. Based on Jef Poskanzer's", -" PBMPLUS package, NETPBM provides programs to convert the above PBM formats", -" to GIF, TIFF, MacPaint, Macintosh PICT, PCX, X11 bitmap and many others.", -" Complete information is available at http://netpbm.sourceforge.net/.", -"", -" Examples:", -" set terminal pbm small monochrome # defaults", -" set terminal pbm color medium size 800,600", -" set output '| pnmrotate 45 | pnmtopng > tilted.png' # uses NETPBM" -#else /* JAPANESE_DOC */ -"1 pbm", -"?commands set terminal pbm", -"?set terminal pbm", -"?set term pbm", -"?terminal pbm", -"?term pbm", -"?pbm", -" 注意: gnuplot が --with-bitmap-terminals で作られた場合のみ使えます。", -" 書式:", -" set terminal pbm {} {} {size ,}", -"", -" は `small` か `medium` か `large` で、 は `monochrome`", -" か `gray` か `color` です。デフォルトの描画サイズは 640 ピクセルの幅で", -" 480 ピクセルの高さです。出力サイズは、x と y の両方を 8 ピクセル倍した", -" ものに最も近くなるように空白が追加されます。必要であれば、この空白部分", -" は後で取り除くことができます。", -"", -" `pbm` ドライバの出力は によります: `monochrome` は portable", -" bitmap (PBM; 1 ピクセル 1 ビット) を、`gray` は portable graymap (PGM;", -" 1 ピクセル 3 bit) を、`color` は portable pixmap (PPM; 1 ピクセル 4 ビ", -" ット) を出力します。", -"", -" このドライバの出力は、NETPBM によって提供される様々な画像変換、画像処", -" 理ツールで使うことができます。 Jef Poskanzer の PBMPLUS パッケージに基", -" づく NETPBM は、上記の PBM 形式から GIF, TIFF, MacPaint, Macintosh", -" PICT, PCX, X11 ビットマップ、その他多くの形式に変換するプログラムを提", -" 供します。完全な情報は http://netpbm.sourceforge.net/ にあります。", -"", -" 例:", -" set terminal pbm small monochrome # デフォルト", -" set terminal pbm color medium size 800,600", -" set output '| pnmrotate 45 | pnmtopng > tilted.png' # NETPBM を利用" -#endif /* JAPANESE_DOC */ -END_HELP(pbm) -START_HELP(pcl5) -#ifndef JAPANESE_DOC -"1 pcl5", -"?commands set terminal pcl5", -"?set terminal pcl5", -"?set term pcl5", -"?terminal pcl5", -"?term pcl5", -"?pcl5", -" The `pcl5` driver supports Hewlett Packard and other printers from the 1990s", -" and later.", -"", -" Syntax:", -" set terminal pcl5 {} {{no}enhanced}", -" {size | size {unit},{unit}}", -" {font \",\"} {pspoints | nopspoints}", -" {fontscale } {pointsize } {linewidth }", -"", -" is `landscape` or `portrait`. is the physical", -" plotting size of the plot, which can be one of the following formats: `letter`", -" for standard (8 1/2\" X 11\") displays, `legal` for (8 1/2\" X 14\") displays,", -" `noextended` for (36\" X 48\") displays (a letter size ratio),", -" `extended` for (36\" X 55\") displays (almost a legal size ratio), or", -" `a4` for (296mm X 210mm) displays. You can also explicitly specify the canvas", -" size using the `width` and `height` options. Default unit is `in`.", -" Default size is `letter`.", -"", -" can be one of stick, univers (default), albertus, antique_olive,", -" arial, avant_garde_gothic, bookman, zapf_chancery, clarendon, coronet, courier", -" courier_ps, cg_times, garamond_antigua, helvetica, helvetica_narrow,", -" letter_gothic, marigold, new_century_schlbk, cg_omega, palatino, times_new_roman,", -" times_roman, zapf_dingbats, truetype_symbols, or wingdings. Font names are", -" case-insensitive and underscores may be replaced by spaces or dashes or may be", -" left out. is the font size in points.", -"", -" The point type selection can be the a limited default set by specifying", -" `nopspoints`, or the same set of point types as provided by the postscript terminal", -" by specifying `pspoints` (default).", -"", -" The `butt` option selects lines with butt ends and mitered joins (default),", -" whereas `rounded` selects rounded line ends and joins.", -"", -" Line widths, and point and font sizes can be scaled using the `linewidth`,", -" `pointscale`, or `fontscale` options, respectively.", -"", -" `color` selects the number of pens used in plots.", -" Default is 8, minimum 2.", -"", -" Note that built-in support of some of these options is printer device", -" dependent. For instance, all the fonts are supposedly supported by the HP", -" Laserjet IV, but only a few (e.g. univers, stick) may be supported by the HP", -" Laserjet III and the Designjet 750C. Also, color obviously won't work on", -" monochrome devices, but newer ones will do grey-scale.", -"", -" Defaults: landscape, a4, 8 pens, univers, 12 point, pspoints, butt, no scaling", -"", -" The `pcl5` terminal will try to request fonts which match your `encoding`.", -" Note that this has highest priority, so you might end up with a different", -" font face. The terminal's default `encoding` is `HP Roman-8`.", -"", -" Limitations:", -"", -" This terminal does not support alpha transparency. Transparent filling is", -" emulated using shading patterns. Boxed text is not implemented.", -"", -" The support for UTF-8 is limited. Lacking the label mode for UTF-8 output", -" in HP-GL/2, the driver reverts to PCL for strings containing 8bit characters.", -" UTF-8 text is limited to angles of 0, 90, 180, and 270 degrees. Also vertical", -" alignment might be off depending on the font.", -"", -" Some enhanced text features (phantom box, overprinting) require using PCL", -" features in addition to HP-GL/2. This conforms to the specs but may not", -" work with your printer or software." -#else /* JAPANESE_DOC */ -"1 pcl5", -"?commands set terminal pcl5", -"?set terminal pcl5", -"?set term pcl5", -"?terminal pcl5", -"?term pcl5", -"?pcl5", -" `pcl5` ドライバは、1990 年代以降の Hewlett Packard 社製、あるいはその他", -" のプリンタをサポートします。", -"", -" 書式:", -" set terminal pcl5 {} {{no}enhanced}", -" {size | size {unit},{unit}}", -" {font \",\"} {pspoints | nopspoints}", -" {fontscale } {pointsize } {linewidth }", -"", -" は `landscape` か `portrait` です。 はグラフの物理的", -" な描画サイズで、それは以下のうちのいずれかです: `letter` は標準の", -" (8 1/2\" X 11\") 出力、`legal` は (8 1/2\" X 14\") 出力、`noextended` は", -" (36\" X 48\") 出力 (letter サイズ比)、`extended` は (36\" X 55\") 出力", -" (ほぼ legal サイズ比)、`a4` は (296mm x 210mm) 出力です。さらに、明示的", -" にキャンバスサイズを `width`, `height` オプションで指定することもできま", -" す。単位のデフォルトは `in` です。サイズのデフォルトは `letter` です。", -"", -" は stick, univers (デフォルト), albertus, antique_olive,", -" arial, avant_garde_gothic, bookman, zapf_chancery, clarendon, coronet,", -" courier, courier_ps, cg_times, garamond_antigua, helvetica,", -" helvetica_narrow, letter_gothic, marigold, new_century_schlbk,", -" cg_omega, palatino, times_new_roman, times_roman, zapf_dingbats,", -" truetype_symbols, wingdings のいずれかです。フォント名では大文字小文字", -" は区別されず、下線はスペースかダッシュに置き換えられるかまたは取り除か", -" れます。 はポイント単位でのフォントの大きさです。", -"", -" 点の種類 (point type) は、`nopspoints` を指定することで制限されたデフォ", -" ルトの組を使用できますが、`pspoints` を指定すると postscript 出力形式と", -" 同じ点種の組を使用することができるようになります。", -"", -" オプション `butt` (デフォルト) は尖った端と角張った接合部を持つ線を使用", -" し、`rounded` は線の端や接合部を丸くします。", -"", -" 線幅や点、フォントのサイズは、それぞれオプション `linewidth`,", -" `pointscale`, `fontscale` で変更できます。", -"", -" `color` は、グラフ内で使用するペンの数 を指定します。", -" デフォルトは 8 で、最小は 2 です。", -"", -" これらのオプションのいくつかの組み込まれたサポートは、プリンタに依存す", -" ることに注意してください。例えば全てのフォントは恐らく HP Laserjet IV", -" ではサポートされているでしょうが、HP Laserjet III と Designjet 750C で", -" は 2,3 (例えば univers, stick) がサポートされているのみでしょう。", -" また、白黒の出力装置ではもちろんカラーも使えませんが、新しい物ならそれ", -" をグレイスケールでやってくれるでしょう。", -"", -" デフォルト: landscape, a4, 8 色, univers, 12 point, pspoints, butt,", -" スケーリングなし", -"", -" `pcl5` 出力形式は、`encoding` の設定に合うフォントを要求しようとします。", -" これは最高の優先度を持つので、結果的に違うフォントの見た目になってしま", -" かもしれないことに注意してください。この出力ドライバのデフォルトの", -" `encoding` は、`HP Roman-8` です。", -"", -" 制限:", -"", -" この出力ドライバは、透過性のアルファ値はサポートしていません。透過型の", -" 塗り潰しは陰影パターンによる疑似的なものです。箱付き文字列は実装してい", -" ません。", -"", -" UTF-8 のサポートも制限があります。HP-GL/2 で UTF-8 出力に対するラベルモ", -" ードが欠けているため、このドライバは 8bit 文字が含まれている文字列に対", -" しては PCL に戻ります。UTF-8 文字列の回転は、0, 90, 180, 270 度の角のみ", -" に制限されます。垂直方向の位置合わせも、フォントによっては効かなくなり", -" えます。", -"", -" 拡張文字列のいくつかの機能 (空ボックスや重ね書き) は、HP-GL/2 に加えて", -" PCL の機能を使うことが必要になります。それは、その能力を持つものには合", -" いますが、あなたのプリンタやソフトウェアでは機能しないかもしれません。" -#endif /* JAPANESE_DOC */ -END_HELP(pcl5) -START_HELP(pdfcairo) -#ifndef JAPANESE_DOC -"1 pdfcairo", -"?set terminal pdfcairo", -"?terminal pdfcairo", -"?set term pdfcairo", -"?term pdfcairo", -"?pdfcairo", -" The `pdfcairo` terminal device generates output in pdf. The actual", -" drawing is done via cairo, a 2D graphics library, and pango, a library for", -" laying out and rendering text.", -"", -" Syntax:", -" set term pdfcairo", -" {{no}enhanced} {mono|color}", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {background }", -" {size {unit},{unit}}", -"", -" This terminal supports an enhanced text mode, which allows font and other", -" formatting commands (subscripts, superscripts, etc.) to be embedded in labels", -" and other text strings. The enhanced text mode syntax is shared with other", -" gnuplot terminal types. See `enhanced` for more details.", -"", -" The width of all lines in the plot can be modified by the factor ", -" specified in `linewidth`. The default linewidth is 0.5 points.", -" (1 \"PostScript\" point = 1/72 inch = 0.353 mm)", -"", -" `rounded` sets line caps and line joins to be rounded;", -" `butt` is the default, butt caps and mitered joins.", -"", -" The default size for the output is 5 inches x 3 inches. The `size` option", -" changes this to whatever the user requests. By default the X and Y sizes are", -" taken to be in inches, but other units are possible (currently only cm).", -" Screen coordinates always run from 0.0 to 1.0 along the full length of the", -" plot edges as specified by the `size` option.", -"", -" is in the format \"FontFace,FontSize\", i.e. the face and the size", -" comma-separated in a single string. FontFace is a usual font face name, such", -" as \'Arial\'. If you do not provide FontFace, the pdfcairo terminal will use", -" \'Sans\'. FontSize is the font size, in points. If you do not provide it,", -" the pdfcairo terminal will use a nominal font size of 12 points.", -" However, the default fontscale parameter for this terminal is 0.5,", -" so the apparent font size is smaller than this if the pdf output is", -" viewed at full size.", -" For example :", -" set term pdfcairo font \"Arial,12\"", -" set term pdfcairo font \"Arial\" # to change the font face only", -" set term pdfcairo font \",12\" # to change the font size only", -" set term pdfcairo font \"\" # to reset the font name and size", -"", -" The fonts are retrieved from the usual fonts subsystems. Under Windows,", -" those fonts are to be found and configured in the entry \"Fonts\" of the", -" control panel. Under UNIX, they are handled by \"fontconfig\".", -"", -" Pango, the library used to layout the text, is based on utf-8. Thus, the pdfcairo", -" terminal has to convert from your encoding to utf-8. The default input", -" encoding is based on your \'locale\'. If you want to use another encoding,", -" make sure gnuplot knows which one you are using. See `encoding` for more", -" details.", -"", -" Pango may give unexpected results with fonts that do not respect the unicode", -" mapping. With the Symbol font, for example, the pdfcairo terminal will use the map", -" provided by http://www.unicode.org/ to translate character codes to unicode.", -" Note that \"the Symbol font\" is to be understood as the Adobe", -" Symbol font, distributed with Acrobat Reader as \"SY______.PFB\".", -" Alternatively, the OpenSymbol font, distributed with OpenOffice.org as", -" \"opens___.ttf\", offers the same characters. Microsoft has distributed a", -" Symbol font (\"symbol.ttf\"), but it has a different character set with", -" several missing or moved mathematic characters. If you experience problems", -" with your default setup (if the demo enhancedtext.dem is not displayed", -" properly for example), you probably have to install one of the Adobe or", -" OpenOffice Symbol fonts, and remove the Microsoft one.", -" Other non-conform fonts, such as \"wingdings\" have been observed working.", -"", -" The rendering of the plot cannot be altered yet. To obtain the best output", -" possible, the rendering involves two mechanisms : antialiasing and", -" oversampling.", -" Antialiasing allows to display non-horizontal and non-vertical lines", -" smoother.", -" Oversampling combined with antialiasing provides subpixel accuracy,", -" so that gnuplot can draw a line from non-integer coordinates. This avoids", -" wobbling effects on diagonal lines ('plot x' for example).", -"" -#else /* JAPANESE_DOC */ -"1 pdfcairo", -"?set terminal pdfcairo", -"?terminal pdfcairo", -"?set term pdfcairo", -"?term pdfcairo", -"?pdfcairo", -" 出力形式 `pdfcairo` は、PDF 出力を生成します。実際の描画は、2D グラフ", -" ィックライブラリである cairo と、文字列の配置とレンダリング用のライブ", -" ラリ pango を経由して行われます。", -"", -" 書式:", -" set term pdfcairo", -" {{no}enhanced} {mono|color}", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {background ", -" {size {unit},{unit}}", -"", -" この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし", -" ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に", -" 埋め込むことができます。拡張文字列処理モードの書式は他の gnuplot の出", -" 力形式と共通です。詳細は、以下参照: `enhanced`。", -"", -" 描画における全ての線の幅は、`linewidth` で指定する因子 で変更でき", -" ます。デフォルトの線幅は 0.5 ポイントです。(1 \"PostScript\" ポイント", -" = 1/72 インチ = 0.353 mm)", -"", -" `rounded` は、線の端や接合部を丸くします。", -" デフォルトの `butt` は尖った端と角張った接合部を使用します。", -"", -" PDF 出力のデフォルトのサイズは、5inch x 3inch です。オプション `size` ", -" は、これをユーザの指定するものへ変更します。デフォルトの X, Y サイズの", -" 単位はインチですが、他の単位も使用可能です (現在は cm のみ)。`size` オ", -" プションで指定されたことによる描画の端から端までの領域は、常にスクリー", -" ン座標の 0.0 から 1.0 に対応します。", -"", -" は、\"FontFace,FontSize\" の書式、つまりフォント名とサイズをカ", -" ンマで区切った一つの文字列として表記します。FontFace は、\'Arial\' の", -" ような通常のフォント名です。フォント名を与えない場合、pdfcairo 出力形", -" 式では\'Sans\' が使用されます。FontSize はポイント単位でのフォントサイ", -" ズです。指定しない場合は、pdfcairo 出力形式では 12 ポイントサイズの標", -" 準フォントが使用されます。しかし、この出力形式のパラメータ fontscale", -" のデフォルトは 0.5 なので、見かけのフォントサイズは、PDF 出力をフルサ", -" イズで見た場合よりも小さくなるでしょう。", -" 例 :", -" set term pdfcairo font \"Arial,12\"", -" set term pdfcairo font \"Arial\" # フォント名のみ変更", -" set term pdfcairo font \",12\" # フォントサイズのみ変更", -" set term pdfcairo font \"\" # フォント名とサイズをリセット", -"", -" フォントは、通常のフォント処理機構により取得されます。Windows では、フ", -" ォントはコントロールパネルの \"フォント\" の項目で構成され見つけられる", -" もので、UNIX では、フォントは \"fontconfig\" で処理されます。", -"", -" 文字列のレイアウトに使用されるライブラリ Pango は、utf-8 に基づいてい", -" ますので、pdfcairo 出力形式では、文字コードを utf-8 に変換する必要があ", -" ります。デフォルトの入力文字コードは、あなたが使用している \'locale\'", -" に基づきます。他の文字コードにしたい場合は、あなたがどの文字コードを使", -" っているのかを確実に gnuplot がわかるようにしてください。詳細について", -" は、以下参照: `encoding`。", -"", -" pango は、unicode マッピングでないフォントに対しては予期せぬ結果を与え", -" るかもしれません。例えば Symbol フォントに対しては、pdfcairo 出力形式", -" は、文字コードを unicode に変換するために http://www.unicode.org/ で提", -" 供されるマッピングを利用します。なお、\"the Symbol font\" は、Acrobat", -" Reader と一緒に \"SY______.PFB\" として配布されている Adobe Symbol フ", -" ォントであると解釈されることに注意してください。この代わりに、", -" OpenOffice.org と一緒に \"opens___.ttf\" として配布される OpenSymbol", -" フォントが同じ文字を提供しています。Microsoft も Symbol フォント", -" (\"symbol.ttf\") を配布していますが、これは異なる文字セットになってい", -" て、いくつかは欠けていますし、いくつかは数式記号に変わってしまっていま", -" す。あなたのデフォルトの設定でなんらかの問題が起きた場合 (例えばデモス", -" クリプト enhancedtext.dem がちゃんと表示されないといった場合) は、", -" Adobe か OpenOffice の Symbol フォントをインストールして、Microsoft の", -" Symbol フォントを削除しないといけないかもしれません。\"windings\" のよ", -" うな他の非標準のフォントでも動作することが報告されています。", -"", -" 描画のレンダリングは、今のところ変更できません。出力をより良くするため", -" にこのレンダリングは、アンチエイリアス、オーバーサンプリングの 2 つの", -" 機構を持っています。", -" アンチエイリアスは、水平や垂直でない線を滑らかに表示します。", -" オーバーサンプリングは、アンチエイリアスと組でピクセルよりも小さいサイ", -" ズでの精度を提供し、gnuplot が非整数座標の直線を書けるようになります。", -" これは、対角方向の直線 (例えば 'plot x') が左右に揺れるのを避けます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(pdfcairo) -START_HELP(pict2e) -#ifndef JAPANESE_DOC -"1 pict2e", -"?commands set terminal pict2e", -"?set terminal pict2e", -"?set term pict2e", -"?terminal pict2e", -"?term pict2e", -"?pict2e", -" The `pict2e` terminal uses the LaTeX2e variant of the picture environment.", -" It replaces terminals which were based on the original LaTeX picture", -" environment: `latex`, `emtex`, `tpic`, and `eepic`.", -"", -" Alternatives to this terminal with a more complete support of gnuplot's", -" features are `tikz`, `pstricks`, `cairolatex`, `pslatex`, `epslatex`", -" and `mp`.", -"", -" Syntax:", -" set terminal pict2e", -" {font \"{}{,}\"}", -" {size {unit}, {unit}}", -" {color | monochrome}", -" {linewidth } {rounded | butt}", -" {texarrows | gparrows} {texpoints | gppoints}", -" {smallpoints | tinypoints | normalpoints}", -"", -" This terminal requires the following standard LaTeX packages: `pict2e`,", -" `xcolor`, `graphics`/`graphicx` and `amssymb`. For pdflatex, the", -" `transparent` package is used to support transparency.", -"", -" By default the plot will inherit font settings from the embedding document.", -" You have the option to force a font with the `font` option, like cmtt", -" (Courier) or cmr (Roman), instead. In this case you may also force a specific", -" fontsize. Otherwise the fontsize argument is used to estimate the required", -" space for text.", -" Unless your driver is capable of building fonts at any size (e.g. dvips),", -" stick to the standard 10, 11 and 12 point sizes.", -"", -" The default size for the plot is 5 inches by 3 inches. The `size` option", -" changes this to whatever the user requests. By default the X and Y sizes", -" are taken to be in inches, but other units are possible (currently only cm).", -"", -" With `texpoints`, points are drawn using LaTeX commands like \"\\Diamond\"", -" and \"\\Box\". These are provided by the the latexsym package, which is part", -" of the base distribution and thus part of any LaTeX implementation.", -" Other point types use symbols from the amssymb package.", -" With `gppoints`, the terminal will use gnuplot's internal routines for", -" drawing point symbols instead.", -"", -" With the `texpoints` option, you can select three different point sizes:", -" `normalpoints`, `smallpoints`, and `tinypoints`.", -"", -" `color` causes gnuplot to produce \\color{...} commands so that the graphs", -" are colored. Using this option, you must include \\usepackage{xcolor}", -" in the preamble of your LaTeX document. `monochrome` will avoid the use of", -" any color commands in the output.", -" Transparent color fill is available if pdflatex is used.", -"", -" `linewidth` sets the scale factor for the width of lines.", -" `rounded` sets line caps and line joins to be rounded. `butt` sets butt", -" caps and mitered joins and is the default.", -"", -" `pict2e` only supports dotted lines, but not dashed lines.", -" All default line types are solid. Use `set linetype` with the `dashtype`", -" property to change.", -"", -" `texarrows` draws `arrow`s using LaTeX commands which are shorter but do", -" not offer all options. `gparrows` selects drawing arrows using gnuplot's own", -" routine for full functionality instead.", -"" -#else /* JAPANESE_DOC */ -"1 pict2e", -"?commands set terminal pict2e", -"?set terminal pict2e", -"?set term pict2e", -"?terminal pict2e", -"?term pict2e", -"?pict2e", -" 出力形式 `pict2e` は、picture 環境の LaTeX2e 用の変種を使用します。これ", -" は、元々の LaTeX picture 環境に基づく出力形式である `latex`, `emtex`,", -" `tpic`, `eepic` に置き換わるものです。", -"", -" この出力形式に代わり、より完全に gnuplot の機能をサポートするものとして", -" `tikz`, `pstricks`, `cairolatex`, `pslatex`, `epslatex`, `mp` がありま", -" す。", -"", -" 書式:", -" set terminal pict2e", -" {font \"{}{,}\"}", -" {size {unit}, {unit}}", -" {color | monochrome}", -" {linewidth } {rounded | butt}", -" {texarrows | gparrows} {texpoints | gppoints}", -" {smallpoints | tinypoints | normalpoints}", -"", -" この出力形式は、以下の LaTeX 標準パッケージを仮定します: `pict2e`,", -" `xcolor`, `graphics`/`graphicx`, `amssymb`。pdflatex の場合は、透過のサ", -" ポートに `transparent` パッケージを使用します。", -"", -" デフォルトでは、グラフはこれが埋め込まれる文書のフォント設定を継承しま", -" すが、オプション `font` でフォントを強制的に、例えば cmtt (Courier) や", -" cmr (Roman) などの指定したフォントに変更することもできます。その場合、", -" 特定のフォントサイズにも変更できますが、そうでなければ、fontsize 引数は", -" その文字列用に必要なスペースを計算するのに使います。", -" あなたのドライバが、例えば dvips のようには任意のサイズのフォントを利用", -" できない場合は、標準の 10, 11, 12 ポイントサイズに限定してください。", -"", -" グラフのデフォルトサイズは 5inch x 3inch ですが、オプション `size` でこ", -" れをユーザが希望する任意のサイズに変更できます。デフォルトでは、X と Y", -" の単位は inch ですが、他の単位も利用できます (現在は cm のみ)。", -"", -" `texpoints` は、\"\\Diamond\" や \"\\Box\" のような LaTeX コマンドを使", -" って点 (point) の記号を書きます。これらは latexsym パッケージで提供され、", -" これは LaTeX の基本配布物ですので、任意の LaTeX の実装に含まれます。", -" 他の点記号は、amssymb パッケージの記号を使用します。", -" `gppoints` では、この出力形式は、代わりに gnuplot の内部ルーチンを使っ", -" て点記号を描画します。", -"", -" オプション `texpoints` では、3 つの異なる点サイズ指定: `normalpoints`,", -" `smallpoints`, `tinipoints` を選択できます。", -"", -" `color` は、gnuplot に \\color{...} コマンドを生成させ、それによりグラ", -" フの色付けを行います。このオプションを使用するには、あなたの LaTeX 文書", -" のプリアンブルに \\usepackage{xcolor} を入れる必要があります。", -" `monochrome` は、色に関するコマンドを一切出力しません。", -" 透過色の塗り潰しは、pdflatex を使用すれば利用できます。", -"", -" `linewidth` は、線幅の拡大倍率を設定します。", -" `rounded` は、線の端や接合部を丸くします。`butt` は尖った端と角張った接", -" 合部を使用し、こちらがデフォルトです。", -"", -" `pict2e` は、点線のみサポートし、破線はサポートしていません。", -" デフォルトの線種はすべて実線です。変更するには、`dashtype` 属性をつけて", -" `set linetype` を使用してください。", -"", -" `texarrows` は、LaTeX コマンドを使用して矢 (`arrow`) を描きますが、これ", -" はやや短かく、オプションをすべてはサポートしていません。`gparrows` は、", -" gnuplot 自身のルーチンを用いて矢を描くことを選択しますが、こちらはすべ", -" ての機能を備えています。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(pict2e) -START_HELP(pm) -#ifndef JAPANESE_DOC -"1 pm", -"?commands set terminal pm", -"?set terminal pm", -"?set term pm", -"?terminal pm", -"?term pm", -"?pm", -" The `pm` terminal driver provides an OS/2 Presentation Manager window in", -" which the graph is plotted. The window is opened when the first graph is", -" plotted. This window has its own online help as well as facilities for", -" printing and copying to the clipboard.", -"", -" Syntax:", -" set terminal pm {{server} {n} | noserver}", -" {nopersist | persist}", -" {enhanced | noenhanced}", -" {font }", -" {nowidelines | widelines}", -" {fontscale }", -" {linewidth }", -" {pointscale }", -" {{title} \"title\"}", -"", -" If `persist` is specified, each graph appears in its own window and all", -" windows remain open after `gnuplot` exits. If `server` is specified, all", -" graphs appear in the same window, which remains open when `gnuplot` exits.", -" This option takes an optional numerical argument which specifies an instance", -" of the server process. Thus multiple server windows can be in use at the", -" same time.", -"", -" If `widelines` is specified, all plots will be drawn with wide lines. If", -" `enhanced` is specified, sub- and superscripts and multiple fonts are enabled", -" (see `enhanced text` for details). Font names for the core PostScript fonts", -" may be abbreviated to a single letter ", -" (T/H/C/S for Times/Helvetica/Courier/Symbol).", -"", -" `linewidth`, `fontscale`, `pointscale` can be used to scale the width of", -" lines, the size of text, or the size of the point symbols.", -"", -" If `title` is specified, it will be used as the title of the plot window.", -" It will also be used as the name of the server instance, and will override", -" the optional numerical argument.", -"", -" The gnuplot outboard driver, gnupmdrv.exe, is searched in the same directory", -" as gnuplot itself. You can override that by defining one of the environment", -" variables GNUPLOT_DRIVER_DIR or GNUPLOT. As a last resort the current", -" directory and the PATH are tried to locate gnupmdrv.exe." -#else /* JAPANESE_DOC */ -"1 pm", -"?commands set terminal pm", -"?set terminal pm", -"?set term pm", -"?terminal pm", -"?term pm", -"?pm", -" `pm` ドライバは、グラフが描画される OS/2 プレゼンテーションマネージャ", -" ウィンドウを提供します。そのウィンドウは最初のグラフが描画されたときに", -" 開かれます。このウィンドウは印刷、クリップボードへのコピー、そしてそれ", -" 自身のオンラインヘルプを持っています。", -"", -" 書式:", -" set terminal pm {{server} {n} | noserver}", -" {nopersist | persist}", -" {enhanced | noenhanced}", -" {font }", -" {nowidelines | widelines}", -" {fontscale }", -" {linewidth }", -" {pointscale }", -" {{title} \"title\"}", -"", -" `persist` を指定すると、各グラフはそれぞれ自身のウィンドウを持ち、その", -" すべてのウィンドウは `gnuplot` が終了した後も開いたままになります。", -" `server` を指定すると、全てのグラフは同じウィンドウ内に現われ、それは", -" `gnuplot` 終了後も開いたままになります。このオプションは、さらに追加の", -" 数引数を取り、その数字はサーバプロセスのインスタンスになります。よって", -" 同時に複数のサーバウィンドウを使うことができます。", -"", -" `widelines` を指定すると、全てのグラフは幅の広い線で描かれます。", -" `enhanced` を指定すると、上付き文字や下付き文字、複数のフォントを使う", -" ことができます (詳細は、以下参照: `enhanced text`)。コア PostScript フ", -" ォントのフォント名は 1 文字に省略できます", -" (T/H/C/S はそれぞれ Times/Helvetica/Courier/Symbol を意味します)。", -"", -" `linewidth`, `fontscale`, `pointscale` は、線幅、文字サイズ、点記号のサ", -" イズの変更に使えます。", -"", -" `title` を指定すると、それは描画ウィンドウのタイトルとして使われます。", -" それはサーバインスタンス名としても使われ、それは追加の数引数を上書きし", -" ます。", -"", -" gnuplot とは別のドライバである gnupmdrv.exe の場所は、gnuplot 自身が置", -" かれているディレクトリを探しますが、それは環境変数 GNUPLOT_DRIVER_DIR", -" か GNUPLOT を定義することで変更できます。最終的には、gnupmdrv.exe を見", -" つけるのにはカレントディレクトリと PATH を使用します。" -#endif /* JAPANESE_DOC */ -END_HELP(pm) -START_HELP(png) -#ifndef JAPANESE_DOC -"1 png", -"?commands set terminal png", -"?set terminal png", -"?set term png", -"?terminal png", -"?term png", -"?png", -" Syntax:", -" set terminal png ", -" {{no}enhanced}", -" {{no}transparent} {{no}interlace}", -" {{no}truecolor} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -"", -" PNG, JPEG and GIF images are created using the external library libgd.", -" PNG plots may be viewed interactively by piping the output to the", -" 'display' program from the ImageMagick package as follows:", -" set term png", -" set output '| display png:-'", -" You can view the output from successive plot commands interactively by typing", -" in the display window. To save the current plot to a file,", -" left click in the display window and choose `save`.", -"", -" `transparent` instructs the driver to make the background color transparent.", -" Default is `notransparent`.", -"", -" `interlace` instructs the driver to generate interlaced PNGs.", -" Default is `nointerlace`.", -"", -" The `linewidth` and `dashlength` options are scaling factors that affect all", -" lines drawn, i.e. they are multiplied by values requested in various drawing", -" commands.", -"", -" By default output png images use 256 indexed colors. The `truecolor` option", -" instead creates TrueColor images with 24 bits of color information per pixel.", -" Transparent fill styles require the `truecolor` option. See `fillstyle`.", -" A transparent background is possible in either indexed or TrueColor images.", -"", -" `butt` instructs the driver to use a line drawing method that does", -" not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", -"", -" The details of font selection are complicated.", -" Two equivalent simple examples are given below:", -" set term png font arial 11", -" set term png font \"arial,11\"", -" For more information please see the separate section under `fonts`.", -"", -" The output plot size is given in pixels---it defaults to 640x480.", -" Please see additional information under `canvas` and `set size`.", -" Blank space at the edges of the finished plot may be trimmed using the `crop`", -" option, resulting in a smaller final image size. Default is `nocrop`.", -"", -"2 examples", -"?set term png examples", -" set terminal png medium size 640,480 background '#ffffff'", -"", -" Use the medium size built-in non-scaleable, non-rotatable font.", -" Use white (24-bit RGB in hexadecimal) for the non-transparent background.", -"", -" set terminal png font arial 14 size 800,600", -"", -" Searches for a scalable font with face name 'arial' and sets the font", -" size to 14pt. Please see `fonts` for details of how the font search", -" is done.", -"", -" set terminal png transparent truecolor enhanced", -"", -" Use 24 bits of color information per pixel, with a transparent background.", -" Use the `enhanced text` mode to control the layout of strings to be printed.", -"" -#else /* JAPANESE_DOC */ -"1 png", -"?commands set terminal png", -"?set terminal png", -"?set term png", -"?terminal png", -"?term png", -"?png", -" 書式:", -" set terminal png ", -" {{no}enhanced}", -" {{no}transparent} {{no}interlace}", -" {{no}truecolor} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop}", -" {background }", -"", -" PNG, JPEG, GIF 画像は、外部ライブラリ libgd を使って生成されます。PNG", -" の描画は、ImageMagick パッケージのソフト 'display' にその出力を以下の", -" ようにパイプで渡すことで対話的に表示させることができます:", -" set term png", -" set output '| display png:-'", -" 次の描画コマンドからの出力は、display ウィンドウ上で対話的に ", -" を打つことで見ることができます。現在の描画をファイルに保存するには、", -" display ウィンドウで左クリックし、`save` を選択してください。", -"", -" `transparent` は、ドライバに背景色の透明化 (transparent) を行うよう指", -" 示します。デフォルトは `notransparent` です。", -"", -" `interlace` は、ドライバにインターレース GIF を生成するよう指示します。", -" デフォルトは `nointerlace` です。", -"", -" オプション `linewidth` と `dashlength` は拡大率で、描画されるすべての", -" 線に影響を与えます。すなわち、これらは様々な描画コマンドで要求される値", -" にかけ算されます。", -"", -" デフォルトでは、出力される PNG 画像は 256 個に番号付けられた色を使用し", -" ます。代わりにオプション `truecolor` を使えば、24 ビット/ピクセルの色", -" 情報を持つ TrueColor 画像が生成されます。透明化塗りつぶし (transparent", -" fill) を使用するときは、このオプション `truecolor` が必要になります。", -" 以下参照: `fillstyle`。背景の透明化は、番号付け画像か TrueColor 画像で", -" 可能です。", -"", -" `butt` は線分の描画で、その端の点でのはみだしを起こさない描画メソッド", -" を使うようドライバに指示します。この設定は、線幅が 1 より大きい場合に", -" のみ有効です。この設定は、水平線、垂直線の描画の場合に有用でしょう。", -" デフォルトは `rounded` (丸め) です。", -"", -" フォントの選択の詳細は、やや複雑です。", -" 以下に同じ意味を持つ簡単な例を示します:", -" set term png font arial 11", -" set term png font \"arial,11\"", -" より詳しい情報については、`fonts` の下の該当するセクションを参照してく", -" ださい。", -"", -" 出力描画サイズ はピクセル単位で与えます。デフォルトは 640x480 で", -" す。以下も参照: `canvas`, `set size`。", -" 描画終了後の端の余白は、オプション `crop` で取り除くことができ、その結", -" 果としてその画像サイズは小さくなります。デフォルトは `nocrop` です。", -"", -"2 例", -"?set term png examples", -" set terminal png medium size 640,480 background '#ffffff'", -"", -" この例は medium サイズの、大きさ変更不能で回転できない組み込みフォント", -" を使用し、透明化されない背景色として白 (16 進数の 24bit RGB) を使用しま", -" す。", -"", -" set terminal png font arial 14 size 800,600", -"", -" これは、'arial' というフェース名のスケーラブルフォントを検索し、フォン", -" トサイズを 14pt に設定します。フォントの検索がどのように行われるかにつ", -" いては以下参照: `fonts`。", -"", -" set terminal png transparent truecolor enhanced", -"", -" これは、24 ビット/ピクセルの色情報を使用し、背景を透明化します。そして", -" 表示される文字列の配置制御として `enhanced text` モードを使用します。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(png) -START_HELP(pngcairo) -#ifndef JAPANESE_DOC -"1 pngcairo", -"?set terminal pngcairo", -"?terminal pngcairo", -"?set term pngcairo", -"?term pngcairo", -"?pngcairo", -" The `pngcairo` terminal device generates output in png. The actual", -" drawing is done via cairo, a 2D graphics library, and pango, a library for", -" laying out and rendering text.", -"", -" Syntax:", -" set term pngcairo", -" {{no}enhanced} {mono|color}", -" {{no}transparent} {{no}crop} {background ", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {pointscale }", -" {size {unit},{unit}}", -"", -" This terminal supports an enhanced text mode, which allows font and other", -" formatting commands (subscripts, superscripts, etc.) to be embedded in labels", -" and other text strings. The enhanced text mode syntax is shared with other", -" gnuplot terminal types. See `enhanced` for more details.", -"", -" The width of all lines in the plot can be modified by the factor .", -"", -" `rounded` sets line caps and line joins to be rounded;", -" `butt` is the default, butt caps and mitered joins.", -"", -" The default size for the output is 640 x 480 pixels. The `size` option", -" changes this to whatever the user requests. By default the X and Y sizes are", -" taken to be in pixels, but other units are possible (currently cm and inch).", -" A size given in centimeters or inches will be converted into pixels assuming", -" a resolution of 72 dpi. Screen coordinates always run from 0.0 to 1.0 along", -" the full length of the plot edges as specified by the `size` option.", -"", -" is in the format \"FontFace,FontSize\", i.e. the face and the size", -" comma-separated in a single string. FontFace is a usual font face name, such", -" as \'Arial\'. If you do not provide FontFace, the pngcairo terminal will use", -" \'Sans\'. FontSize is the font size, in points. If you do not provide it,", -" the pngcairo terminal will use a size of 12 points.", -" For example :", -" set term pngcairo font \"Arial,12\"", -" set term pngcairo font \"Arial\" # to change the font face only", -" set term pngcairo font \",12\" # to change the font size only", -" set term pngcairo font \"\" # to reset the font name and size", -"", -" The fonts are retrieved from the usual fonts subsystems. Under Windows,", -" those fonts are to be found and configured in the entry \"Fonts\" of the", -" control panel. Under UNIX, they are handled by \"fontconfig\".", -"", -" Pango, the library used to layout the text, is based on utf-8. Thus, the pngcairo", -" terminal has to convert from your encoding to utf-8. The default input", -" encoding is based on your \'locale\'. If you want to use another encoding,", -" make sure gnuplot knows which one you are using. See `encoding` for more detail.", -"", -" Pango may give unexpected results with fonts that do not respect the unicode", -" mapping. With the Symbol font, for example, the pngcairo terminal will use the map", -" provided by http://www.unicode.org/ to translate character codes to unicode.", -" Note that \"the Symbol font\" is to be understood as the Adobe", -" Symbol font, distributed with Acrobat Reader as \"SY______.PFB\".", -" Alternatively, the OpenSymbol font, distributed with OpenOffice.org as", -" \"opens___.ttf\", offers the same characters. Microsoft has distributed a", -" Symbol font (\"symbol.ttf\"), but it has a different character set with", -" several missing or moved mathematic characters. If you experience problems", -" with your default setup (if the demo enhancedtext.dem is not displayed", -" properly for example), you probably have to install one of the Adobe or", -" OpenOffice Symbol fonts, and remove the Microsoft one.", -"", -" Rendering uses oversampling, antialiasing, and font hinting to the extent", -" supported by the cairo and pango libraries.", -"" -#else /* JAPANESE_DOC */ -"1 pngcairo", -"?set terminal pngcairo", -"?terminal pngcairo", -"?set term pngcairo", -"?term pngcairo", -"?pngcairo", -" 出力形式 `pngcairo` は、PNG 出力を生成します。実際の描画は、2D グラフ", -" ィックライブラリである cairo と、文字列の配置とレンダリング用のライブ", -" ラリ pango を経由して行われます。", -"", -" 書式:", -" set term pngcairo", -" {{no}enhanced} {mono|color}", -" {{no}transparent} {{no}crop} {background ", -" {font } {fontscale }", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {pointscale }", -" {size {unit},{unit}}", -"", -" この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし", -" ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に", -" 埋め込むことができます。拡張文字列処理モードの書式は他の gnuplot の出", -" 力形式と共通です。詳細は、以下参照: `enhanced`。", -"", -" 描画における全ての線の幅は、因子 で変更できます。", -"", -" `rounded` は、線の端や接合部を丸くします。", -" デフォルトの `butt` は尖った端と角張った接合部を使用します。", -"", -" PNG 出力のデフォルトのサイズは、640 x 480 ピクセルです。オプション", -" `size` は、これをユーザの指定するものへ変更します。デフォルトの X, Y", -" サイズの単位はピクセルですが、他の単位も使用可能です (現在は cm とイン", -" チ)。サイズを cm かインチで与えるとそれは、解像度 72 dpi でのピクセル", -" 数に変換されます。`size` オプションで指定されたことによる描画の端から", -" 端までの領域は、常にスクリーン座標の 0.0 から 1.0 に対応します。", -"", -" は、\"FontFace,FontSize\" の書式、つまりフォント名とサイズをカ", -" ンマで区切った一つの文字列として表記します。FontFace は、\'Arial\' の", -" ような通常のフォント名です。フォント名を与えない場合、pngcairo 出力形", -" 式では\'Sans\' が使用されます。FontSize はポイント単位でのフォントサイ", -" ズです。指定しない場合は、pngcairo 出力形式では 12 ポイントのサイズが", -" 使用されます。", -" 例 :", -" set term pngcairo font \"Arial,12\"", -" set term pngcairo font \"Arial\" # フォント名のみ変更", -" set term pngcairo font \",12\" # フォントサイズのみ変更", -" set term pngcairo font \"\" # フォント名とサイズをリセット", -"", -" フォントは、通常のフォント処理機構により取得されます。Windows では、フ", -" ォントはコントロールパネルの \"フォント\" の項目で構成され見つけられる", -" もので、UNIX では、フォントは \"fontconfig\" で処理されます。", -"", -" 文字列のレイアウトに使用されるライブラリ Pango は、utf-8 に基づいてい", -" ますので、pngcairo 出力形式では、文字コードを utf-8 に変換する必要があ", -" ります。デフォルトの入力文字コードは、あなたが使用している \'locale\'", -" に基づきます。他の文字コードにしたい場合は、あなたがどの文字コードを使", -" っているのかを確実に gnuplot がわかるようにしてください。詳細について", -" は、以下参照: `encoding`。", -"", -" pango は、unicode マッピングでないフォントに対しては予期せぬ結果を与え", -" るかもしれません。例えば Symbol フォントに対しては、pngcairo 出力形式", -" は、文字コードを unicode に変換するために http://www.unicode.org/ で提", -" 供されるマッピングを利用します。なお、\"the Symbol font\" は、Acrobat", -" Reader と一緒に \"SY______.PFB\" として配布されている Adobe Symbol フ", -" ォントであると解釈されることに注意してください。この代わりに、", -" OpenOffice.org と一緒に \"opens___.ttf\" として配布される OpenSymbol", -" フォントが同じ文字を提供しています。Microsoft も Symbol フォント", -" (\"symbol.ttf\") を配布していますが、これは異なる文字セットになってい", -" て、いくつかは欠けていますし、いくつかは数式記号に変わってしまっていま", -" す。あなたのデフォルトの設定でなんらかの問題が起きた場合 (例えばデモス", -" クリプト enhancedtext.dem がちゃんと表示されないといった場合) は、", -" Adobe か OpenOffice の Symbol フォントをインストールして、Microsoft の", -" Symbol フォントを削除しないといけないかもしれません。", -"", -" レンダリングは、cairo と pango ライブラリがサポートする範囲内で、オーバ", -" ーサンプリングとアンチエイリアス、フォントのヒンティングを行います。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(pngcairo) -START_HELP(post) -#ifndef JAPANESE_DOC -"1 postscript", -"?commands set terminal postscript", -"?set terminal postscript", -"?set term postscript", -"?terminal postscript", -"?term postscript", -"?postscript", -" Several options may be set in the `postscript` driver.", -"", -" Syntax:", -" set terminal postscript {default}", -" set terminal postscript {landscape | portrait | eps}", -" {enhanced | noenhanced}", -" {defaultplex | simplex | duplex}", -" {fontfile {add | delete} \"\"", -" | nofontfiles} {{no}adobeglyphnames}", -PS_COMMON_OPTS1 -PS_COMMON_OPTS2 -PS_COMMON_PROLOG_INFO -"", -" `landscape` and `portrait` choose the plot orientation.", -" `eps` mode generates EPS (Encapsulated PostScript) output, which is just", -" regular PostScript with some additional lines that allow the file to be", -" imported into a variety of other applications. (The added lines are", -" PostScript comment lines, so the file may still be printed by itself.) To", -" get EPS output, use the `eps` mode and make only one plot per file. In `eps`", -" mode the whole plot, including the fonts, is reduced to half of the default", -" size.", -"", -" `enhanced` enables enhanced text mode features (subscripts,", -" superscripts and mixed fonts). See `enhanced` for more information.", -" `blacktext` forces all text to be written in black even in color mode;", -"", -" Duplexing in PostScript is the ability of the printer to print on both", -" sides of the same sheet of paper. With `defaultplex`, the default setting", -" of the printer is used; with `simplex` only one side is printed; `duplex`", -" prints on both sides (ignored if your printer can't do it).", -"", -" `\"\"` is the name of a valid PostScript font; and `` is", -" the size of the font in PostScript points.", -" In addition to the standard postscript fonts, an oblique version of the", -" Symbol font, useful for mathematics, is defined. It is called", -" \"Symbol-Oblique\".", -"", -" `default` sets all options to their defaults: `landscape`, `monochrome`,", -" `dl 1.0`, `lw 1.0`, `defaultplex`, `enhanced`, \"Helvetica\" and", -" 14pt. Default size of a PostScript plot is 10 inches wide and 7 inches high.", -PS_COMMON_DOC1 -" Fonts listed by `fontfile` or `fontfile add` encapsulate the font", -" definitions of the listed font from a postscript Type 1 or TrueType font", -" file directly into the gnuplot output postscript file. Thus, the enclosed", -" font can be used in labels, titles, etc. See the section", -" `postscript fontfile` for more details. With `fontfile delete`, a fontfile", -" is deleted from the list of embedded files. `nofontfiles` cleans the list", -" of embedded fonts.", -"", -" Examples:", -" set terminal postscript default # old postscript", -" set terminal postscript enhanced # old enhpost", -" set terminal postscript landscape 22 # old psbig", -" set terminal postscript eps 14 # old epsf1", -" set terminal postscript eps 22 # old epsf2", -" set size 0.7,1.4; set term post portrait color \"Times-Roman\" 14", -" set term post \"VAGRoundedBT_Regular\" 14 fontfile \"bvrr8a.pfa\"", -"", -" Linewidths and pointsizes may be changed with `set style line`.", -"", -" The `postscript` driver supports about 70 distinct pointtypes, selectable", -" through the `pointtype` option on `plot` and `set style line`.", -"", -" Several possibly useful files about `gnuplot`'s PostScript are included", -" in the /docs/psdoc subdirectory of the `gnuplot` distribution and at the", -" distribution sites. These are \"ps_symbols.gpi\" (a `gnuplot` command file", -" that, when executed, creates the file \"ps_symbols.ps\" which shows all the", -" symbols available through the `postscript` terminal), \"ps_guide.ps\" (a", -" PostScript file that contains a summary of the enhanced syntax and a page", -" showing what the octal codes produce with text and symbol fonts),", -" \"ps_file.doc\" (a text file that contains a discussion of the organization", -" of a PostScript file written by `gnuplot`), and \"ps_fontfile_doc.tex\"", -" (a LaTeX file which contains a short documentation concerning the", -" encapsulation of LaTeX fonts with a glyph table of the math fonts).", -"", -" A PostScript file is editable, so once `gnuplot` has created one, you are", -" free to modify it to your heart's desire. See the `editing postscript`", -" section for some hints.", -"2 editing postscript", -"?commands set terminal postscript editing", -"?set terminal postscript editing", -"?set term postscript editing", -"?terminal postscript editing", -"?term postscript editing", -"?editing_postscript", -"?editing postscript", -" The PostScript language is a very complex language---far too complex to", -" describe in any detail in this document. Nevertheless there are some things", -" in a PostScript file written by `gnuplot` that can be changed without risk of", -" introducing fatal errors into the file.", -"", -" For example, the PostScript statement \"/Color true def\" (written into the", -" file in response to the command `set terminal postscript color`), may be", -" altered in an obvious way to generate a black-and-white version of a plot.", -" Similarly line colors, text colors, line weights and symbol sizes can also be", -" altered in straight-forward ways. Text (titles and labels) can be edited to", -" correct misspellings or to change fonts. Anything can be repositioned, and", -" of course anything can be added or deleted, but modifications such as these", -" may require deeper knowledge of the PostScript language.", -"", -" The organization of a PostScript file written by `gnuplot` is discussed in", -" the text file \"ps_file.doc\" in the docs/ps subdirectory of the gnuplot", -" source distribution.", -"2 postscript fontfile", -"?commands set terminal postscript fontfile", -"?set terminal postscript fontfile", -"?set term postscript fontfile", -"?terminal postscript fontfile", -"?term postscript fontfile", -"?postscript fontfile", -"?fontfile", -" set term postscript ... fontfile {add|delete} ", -" The `fontfile` or `fontfile add` option takes one file name as argument", -" and encapsulates this file into the postscript output in order to make", -" this font available for text elements (labels, tic marks, titles, etc.).", -" The `fontfile delete` option also takes one file name as argument. It", -" deletes this file name from the list of encapsulated files.", -"", -" The postscript terminal understands some", -" font file formats: Type 1 fonts in ASCII file format (extension \".pfa\"),", -" Type 1 fonts in binary file format (extension \".pfb\"), and TrueType", -" fonts (extension \".ttf\"). pfa files are understood directly, pfb and ttf", -" files are converted on the fly if appropriate conversion tools are", -" installed (see below). You have to specify the full filename including the", -" extension. Each `fontfile` option takes exact one font file name. This", -" option can be used multiple times in order to include more than one font", -" file.", -"", -" The search order used to find font files is", -" (1) absolute pathname or current working directory", -" (2) any of the directories specified by `set loadpath`", -" (3) the directory specified by `set fontpath`", -" (4) the directory given in environmental variable GNUPLOT_FONTPATH.", -" NB: This is a CHANGE from earlier versions of gnuplot.", -"", -" For using the encapsulated font file you have to specify the font name", -" (which normally is not the same as the file name). When embedding a", -" font file by using the `fontfile` option in interactive mode, the ", -" font name is printed on the screen. E.g.", -" Font file 'p052004l.pfb' contains the font 'URWPalladioL-Bold'. Location:", -" /usr/lib/X11/fonts/URW/p052004l.pfb", -"", -" When using pfa or pfb fonts, you can also find it out by looking into the", -" font file. There is a line similar to \"/FontName /URWPalladioL-Bold def\".", -" The middle string without the slash is the fontname, here", -" \"URWPalladioL-Bold\".", -" For TrueType fonts, this is not so easy since the font name is stored in a", -" binary format. In addition, they often have spaces in the font names which", -" is not supported by Type 1 fonts (in which a TrueType is converted on the", -" fly). The font names are changed in order to eliminate the spaces in the", -" fontnames. The easiest way to find out which font name is generated for", -" use with gnuplot, start gnuplot in interactive mode and type in", -" \"set terminal postscript fontfile ''\".", -"", -" For converting font files (either ttf or pfb) to pfa format, the conversion", -" tool has to read the font from a file and write it to standard output. If", -" the output cannot be written to standard output, on-the-fly conversion is", -" not possible.", -"", -" For pfb files \"pfbtops\" is a tool which can do this. If this program", -" is installed on your system the on the fly conversion should work.", -" Just try to encapsulate a pfb file. If the compiled in program call does", -" not work correctly you can specify how this program is called by", -" defining the environment variable GNUPLOT_PFBTOPFA e.g. to", -" \"pfbtops %s\". The `%s` will be replaced by the font file name and thus", -" has to exist in the string.", -"", -" If you don't want to do the conversion on the fly but get a pfa file of", -" the font you can use the tool \"pfb2pfa\" which is written in simple c", -" and should compile with any c compiler.", -" It is available from many ftp servers, e.g.", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/utilities/ps2mf/", -"^ ", -" In fact, \"pfbtopfa\" and \"pfb2ps\" do the same job. \"pfbtopfa\" puts", -" the resulting pfa code into a file, whereas \"pfbtops\" writes it to", -" standard output.", -"", -" TrueType fonts are converted into Type 1 pfa format, e.g.", -" by using the tool \"ttf2pt1\" which is available from", -"^ ", -" http://ttf2pt1.sourceforge.net/", -"^ ", -" If the builtin conversion does not", -" work, the conversion command can be changed by the environment variable", -" GNUPLOT_TTFTOPFA. For usage with ttf2pt1 it may be set to", -" \"ttf2pt1 -a -e -W 0 %s - \". Here again, `%s` stands for the", -" file name.", -"", -" For special purposes you also can use a pipe (if available for your", -" operating system). Therefore you start the file name definition with ", -" the character \"<\" and append a program call. This program has ", -" to write pfa data to standard output. Thus, a pfa file may be accessed", -" by `set fontfile \"< cat garamond.pfa\"`.", -"", -" For example, including Type 1 font files can be used for including the", -" postscript output in LaTeX documents. The \"european computer modern\"", -" font (which is a variant of the \"computer modern\" font) is available", -" in pfb format from any CTAN server, e.g.", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/ps-type1/cm-super/", -"^ ", -" For example, the file \"sfrm1000.pfb\" contains the normal upright fonts", -" with serifs in the design size 10pt (font name \"SFRM1000\").", -" The computer modern fonts, which are still necessary for mathematics,", -" are available from", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/cm/ps-type1/bluesky", -"^ ", -" With these you can use any character available in TeX. However, the", -" computer modern fonts have a strange encoding. (This is why you should not", -" use cmr10.pfb for text, but sfrm1000.pfb instead.)", -" The usage of TeX fonts is shown in one of the demos.", -" The file \"ps_fontfile_doc.tex\" in the /docs/psdoc subdirectory of the", -" `gnuplot` source distribution contains a table with glyphs of the TeX", -" mathfonts.", -"", -" If the font \"CMEX10\" is embedded (file \"cmex10.pfb\") gnuplot defines", -" the additional font \"CMEX10-Baseline\". It is shifted vertically in order", -" to fit better to the other glyphs (CMEX10 has its baseline at the top of", -" the symbols).", -"2 postscript prologue", -"?commands set terminal postscript prologue", -"?set terminal postscript prologue", -"?terminal postscript prologue", -"?postscript prologue", -"?prologue", -" Each PostScript output file includes a %%Prolog section and possibly some", -" additional user-defined sections containing, for example, character encodings.", -" These sections are copied from a set of PostScript prologue files that are", -" either compiled into the gnuplot executable or stored elsewhere on your", -" computer. A default directory where these files live is set at the time", -" gnuplot is built. However, you can override this default either by using the", -" gnuplot command `set psdir` or by defining an environment variable", -" GNUPLOT_PS_DIR. See `set psdir`.", -"2 postscript adobeglyphnames", -"?commands set terminal postscript adobeglyphnames", -"?set terminal postscript adobeglyphnames", -"?terminal postscript adobeglyphnames", -"?postscript adobeglyphnames", -"?adobeglyphnames", -"=UTF-8", -" This setting is only relevant to PostScript output with UTF-8 encoding.", -" It controls the names used to describe characters with Unicode entry points", -" higher than 0x00FF. That is, all characters outside of the Latin1 set.", -" In general unicode characters do not have a unique name; they have only a", -" unicode identification code. However, Adobe have a recommended scheme for", -" assigning names to certain ranges of characters (extended Latin, Greek, etc).", -" Some fonts use this scheme, others do not. By default, gnuplot will use", -" the Adobe glyph names. E.g. the lower case Greek letter alpha will be called", -" /alpha. If you specific `noadobeglyphnames` then instead gnuplot will use", -" /uni03B1 to describe this character. If you get this setting wrong, the", -" character may not be found even if it is present in the font.", -" It is probably always correct to use the default for Adobe fonts, but for", -" other fonts you may have to try both settings. See also `fontfile`.", -"", -"" -#else /* JAPANESE_DOC */ -"1 postscript", -"?commands set terminal postscript", -"?set terminal postscript", -"?set term postscript", -"?terminal postscript", -"?term postscript", -"?postscript", -" `postscript` ドライバではいくつかのオプションが設定できます。", -"", -" 書式:", -" set terminal postscript {default}", -" set terminal postscript {landscape | portrait | eps}", -" {enhanced | noenhanced}", -" {defaultplex | simplex | duplex}", -" {fontfile {add | delete} \"\"", -" | nofontfiles} {{no}adobeglyphnames}", -PS_COMMON_OPTS1 -PS_COMMON_OPTS2 -PS_COMMON_PROLOG_INFO -"", -" `landscape` と `portrait` は出力が横置か、縦置かを選択します。", -" `eps` モードは EPS (Encapsulated PostScript) 出力を生成しますが、これ", -" は通常の PostScript に、それを他の多くのアプリケーションで取り込むこと", -" ができるようにいくつかの行を追加したものです (追加される行は PostScript", -" のコメント行なので、よってそれ自身もちゃんと印刷できます)。EPS 出力を", -" 得るには `eps` モードを使用し、1 つのファイルには 1 つのグラフのみ、と", -" してください。`eps` モードではフォントも含めてグラフ全体がデフォルトの", -" 大きさの半分に縮められます。", -"", -" `enhanced` は拡張文字列処理モード (上付き文字、下付き文字、および複数", -" のフォントの利用) の機能を有効にします。詳細は、以下参照: `enhanced`。", -" `blacktext` は、たとえカラーモードでも全ての文字列を黒で書きます。", -"", -" PostScript の両面印刷命令 (duplex) は、プリンタで 1 枚の紙に両面印刷す", -" ることを可能にします。`defaultplex` はプリンタのデフォルトの設定を使用", -" し、`simplex` は紙の片面のみ印刷、`duplex` は 両面印刷を行ないます (あ", -" なたのプリンタがそれを行なえないなら無視されます)。", -"", -" `\"\"` は有効な PostScript フォントの名前で、`` は", -" PostScript ポイント単位でのフォントの大きさです。", -" 標準的な postscript フォント以外に、数式を表現するのに便利な oblique", -" Symbol フォント (\"Symbol-Oblique\") が定義されています。", -"", -" `default` は全てのオプションを以下のデフォルトの値に設定します:", -" `landscape`, `monochrome`, `dl 1.0`, `lw 1.0`, `defaultplex`,", -" `enhanced`, \"Helvetica\", 14pt。PostScript のグラフのデフォルトの大き", -" さは、10 インチの幅で 7 インチの高さです。", -PS_COMMON_DOC1 -" `fontfile` や `fontfile add` で指定されたフォントは、そのフォントのフ", -" ォント定義を直接 postscript Type 1, TrueType フォントから gnuplot の", -" postscript 出力の中にカプセル化します。よって、その埋め込まれたフォン", -" トは見出し、タイトルなどに使うことができます。詳細は、以下参照:", -" `postscript fontfile`。`fontfile delete` によってフォントファイルを埋", -" め込まれるファイルの一覧から取り除くことができます。", -" `nofontfiles` は埋め込みフォントのリストをクリアします。", -"", -" 例:", -" set terminal postscript default # 以前の postscript", -" set terminal postscript enhanced # 以前の enhpost", -" set terminal postscript landscape 22 # 以前の psbig", -" set terminal postscript eps 14 # 以前の epsf1", -" set terminal postscript eps 22 # 以前の epsf2", -" set size 0.7,1.4; set term post portrait color \"Times-Roman\" 14", -" set term post \"VAGRoundedBT_Regular\" 14 fontfile \"bvrr8a.pfa\"", -"", -" 線の幅と点の大きさは `set style line` で変更できます。", -"", -" `postscript` ドライバは約 70 種類の異なる点種をサポートしていて、これ", -" は `plot` や `set style line` の `pointtype` オプションで選択できます。", -"", -" `gnuplot` と Postscript に関する多分有用と思われるファイルが `gnuplot`", -" の配布物、またはその配布サイトの /docs/psdos サブディレクトリ内にいく", -" つか含まれています。そこには \"ps_symbols.gpi\" (実行すると `postscript`", -" ドライバで使える全ての記号を紹介する \"ps_symbols.ps\" というファイルを生", -" 成する `gnuplot` のコマンドファイル)、\"ps_guide.ps\" (拡張された書式に", -" 関する要約と、文字列内で 8 進コードで生成されるもの、symbol フォント等", -" を含む PostScript ファイル)、\"ps_file.doc\" (`gnuplot` で作られる", -" PostScript ファイルの構造の説明を含むテキストファイル)、", -" \"ps_fontfile_doc.tex\" (数式フォントの文字の一覧と LaTeX のフォントの埋", -" め込みに関する短い説明を含む LaTeX ファイル) があります。", -"", -" PostScript ファイルは編集可能で、一度 `gnuplot` でそれを作れば、それを", -" 望むように修正することは自由に行なえます。そのためのヒントを得るには、", -" 以下参照: `editing postscript`。", -"2 PostScript の編集 (editing postscript)", -"?commands set terminal postscript editing", -"?set terminal postscript editing", -"?set term postscript editing", -"?terminal postscript editing", -"?term postscript editing", -"?editing_postscript", -"?editing postscript", -" PostScript 言語はとても複雑な言語で、ここで詳細を記述することはとても", -" できません。それでも、`gnuplot` で作られる PostScript ファイルには、致", -" 命的なエラーをそのファイルに導入してしまう危険性のない変更を行なうこと", -" が可能な部分があります。", -"", -" 例えば、PostScript の文 \"/Color true def\" (`set terminal postscript color`", -" コマンドに答えてファイルに書き込まれます) を変更して、その描画を白黒の", -" ものにする方法はおわかりでしょう。同様に、線の色、文字の色、線の太さ", -" (weight)、記号のサイズも、本当に簡単に書き換えられるでしょう。タイトル", -" や見出しなどの文字列の誤植や、フォントの変更も編集可能でしょう。任意の", -" ものの配置も変更できますし、もちろん、任意のものを追加したり、削除した", -" りもできますが、それらの修正は PostScript 言語の深い知識が必要でしょう。", -"", -" `gnuplot` によって作られる PostScript ファイルの構成に関しては、gnuplot", -" のソース配布物内の docs/ps ディレクトリのテキストファイル \"ps_file.doc\"", -" に述べられています。", -"2 postscript fontfile", -"?commands set terminal postscript fontfile", -"?set terminal postscript fontfile", -"?set term postscript fontfile", -"?terminal postscript fontfile", -"?term postscript fontfile", -"?postscript fontfile", -"?fontfile", -" set term postscript ... fontfile {add|delete} ", -" オプション `fontfile` または `fontfile add` は 1 つのファイル名を引数", -" として持ち、そのファイルを postscript 出力内にカプセル化して埋め込み、", -" それによって様々な文字列要素 (ラベル、目盛り見出し、タイトル等) をその", -" フォントで出力することを可能にします。オプション `fontfile delete` も", -" 1 つのファイル名を引数に持ち、そのファイル名をカプセル化されるファイル", -" のリストから削除します。", -"", -" postscript 出力ドライバはいくつかのフォントファイル形式を認識します:", -" ASCII 形式の Type 1 フォント (拡張子 \".pfa\")、バイナリ形式の Type 1 フ", -" ォント (拡張子 \".pfb\")、TrueType フォント (拡張子 \".ttf\")。pfa ファイ", -" ルは直接認識されますが、pfb と ttf ファイルは gnuplot の実行中に並行し", -" て変換され、そのために適切な変換ツール (下記参照) がインストールされて", -" いる必要があります。ファイル名は拡張子も含めて完全な形で指定する必要が", -" あります。各 `fontfile` オプションはちょうど一つのフォントファイル名に", -" 対応しますので、複数のフォントファイルを埋め込むためにはこのオプション", -" を複数回使って下さい。", -"", -" フォントファイルを見つけるための検索順は以下の通りです。", -" (1) 絶対パス名、または現在の作業ディレクトリ (カレントディレクトリ)", -" (2) `set loadpath` で指定したディレクトリのすべて", -" (3) `set fontpath` で指定したディレクトリ", -" (4) 環境変数 GNUPLOT_FONTPATH に指定されているディレクトリ", -" 注意: これは、従来の版の gnuplot からの仕様の「変更」です。", -"", -" 埋め込まれたフォントファイルを使うには、フォント名 (通常ファイル名と同", -" じではありません) を指定する必要があります。対話モードで `fontfile` オ", -" プションを使ってフォントを埋め込んだ場合、フォント名はスクリーンに表示", -" されます。例:", -" Font file 'p052004l.pfb' contains the font 'URWPalladioL-Bold'. Location:", -" /usr/lib/X11/fonts/URW/p052004l.pfb", -"", -" pfa や pfb フォントでは、フォント名はフォントファイル内に見つけること", -" ができます。フォントファイル中に \"/FontName /URWPalladioL-Bold def\" の", -" ような行がありますが、この真中の物から / を除いたものがフォント名です。", -" この例の場合は \"URWPalladioL-Bold\" となります。", -" TrueType フォントでは、フォント名はバイナリ形式で保存されているので見", -" つけるのは容易ではありません。さらに、その名前は多くの場合、Type 1 フ", -" ォント (実行中に TrueType が変換される形式である) ではサポートされてい", -" ない、スペースを含んだ形式になっています。そのため、フォント名はそこか", -" らスペースを取り除いた形に変換されます。gnuplot で使うために生成された", -" フォント名が何であるかを知る最も簡単な方法は、gnuplot を対話モードで起", -" 動して、以下のように入力することです:", -" \"set terminal postscript fontfile ''\".", -"", -" フォントファイル (ttf, pfb) を pfa 形式に変換するために、フォントファ", -" イルを読んで、そして変換結果を標準出力に吐き出す変換ツールが必要になり", -" ます。その出力を標準出力に書き出すことができない場合、実行中の変換はで", -" きません。", -"", -" pfb ファイルに対しては、例えば \"pfbtops\" が使えます。それがシステム", -" にインストールされていれば、実行中の変換はうまく行くはずです。pfb ファ", -" イルのカプセル化をちょっとやってみましょう。もしプログラムの変換時に正", -" しくツールを呼び出していない場合は、どのようにツールを呼び出したら良い", -" かを環境変数 GNUPLOT_PFBTOPFA に、例えば \"pfbtops %s\" のように定義し", -" て下さい。`%s` はフォントファイル名に置き換えられますので、これはその", -" 文字列に必ず必要です。", -"", -" 実行中の変換をしたくなくて、けれども pfa 形式のファイルは必要である場", -" 合、\"pfb2pfa\" という C で書かれた簡単なツールを使えば良いでしょう。こ", -" れは大抵の C コンパイラでコンパイルでき、たくさんの ftp サーバに置いて", -" あります。例えば", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/utilities/ps2mf/", -"^ ", -" 実際に \"pfbtopfa\" と \"pfb2ps\" は同じ作業を行います。\"pfbtops\" は結果の", -" pfa コードを標準出力に出力しますが、\"pfbtopfa\" はファイルに出力します。", -"", -" TrueType フォントは、例えば \"ttf2pt1\" というツールを使って Type 1 pfa", -" フォーマットに変換できます。これは以下にあります:", -"^ ", -" http://ttf2pt1.sourceforge.net/", -"^ ", -" もし gnuplot に組み込まれている変換手順がうまく行かない場合、変換コマ", -" ンドは環境変数 GNUPLOT_TTFTOPFA で変更できます。ttf2pt1 を使う場合は、", -" それを \"ttf2pt1 -a -e -W 0 %s - \" のように設定して下さい。ここでも", -" `%s` はファイル名を意味します。", -"", -" 特殊な用途のために、パイプも使えるようになっています (パイプをサポート", -" している OS 上で)。ファイル名を \"<\" で始め、その後にプログラム呼び出し", -" を追加します。そのプログラム出力は標準出力への pfa データでなければい", -" けません。結果として pfa ファイルを、例えば以下のようにしてアクセスで", -" きることになります: `set fontfile \"< cat garamond.pfa\"`。", -"", -" Type 1 フォントを取り込むことは、例えば LaTeX 文書中に postscript ファ", -" イルを取り込む場合に使えます。pfb 形式の \"european computer modern\" フ", -" ォント (\"computer modern\" フォントの一種) が各地の CTAN サーバに置かれ", -" ています。", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/ps-type1/cm-super/", -"^ ", -" 例えば、ファイル \"sfrm1000.pfb\" は、中太、セリフ付き、立体の 10 ポイン", -" トのフォント (フォント名 \"SFRM1000\") です。computer modern フォントは", -" 今でも数式を書くのに必要ですが、それは以下にあります:", -"^ ", -" ftp://ftp.dante.de/tex-archive/fonts/cm/ps-type1/bluesky", -"^ ", -" これらによって、TeX 用の任意の文字も使えます。しかし、computer modern", -" フォントは少しエンコーディングがおかしくなっています (このため、文字列", -" には cmr10.pfb の代わりに sfrm1000.pfb を使うべきです)。", -" TeX フォントの使用法はいくつかのデモの一つで知ることができます。", -" `gnuplot` のソース配布物の /docs/psdoc に含まれるファイル", -" \"ps_fontfile_doc.tex\" に TeX 数学フォントの文字の一覧表が含まれていま", -" す。", -"", -" フォント \"CMEX10\" (ファイル \"cmex10.pfb\") を埋め込むと、gnuplot は", -" 追加フォント \"CMEX10-Baseline\" も定義します。それは、他の文字にあうよ", -" うに垂直方向にずらされたものです (CMEX10 は、記号の天辺にベースライン", -" があります)。", -"2 PostScript prologue ファイル", -"?commands set terminal postscript prologue", -"?set terminal postscript prologue", -"?terminal postscript prologue", -"?postscript prologue", -"?prologue", -" 各 PostScript 出力ファイルは %%Prolog セクションを含みますし、例えば文", -" 字エンコーディングなどを含む追加ユーザ定義セクションを含むかもしれませ", -" せん。これらのセクションは、gnuplot の実行ファイル中にコンパイルされて", -" いる、あるいはあなたのコンピュータの別のところに保存されている", -" PostScript prologue ファイル群からコピーされます。これらのファイルが置", -" かれるデフォルトのディレクトリは、gnuplot のインストール時に設定されま", -" すが、このデフォルトは gnuplot コマンドの `set psdir` を使うか、環境変", -" 数 GNUPLOT_PS_DIR を定義することで変更できます。以下参照: `set psdir`。", -"2 postscript adobeglyphnames", -"?commands set terminal postscript adobeglyphnames", -"?set terminal postscript adobeglyphnames", -"?terminal postscript adobeglyphnames", -"?postscript adobeglyphnames", -"?adobeglyphnames", -"=UTF-8", -" この設定は、UTF-8 エンコーディングでの PostScript 出力にのみ関係します。", -" これは、0x00FF より大きい Unicode エントリポイント (つまり Latin1 集合", -" 外のすべて) の文字を記述するのに使われる名前を制御します。一般に、", -" unicode 文字は一意の名前を持たず、それは unicode 識別番号しか持ちませ", -" ん。しかし、Adobe は、ある範囲の文字 (拡張ラテン文字、ギリシャ文字等)", -" に名前を割り当てる推奨規則を持っています。フォントによってはこの規則を", -" 利用しているものありますし、そうでないものもあります。gnuplot はデフォ", -" ルトでは Adobe グリフ名を使用します。例えば、ギリシャ文字の小文字のア", -" ルファは /alpha となります。`noadobeglyphnames` を指定した場合、この文", -" 字に対して gnuplot は代わりに /uni03B1 を使おうとします。", -" この設定でおかしくなったとすれば、それはその文字がフォント内にあるにも", -" かかわらずそれが見つからない場合です。Adobe フォントに対しては、デフォ", -" ルトを使うのが常に正しいかもしれませんが、他のフォントでは両方の設定を", -" 試してみないといけないかもしれません。以下も参照: `fontfile`。", -"", -"" -#endif /* JAPANESE_DOC */ -END_HELP(post) -START_HELP(pslatex) -#ifndef JAPANESE_DOC -"1 pslatex and pstex", -"?commands set terminal pslatex", -"?set terminal pslatex", -"?set term pslatex", -"?terminal pslatex", -"?term pslatex", -"?pslatex", -"?commands set terminal pstex", -"?set terminal pstex", -"?set term pstex", -"?terminal pstex", -"?term pstex", -"?pstex", -" The `pslatex` driver generates output for further processing by LaTeX,", -" while the `pstex` driver generates output for further processing by", -" TeX. `pslatex` uses \\specials understandable by dvips and xdvi. Figures", -" generated by `pstex` can be included in any plain-based format (including", -" LaTeX).", -"", -" Syntax:", -" set terminal [pslatex | pstex] {default}", -" set terminal [pslatex | pstex]", -" {rotate | norotate}", -" {oldstyle | newstyle}", -" {auxfile | noauxfile}", -PS_COMMON_OPTS1 -" {}", -"", -PS_COMMON_PROLOG_INFO -PS_COMMON_DOC1 -" if `rotate` is specified, the y-axis label is rotated.", -" is the size (in pts) of the desired font.", -"", -" If `auxfile` is specified, it directs the driver to put the PostScript", -" commands into an auxiliary file instead of directly into the LaTeX file.", -" This is useful if your pictures are large enough that dvips cannot handle", -" them. The name of the auxiliary PostScript file is derived from the name of", -" the TeX file given on the `set output` command; it is determined by replacing", -" the trailing `.tex` (actually just the final extent in the file name) with", -" `.ps` in the output file name, or, if the TeX file has no extension, `.ps`", -" is appended. The `.ps` is included into the `.tex` file by a", -" \\special{psfile=...} command. Remember to close the `output file` before", -" next plot unless in `multiplot` mode.", -"", -" Gnuplot versions prior to version 4.2 generated plots of the size", -" 5 x 3 inches using the ps(la)tex terminal while the current version generates", -" 5 x 3.5 inches to be consistent with the postscript eps terminal. In", -" addition, the character width is now estimated to be 60% of the font size", -" while the old epslatex terminal used 50%. To reach the old format specify", -" the option `oldstyle`.", -"", -" The pslatex driver offers a special way of controlling text positioning: ", -" (a) If any text string begins with '{', you also need to include a '}' at the", -" end of the text, and the whole text will be centered both horizontally", -" and vertically by LaTeX. (b) If the text string begins with '[', you need", -" to continue it with: a position specification (up to two out of t,b,l,r),", -" ']{', the text itself, and finally, '}'. The text itself may be anything", -" LaTeX can typeset as an LR-box. \\rule{}{}'s may help for best positioning.", -"", -" The options not described here are identical to the `Postscript terminal`.", -" Look there if you want to know what they do.", -"", -" Examples:", -" set term pslatex monochrome rotate # set to defaults", -" To write the PostScript commands into the file \"foo.ps\":", -" set term pslatex auxfile", -" set output \"foo.tex\"; plot ...; set output", -" About label positioning:", -" Use gnuplot defaults (mostly sensible, but sometimes not really best):", -" set title '\\LaTeX\\ -- $ \\gamma $'", -" Force centering both horizontally and vertically:", -" set label '{\\LaTeX\\ -- $ \\gamma $}' at 0,0", -" Specify own positioning (top here):", -" set xlabel '[t]{\\LaTeX\\ -- $ \\gamma $}'", -" The other label -- account for long ticlabels:", -" set ylabel '[r]{\\LaTeX\\ -- $ \\gamma $\\rule{7mm}{0pt}}'", -"", -" Linewidths and pointsizes may be changed with `set style line`." -"" -#else /* JAPANESE_DOC */ -"1 pslatex and pstex", -"?commands set terminal pslatex", -"?set terminal pslatex", -"?set term pslatex", -"?terminal pslatex", -"?term pslatex", -"?pslatex", -"?commands set terminal pstex", -"?set terminal pstex", -"?set term pstex", -"?terminal pstex", -"?term pstex", -"?pstex", -" `pslatex` ドライバは LaTeX で後処理される出力を生成し、`pstex` ドライ", -" バは TeX で後処理される出力を生成します。`pslatex` は dvips と xdvi で", -" 認識可能な \\special 命令を使用します。`pstex` で生成される図は、任意", -" の plain-TeX ベースの TeX (LaTeX もそうです) で取り込むことができます。", -"", -" 書式:", -" set terminal [pslatex | pstex] {default}", -" set terminal [pslatex | pstex]", -" {rotate | norotate}", -" {oldstyle | newstyle}", -" {auxfile | noauxfile}", -PS_COMMON_OPTS1 -" {}", -"", -PS_COMMON_PROLOG_INFO -PS_COMMON_DOC1 -" `rotate` が指定されると y 軸の見出しが回転されます。", -" は希望するフォントの (ポイント単位での) 大きさです。", -"", -" `auxfile` が指定されると、ドライバは PostScript コマンドを、LaTeX ファ", -" イルに直接出力する代わりに、補助ファイルに書き出すようになります。これ", -" は、dvips がそれを扱えないくらい大きいグラフである場合に有用です。補助", -" PostScript ファイルの名前は、`set output` コマンドで与えられる TeX フ", -" ァイルの名前から導かれるもので、それはその最後の `.tex` の部分 (実際の", -" ファイル名の最後の拡張子の部分) を `.ps` で置き換えたもの、または、TeX", -" ファイルに拡張子がないならば `.ps` を最後に付け足したものになります。", -" `.ps` ファイルは \\special{psfile=...} という命令で `.tex` ファイルに", -" 取り込まれます。`multiplot` モード以外では、次の描画を行なう前にその出", -" 力ファイルをクローズするのを忘れないでください。", -"", -" version 4.2 より前の gnuplot は ps(la)tex 出力形式では 5 x 3 インチの", -" 出力でしたが、現在では 5 x 3.5 インチになっています。これは postscript", -" eps 出力形式に合わせた変更です。加えて、文字幅は、以前の epslatex 出力", -" 形式はフォントサイズの 50% と見なしましたが、現在は 60% と評価していま", -" す。従来の形式に戻すには、オプション `oldstyle` を指定してください。", -"", -" pslatex ドライバは文字列の配置の制御に特別な方法を提供します:", -" (a) '{' で始まる文字列は、'}' で閉じる必要がありますが、その文字列全体", -" が LaTeX によって水平方向にも垂直方向にもセンタリングされます。", -" (b) '[' で始まる文字列の場合は、位置の指定をする文字列 (t,b,l,r のうち", -" 2 つまで) が続き、次に ']{'、文字列本体、で最後に '}' としますが、この", -" 文字列は LaTeX が LR-box として整形します。\\rule{}{} を使えばさらに良", -" い位置合わせが可能でしょう。", -"", -" ここに記述されていないオプションは `Postscript terminal` のものと同一で", -" すので、それらが何を行なうのかを知りたければそちらを参照してください。", -"", -" 例:", -" set term pslatex monochrome rotate # デフォルトに設定", -" PostScript コマンドを \"foo.ps\" に書き出す:", -" set term pslatex auxfile", -" set output \"foo.tex\"; plot ...; set output", -" 見出しの位置合わせに関して:", -" gnuplot のデフォルト (大抵それなりになるが、そうでないこともある):", -" set title '\\LaTeX\\ -- $ \\gamma $'", -" 水平方向にも垂直方向にもセンタリング:", -" set label '{\\LaTeX\\ -- $ \\gamma $}' at 0,0", -" 位置を明示的に指定 (上に合わせる):", -" set xlabel '[t]{\\LaTeX\\ -- $ \\gamma $}'", -" 他の見出し -- 目盛りの長い見出しに対する見積り:", -" set ylabel '[r]{\\LaTeX\\ -- $ \\gamma $\\rule{7mm}{0pt}}'", -"", -" 線幅と点の大きさは `set style line` で変更できます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(pslatex) -START_HELP(pstricks) -#ifndef JAPANESE_DOC -"1 pstricks", -"?commands set terminal pstricks", -"?set terminal pstricks", -"?set term pstricks", -"?terminal pstricks", -"?term pstricks", -"?pstricks", -" The `pstricks` driver is intended for use with the \"pstricks.sty\" macro", -" package for TeX or LaTeX.", -" You need \"pstricks.sty\", and, of course, a printer that understands", -" PostScript, or a converter such as Ghostscript.", -"", -" PSTricks is available at", -"^ ", -" http://tug.org/PSTricks/.", -"^ ", -" This driver definitely does not come close to using the full", -" capability of the PSTricks package.", -"", -" Syntax:", -" set terminal pstricks", -" {unit | size {unit},{unit}}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {linewidth } {rounded | butt}", -" {pointscale }", -" {psarrows | gparrows}", -" {background }", -" {pstricks | pdftricks2}", -"", -" The `unit` option produces a plot with internal dimensions 1x1. The default", -" is a plot of `size 5in,3in`.", -"", -" `standalone` produces a LaTeX file with possibly multiple plots, ready", -" to be compiled. The default is `input` to produce a TeX file which can", -" be included.", -"", -" `blacktext` forces all text to be written in black. `colortext` enables", -" colored text. The default is `blacktext`.", -"", -" `rounded` sets line caps and line joins to be rounded. `butt` sets butt", -" caps and mitered joins and is the default.", -"", -" `linewidth` and `pointscale` scale the width of lines and the size of point", -" symbols, respectively.", -"", -" `psarrows` draws `arrow`s using PSTricks commands which are shorter but do", -" not offer all options. `gparrows` selects drawing arrows using gnuplot's own", -" routine for full functionality instead.", -"", -" With the option `pdftricks2` you can create output for the `pdftricks2`", -" macro package, which can be used with pdflatex/lualatex. Otherwise, output", -" for the `pstricks` package with traditional tex/latex or xelatex is", -" produced.", -"", -" The old `hacktext` option has been replaced by the new default format (%h),", -" see `format specifiers`.", -"", -" Transparency requires support by Ghostscript or conversion to PDF." -#else /* JAPANESE_DOC */ -"1 pstricks", -"?commands set terminal pstricks", -"?set terminal pstricks", -"?set term pstricks", -"?terminal pstricks", -"?term pstricks", -"?pstricks", -" `pstricks` ドライバは TeX、または LaTeX の \"pstricks.sty\" マクロパッ", -" ケージと共に使われることを意図しています。", -" \"pstricks.sty\" は必要ですが、もちろん PostScript を解釈するプリンタ、", -" または Ghostscript のような変換ソフトも必要です。", -"", -" PSTricks は以下にあります。", -"^ ", -" http://tug.org/PSTricks/。", -"^ ", -" このドライバは、PSTricks パッケージの全ての能力を使おうとなどとは全く考", -" えていません。", -"", -" 書式:", -" set terminal pstricks", -" {unit | size {unit},{unit}}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {linewidth } {rounded | butt}", -" {pointscale }", -" {psarrows | gparrows}", -" {background }", -" {pstricks | pdftricks2}", -"", -" オプション `unit` は、内部サイズ 1x1 のグラフを生成します。デフォルトの", -" グラフは、`size 5in,3in` です。", -"", -" `standalone` は、そのままコンパイルできる、複数のグラフも可能な LaTeX", -" ファイルを生成します。デフォルトは `input` で、これは他の LaTeX ファイ", -" から include できるものを生成します。", -"", -" `blacktext` は、すべての文字列を強制的に黒で書き出し、`colortext` は色", -" 付きの文字を可能にします。デフォルトは `blacktext` です。", -"", -" `rounded` は、線の端や接合部を丸くし、デフォルトの `butt` は尖った端と", -" 角張った接合部を使用します。", -"", -" `linewidth` と `pointscale` は、それぞれ線幅と点 (point) 記号のサイズを", -" 伸縮します。", -"", -" `psarrows` は、`arrow` (矢) を PSTricks コマンドで描きますが、これは少", -" し短かく、そしてすべてのオプションを無視します。`gparrows` は、それに代", -" わり、gnuplot 自身のサブルーチンによる、すべての gnuplot 用の機能に対応", -" する arrow を描きます。", -"", -" オプション `pdftricks2` を使用すると、`pdftricks` マクロパッケージ用の", -" 出力を生成し、これは pdflatex/lualatex で利用できます。そうでない場合", -" は伝統的な tex/latex、あるいは xelatex で使用する `pstricks` パッケー", -" ジ用の出力を生成します。", -"", -" 古いオプション `hacktext` は、新しいデフォルトの書式 (%h) で置き換えら", -" れています。以下参照: `format specifiers`。", -"", -" 透過色の使用は、Ghostscript、または PDF に変換する他のものがそれをサポ", -" ートしている必要があります。" -#endif /* JAPANESE_DOC */ -END_HELP(pstricks) -START_HELP(qt) -#ifndef JAPANESE_DOC -"1 qt", -"?set terminal qt", -"?terminal qt", -"?set term qt", -"?term qt", -"?qt", -" The `qt` terminal device generates output in a separate window with the Qt library." -"", -" Syntax:", -" set term qt {}", -" {size ,}", -" {position ,}", -" {title \"title\"}", -" {font } {{no}enhanced}", -" {rounded|butt}", -" {{no}replotonresize}", -" {{no}antialias}", -" {linewidth } {dashlength
    }", -" {{no}persist} {{no}raise} {{no}ctrl}", -" {close}", -" {widget }", -"", -" Multiple plot windows are supported: `set terminal qt ` directs the", -" output to plot window number n.", -"", -" The default window title is based on the window number. This title can also", -" be specified with the keyword \"title\".", -"", -" Plot windows remain open even when the `gnuplot` driver is changed to a", -" different device. A plot window can be closed by pressing the letter 'q'", -" while that window has input focus, by choosing `close` from a window", -" manager menu, or with `set term qt close`.", -"", -" The size of the plot area is given in pixels, it defaults to 640x480.", -" In addition to that, the actual size of the window also includes the space", -" reserved for the toolbar and the status bar.", -" When you resize a window, the plot is immediately scaled to fit in the", -" new size of the window. The `qt` terminal scales the whole plot, including", -" fonts and linewidths, and keeps its global aspect ratio constant.", -" If you type `replot`, click the `replot` icon in the terminal toolbar or", -" type a new `plot` command, the new plot will completely fit in the window", -" and the font size and the linewidths will be reset to their defaults.", -"", -" The position option can be used to set the position of the plot window.", -" The position option only applies to the first plot after the `set term`", -" command.", -"", -"", -" The active plot window (the one selected by `set term qt `) is", -" interactive. Its behaviour is shared with other terminal types. See `mouse`", -" for details. It also has some extra icons, which are supposed to be", -" self-explanatory.", -"", -" This terminal supports an enhanced text mode, which allows font and other", -" formatting commands (subscripts, superscripts, etc.) to be embedded in labels", -" and other text strings. The enhanced text mode syntax is shared with other", -" gnuplot terminal types. See `enhanced` for more details.", -"", -" is in the format \"FontFace,FontSize\", i.e. the face and the size", -" comma-separated in a single string. FontFace is a usual font face name, such", -" as \'Arial\'. If you do not provide FontFace, the qt terminal will use", -" \'Sans\'. FontSize is the font size, in points. If you do not provide it,", -" the qt terminal will use a size of 9 points.", -" For example :", -" set term qt font \"Arial,12\"", -" set term qt font \"Arial\" # to change the font face only", -" set term qt font \",12\" # to change the font size only", -" set term qt font \"\" # to reset the font name and size", -"", -" The dashlength affects only custom dash patterns, not Qt's built-in set.", -"", -#if (QTVER == 4) -" The Qt rendering speed is affected strongly by the rendering mode used.", -" In Qt version 4 this can be controlled by the environmental", -" variable QT_GRAPHICSSYSTEM. The options are \"native\", \"raster\", or", -" \"opengl\" in order of increasing rendering speed. For earlier versions", -" of Qt the terminal defaults to \"raster\".", -"", -#endif -" To obtain the best output possible, the rendering involves three", -" mechanisms : antialiasing, oversampling and hinting.", -" Oversampling combined with antialiasing provides subpixel accuracy,", -" so that gnuplot can draw a line from non-integer coordinates. This avoids", -" wobbling effects on diagonal lines ('plot x' for example).", -" Hinting avoids the blur on horizontal and vertical lines caused by", -" oversampling. The terminal will snap these lines to integer coordinates so", -" that a one-pixel-wide line will actually be drawn on one and only one pixel.", -"", -" `butt` instructs the driver to use a line drawing method that does", -" not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", -"", -" The option `replotonresize` replots the data when the plot window is", -" resized. Without this option, the even-aspect-ratio scaling may result in the", -" plot filling only part of the window after resizing. With this option, gnuplot", -" does a full replot on each resize event, resulting in better space", -" utilization. This option is generally desirable, unless the potentially", -" CPU-intensive replotting during resizing is a concern. Replots can be manually", -" initiated with hotkey 'e' or the 'replot' command.", -"", -" By default, the window is raised to the top of your desktop when a plot is", -" drawn. This can be controlled with the keyword \"raise\".", -" The keyword \"persist\" will prevent gnuplot from exiting before you", -" explicitly close all the plot windows.", -"", -" The key raises the gnuplot console window [MS Windows only].", -" The 'q' key closes the plot window. These hot keys can be changed to", -" ctrl-space and ctrl-q using the terminal option keyword \"{no}ctrl\".", -" However the preferred way to select ctrl-q rather than 'q' is to use", -" the toggle in the tools widget of the plot window.", -"", -" The gnuplot outboard driver, gnuplot_qt, is searched in a default place", -" chosen when the program is compiled. You can override that by defining", -" the environment variable GNUPLOT_DRIVER_DIR." -#else /* JAPANESE_DOC */ -"1 qt", -"?set terminal qt", -"?terminal qt", -"?set term qt", -"?term qt", -"?qt", -" `qt` 出力形式は、Qt ライブラリを用いて別ウィンドウへの出力を生成します。", -"", -" 書式:", -" set term qt {}", -" {size ,}", -" {position ,}", -" {title \"title\"}", -" {font } {{no}enhanced}", -" {rounded|butt}", -" {{no}replotonresize}", -" {{no}antialias}", -" {linewidth } {dashlength
    }", -" {{no}persist} {{no}raise} {{no}ctrl}", -" {close}", -" {widget }", -"", -" 複数の描画ウィンドウもサポートしていて、`set terminal qt ` とすれば", -" 番号 n の描画ウィンドウへ出力します。", -"", -" デフォルトのウィンドウタイトルは、このウィンドウ番号に基づいています。", -" そのタイトルはキーワード \"title\" でも指定できます。", -"", -" 描画ウィンドウは、`gnuplot` の出力形式を別なものに変更した後でも開いた", -" まま残ります。描画ウィンドウは、そのウィンドウが入力フォーカスを持って", -" いる状態で文字 'q' を打つか、ウィンドウマネージャメニューで `close` を", -" 選択するか、または `set term qt close` とすることで閉じることができ", -" ます。", -"", -" 描画領域のサイズはピクセル単位で与えます、デフォルトは 640x480 です。", -" それに加えて、ウィンドウの実際のサイズには、ツールバーやステータスバー", -" 用のスペースも追加されます。", -" ウィンドウのサイズを変更すると、描画グラフもウィンドウの新しいサイズに", -" ぴったり合うようにすぐに伸縮されます。`qt` 出力形式はフォント、線幅も含", -" めて描画全体を伸縮しますが、全体のアスペクト比は一定に保ちます。", -" その後 `replot` とタイプするか、ターミナルツールバーの `replot` アイコ", -" ンをクリックするか、新たに `plot` コマンドを入力すると、その新しい描画", -" では完全にそのウィンドウに合わせられますが、フォントサイズや線幅はそれ" -" ぞれのデフォルトにリセットされます。", -"", -" position オプションは描画ウィンドウの位置を設定するのに使えます。これは", -" コマンド `set term` 後の最初の描画にのみ適用されます。", -"", -"", -" 現在の描画ウィンドウ (`set term qt ` で選択されたもの) は対話型で、", -" その挙動は、他の出力形式と共通です。詳細は、以下参照: `mouse`。それには", -" 追加のアイコンもいくつかついていますが、それらはそれ自体が説明的なもの", -" になっているはずです。", -"", -" この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし", -" ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に", -" 埋め込むことができます。拡張文字列処理モードの書式は、gnuplot の他の出", -" 力形式と共通です。詳細は、以下参照: `enhanced`。", -"", -" は \"FontFace,FontSize\" の形式で、FontFace と FontSize とをコ", -" ンマで分離して一つの文字列として書きます。FontFace は、\'Arial\' のよ", -" うな通常のフォント名です。FontFace を与えない場合は、qt 出力形式は", -" \'Sans\' を使用します。FontSize はポイント単位のフォントサイズです。", -" FontSize を与えない場合は、qt 出力形式は 9 ポイントを使用します。", -" 例 :", -" set term qt font \"Arial,12\"", -" set term qt font \"Arial\" # フォント名のみ変更", -" set term qt font \",12\" # フォントサイズのみ変更", -" set term qt font \"\" # フォント名、、フォントサイズをリセット", -"", -" dashlength は、点線/破線パターンのユーザ定義にのみ影響を与え、Qt が内部", -" に持っているパターンには影響を与えません。", -"", -#if (QTVER == 4) -" Qt のレンダリング速度は、使用するレンダリングモードによって大きく変わり", -" ます。Qt バージョン 4 では、これは環境変数 QT_GRAPHICSSYSTEM で制御でき", -" るようになっています。指定するオプションは、レンダリング速度の遲い順に", -" \"native\", \"raster\", \"opengl\" となっています。従来の Qt の版では、", -" この出力形式ではデフォルトを \"raster\" にします。", -"", -#endif -" 可能な限り最も良い出力を生成するために、このレンダリングはアンチアリア", -" ス、オーバーサンプリング、ヒンチングの 3 つの機構を持っています。", -" オーバーサンプリングは、アンチエイリアスと組でピクセルよりも小さいサイ", -" ズでの精度を提供し、gnuplot が非整数座標の直線を書けるようになります。", -" これは、対角方向の直線 (例えば 'plot x') が左右に揺れるのを避けます。", -" ヒンティングは、オーバーサンプリングによって引き起こされる水平、垂直方", -" 向の線分のぼかしを避けます。この出力形式は、これらの直線を整数座標に揃", -" え、それにより、1 ピクセル幅の直線は本当に 1 つ (1 つより多くも少なく", -" もない) のピクセルで描画します。", -"", -" `butt` は、求める線分の端点がはみ出さないような線分の描画方法を使うよう", -" ドライバに指示します。この設定は、線幅が 1 より大きい場合にのみ適用しま", -" す。この設定は、水平か垂直の線を書く場合に最も有用です。デフォルトは、", -" `rounded` です。", -"", -" オプション `replotonresize` は、描画ウィンドウのサイズが変更されるとデ", -" ータを replot します。このオプションがない状態では、アスペクト比を変え", -" ないウィンドウサイズ変更の後で、ウィンドウの一部分しか描画されないかも", -" しれません。このオプションをつけると、gnuplot は個々のサイズ変更イベン", -" ト毎に完全に replot を行い、スペースを適切に利用した結果になります。こ", -" のオプションは、サイズ変更の間の再描画に対する CPU の内在的な集中に心配", -" がある場合を除いては、一般的に望ましいものです。replot は、ホットキーの", -" 'e' を使ったりコマンド 'replot' によって手動で実行することも可能です。", -"", -" デフォルトでは、描画が行われたときにウィンドウはデスクトップの一番上", -" (最前面) に表示されます。これは、キーワード \"raise\" で制御できます。", -" キーワード \"persist\" は、すべての描画ウインドウを明示的に閉じない間", -" は、gnuplot が終了しないようにします。", -"", -" キーは gnuplot コンソールウィンドウを上に上げます (MS Windows", -" のみ)。'q' は描画ウィンドウを閉じます。これらのホットキーは、terminal", -" オプションキーワドの \"{no}ctrl\" を使うことで、ctl-space や ctrl-q に", -" 変更できます。しかし、'q' の代わりに ctrl-q を選択するよりもよい方法は、", -" 描画ウィンドウのツールウィジェットのトグルスィッチを使うことです。", -"", -" プログラムのコンパイル時に選択した場所に、gnuplot の外部ドライバ", -" gnuplot_qt がインストールされますが、環境変数 GNUPLOT_DRIVER_DIR を設定", -" することで置き場所を変更することもできます。" -#endif /* JAPANESE_DOC */ -END_HELP(qt) -START_HELP(regis) -#ifndef JAPANESE_DOC -"1 regis", -"?commands set terminal regis", -"?set terminal regis", -"?set term regis", -"?terminal regis", -"?term regis", -"?regis", -" Note: legacy terminal.", -" The `regis` terminal device generates output in the REGIS graphics language.", -" It has the option of using 4 (the default) or 16 colors.", -"", -" Syntax:", -" set terminal regis {4 | 16}" -#else /* JAPANESE_DOC */ -"1 regis", -"?commands set terminal regis", -"?set terminal regis", -"?set term regis", -"?terminal regis", -"?term regis", -"?regis", -" 注意: 古い (legacy) 出力形式です。", -" `regis` ドライバは REGIS グラフィック言語での出力を生成します。このド", -" ライバには色を 4 色使うか (デフォルト) 16 色使うかのオプションがありま", -" す。", -"", -" 書式:", -" set terminal regis {4 | 16}" -#endif /* JAPANESE_DOC */ -END_HELP(regis) -START_HELP(sixelgd) -#ifndef JAPANESE_DOC -"1 sixelgd", -"?commands set terminal sixelgd", -"?set terminal sixelgd", -"?set term sixelgd", -"?terminal sixelgd", -"?term sixelgd", -"?sixelgd", -" Syntax:", -" set terminal sixelgd", -" {{no}enhanced} {{no}truecolor}", -" {{no}transparent} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop} {animate}", -" {background }", -"", -" The `sixel` output format was originally used by DEC terminals and printers.", -" This driver produces a sixel output stream by converting a PNG image created", -" internally using the gd library. The sixel output stream can be viewed in the", -" terminal as it is created or it can be written to a file so that it can be", -" replayed later by echoing the file to the terminal.", -"", -" The sixel terminal is also useful for displaying gnuplot graphics on the", -" linux console when no windowing system or graphics display manager is active.", -" See `linux console`.", -"", -" `transparent` instructs the driver to make the background color transparent.", -" Default is `notransparent`.", -"", -" The `linewidth` and `dashlength` options are scaling factors that affect all", -" lines drawn. They are multiplied by values requested in drawing commands.", -"", -" By default the sixel output uses 16 indexed colors. The `truecolor` option", -" instead creates a TrueColor png image that is mapped down onto 256 colors", -" in the output sixel image. Transparent fill styles require the `truecolor`", -" option. See `fillstyle`.", -" A `transparent` background is possible in either indexed or TrueColor images.", -"", -" `butt` instructs the driver to use a line drawing method that does", -" not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", -"", -" The details of font selection are complicated.", -" For more information please see `fonts`.", -"", -" The output plot size is given in pixels---it defaults to 640x480.", -" Please see additional information under `canvas` and `set size`.", -" Blank space at the edges of the finished plot may be trimmed using the `crop`", -" option, resulting in a smaller final image size. Default is `nocrop`." -"", -" The terminal has been successfully tested with the xterm, mlterm and mintty", -" terminals. The later two support the `truecolor` mode using 256 sixel", -" colors out of box. Distributed copies of xterm may or may not have been", -" configured to support sixel graphics and may be limited to 16 colors.", -"", -"?set terminal sixelgd animate", -"?set term sixelgd animate", -"?term sixelgd animate", -" set term sixel animate", -"", -" The `animate` option resets the cursor position to the terminal top left at", -" the start of every plot so that successive plots overwrite the same area on", -" the screen rather than having earlier plots scroll off the top. This may be", -" desirable in order to create an in-place animation.", -"" -#else /* JAPANESE_DOC */ -"1 sixelgd", -"?commands set terminal sixelgd", -"?set terminal sixelgd", -"?set term sixelgd", -"?terminal sixelgd", -"?term sixelgd", -"?sixelgd", -" 書式:", -" set terminal sixelgd", -" {{no}enhanced} {{no}truecolor}", -" {{no}transparent} {rounded|butt}", -" {linewidth } {dashlength
    }", -" {tiny | small | medium | large | giant}", -" {font \" {,}\"} {fontscale }", -" {size ,} {{no}crop} {animate}", -" {background }", -"", -" `sixel` 出力フォーマットは、元々 DEC のターミナル、プリンタで使われて", -" いたものです。このドライバは、gd ライブラリを内部的に使用して作成した", -" PNG 画像を変換して sixel 出力列を生成します。sixel 出力列は、それを作", -" 成したときにターミナル上に表示させることができますが、またはその出力列", -" をファイルに書きだしておいて、後からそのファイルをターミナルに吐き出す", -" ことで表示に置き換えることもできます。", -"", -" sixel 出力形式は、ウィンドウシステムか、またはグラフィックディスプレイ", -" マネージャが有効でない場合に、gnuplot のグラフを linux コンソールで表", -" 示させたい場合にも便利です。以下参照: `linux console`。", -"", -" `transparent` は、ドライバに背景色の透明化 (transparent) を行うよう指", -" 示します。デフォルトは `notransparent` です。", -"", -" オプション `linewidth` と `dashlength` は拡大率で、描画されるすべての", -" 線に影響を与えます。これらは、描画コマンドで要求される値にかけ算されま", -" す。", -"", -" デフォルトでは、sixel 出力は、番号付きの 16 色を使用します。オプション", -" `truecolor` では、TrueColor PNG 画像を作成し、それを 256 色の sixel 画", -" 像出力に減色します。透過型塗り潰しスタイルには、オプション `truecolor`", -" が必要です。以下参照: `fillstyle`。", -" `transparent` の背景は、番号付きの色画像、TrueColor 画像のどちらでも可", -" 能です。", -"", -" `butt` は線分の描画で、その端の点でのはみだしを起こさない描画メソッド", -" を使うようドライバに指示します。この設定は、線幅が 1 より大きい場合に", -" のみ有効です。この設定は、水平線、垂直線の描画の場合に有用でしょう。", -" デフォルトは `rounded` (丸め) です。", -"", -" フォントの選択の詳細は、やや複雑です。", -" 詳細は、以下参照: `fonts`。", -"", -" 出力描画サイズ はピクセル単位で与えます。デフォルトは 640x480 で", -" す。以下も参照: `canvas`, `set size`。", -" 描画終了後の端の余白は、オプション `crop` で取り除くことができ、その結", -" 果としてその画像サイズは小さくなります。デフォルトは `nocrop` です。", -"", -" この出力形式は、xterm, mlterm, mintty ターミナルではテストされ、動作確", -" 認されています。最後の 2 つでは、256 色の sixel カラーを丸々使用する", -" `truecolor` モードもサポートしますが、配布されている xterm は、sixel", -" グラフィックスをサポートする/しないように作られたものかもしれませんし、", -" 16 色に制限されているかもしれません。", -"", -"?set terminal sixelgd animate", -"?set term sixelgd animate", -"?term sixelgd animate", -" set term sixel animate", -"", -" オプション `animate` は、連続する plot 命令で前のグラフが上にスクロー", -" ルして消える代わりに、各 plot がスクリーンの同じ領域を上書きするように", -" 各 plot の開始時にカーソル位置をターミナルの左上にリセットします。これ", -" は場所固定式アニメーション (in-place animation) の生成用の仕組みです。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(sixelgd) -START_HELP(svg) -#ifndef JAPANESE_DOC -"1 svg", -"?commands set terminal svg", -"?set terminal svg", -"?set term svg", -"?terminal svg", -"?term svg", -"?svg", -" This terminal produces files in the W3C Scalable Vector Graphics format.", -"", -" Syntax:", -" set terminal svg {size , {|fixed|dynamic}}", -" {mouse} {standalone | jsdir }", -" {name }", -" {font \"{,}\"} {{no}enhanced}", -" {fontscale }", -" {rounded|butt|square} {solid|dashed} {linewidth }", -" {background }", -"", -" where and are the size of the SVG plot to generate,", -" `dynamic` allows a svg-viewer to resize plot, whereas the default", -" setting, `fixed`, will request an absolute size.", -"", -" `linewidth ` increases the width of all lines used in the figure", -" by a factor of .", -"", -" is the name of the default font to use (default Arial) and", -" is the font size (in points, default 12). SVG viewing", -" programs may substitute other fonts when the file is displayed.", -"", -" The enhanced text mode syntax is shared with other gnuplot terminal types.", -" See `enhanced` for more details.", -"", -" The `mouse` option tells gnuplot to add support for mouse tracking and for", -" toggling individual plots on/off by clicking on the corresponding key entry.", -" By default this is done by including a link that points to a script in a", -" local directory, usually /usr/local/share/gnuplot//js.", -" You can change this by using the `jsdir` option to specify either a", -" different local directory or a general URL. The latter is usually", -" appropriate if you are embedding the svg into a web page.", -" Alternatively, the `standalone` option embeds the mousing code in the svg", -" document itself rather than linking to an external resource.", -"", -" When an SVG file will be used in conjunction with external files,", -" e.g. if it is referenced by javascript code in a web page or parent document,", -" then a unique name is required to avoid potential conflicting references", -" to other SVG plots. Use the `name` option to ensure uniqueness.", -"" -#else /* JAPANESE_DOC */ -"1 svg", -"?commands set terminal svg", -"?set terminal svg", -"?set term svg", -"?terminal svg", -"?term svg", -"?svg", -" このドライバは W3C SVG (Scalable Vector Graphics) フォーマットを生成し", -" ます。", -"", -" 書式:", -" set terminal svg {size , {|fixed|dynamic}}", -" {mouse} {standalone | jsdir }", -" {name }", -" {font \"{,}\"} {{no}enhanced}", -" {fontscale }", -" {rounded|butt|square} {solid|dashed} {linewidth }", -" {background }", -"", -" ここで は生成される SVG グラフのサイズですが、`dynamic` は", -" svg ビューワに描画のリサイズを許し、`fixed` は絶対サイズを要求します", -" (デフォルト)。", -"", -" `linewidth ` は図の中で使用される全ての線の幅を因子 だけ増加さ", -" せます。", -"", -" はデフォルトとして使われるフォント名 (デフォルトでは Arial)、", -" はポイント単位でのフォントサイズ (デフォルトは 12) です。", -" svg ビューワソフトは、そのファイルの表示の際には別の代用フォントを使う", -" ことになるでしょう。", -"", -" 拡張文字列処理 (enhanced) モードの書式指定は、他の出力形式の場合と同じ", -" です。詳細は、以下参照: `enhanced`。", -"", -" オプション `mouse` は、マウストラッキング機能と、対応する key 上でクリ", -" ックすることでそれぞれのグラフの描画を On/Off にする機能をサポートを追", -" 加することを gnuplot に指示します。デフォルトではローカルディレクトリ、", -" 通常は /usr/local/share/gnuplot//js 内のあるスクリプトを指すリ", -" ンクを取り込むことで行われますが、オプション `jsdir` に別のローカルディ", -" レクトリか、通常の URL を指定することでこれは変更できます。SVG 画像を", -" Web ページに入れるのであれば、普通は後者の URL の方を指定します。一方で", -" オプション `standalone` は、マウス操作プログラムを SVG 文書自体に埋め込", -" み、外部リソースへのリンクは行いません。", -"", -" SVG ファイルを何かの外部ファイルと組み合わせて利用したい場合、例えばそ", -" れがある Web ページや親文書の javascriptコードから参照されているような", -" 場合、他の SVG グラフへの参照との衝突を避けるために一意的な名前が必要に", -" なります。その場合はオプション `name` を使って固有の名前を確保してくだ", -" さい。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(svg) -START_HELP(svga) -#ifndef JAPANESE_DOC -"1 svga", -"?commands set terminal svga", -"?set terminal svga", -"?set term svga", -"?terminal svga", -"?term svga", -"?svga", -" Legacy terminal. The `svga` terminal driver supports PCs with SVGA graphics.", -" It is typically only compiled with DJGPP and uses the GRX graphics library.", -" There is also a variant for Windows 32bit, which is mainly used for", -" debugging. The underlying library also supports X11, Linux console and SDL,", -" but these targets are currently not supported.", -"", -" Syntax:", -" set terminal svga {font \"\"}", -" {{no}enhanced}", -" {background }", -" {linewidth|lw }", -" {pointscale|ps }", -" {fontscale|fs }", -"", -" Enhanced text support can be activated using the `enhanced` option,", - " see `enhanced text`. Note that changing the font size in enhanced text is", -" currently not supported. Hence, super- and subscripts will have the same size.", -"", -" The `linewidth` parameter scales the width of lines. The `pointscale`", -" parameter sets the scale factor for point symbols. You can use `fontscale`", -" to scale the bitmap font. This might be useful if you have a hi-res display.", -" Note that integer factors give best results." -#else /* JAPANESE_DOC */ -"1 svga", -"?commands set terminal svga", -"?set terminal svga", -"?set term svga", -"?terminal svga", -"?term svga", -"?svga", -" 古い (legacy) 出力形式です。`svga` ドライバは SVGA グラフィックの PC を", -" サポートします。これは、通常は DJGPP のみでコンパイルされ、GRX グラフィ", -" ックライブラリを使用しますが、Windows 32bit 用の変種もあり、それは主に", -" デバッグ用です。ベースになるライブラリは、X11 や Linux コンソール、SDL", -" もサポートしていますが、現在それらのターゲットはサポートしていません。", -"", -" 書式:", -" set terminal svga {font \"\"}", -" {{no}enhanced}", -" {background }", -" {linewidth|lw }", -" {pointscale|ps }", -" {fontscale|fs }", -"", -" `enhanced` オプションにより、拡張文字列処理のサポートが有効になります。", -" 以下参照: `enhanced text`。拡張文字列内でのフォントサイズの変更は現在は", -" サポートしていないことに注意してください。よって、上付き、下付き文字も", -" 同じサイズになります。", -"", -" パラメータ `linewidth` は線の幅を拡大します。パラメータ `pointscale` は", -" point 記号の拡大率を設定します。ビットマップフォントを拡大するには、", -" `fontscale` を使うことができます。それは高解像度ディスプレイを使ってい", -" る場合は有用でしょう。", -" 整数倍の拡大率が最も良い結果を生むことに注意してください。" -#endif /* JAPANESE_DOC */ -END_HELP(svga) -START_HELP(tek40) -#ifndef JAPANESE_DOC -"1 tek40", -"?commands set terminal tek40xx", -"?set terminal tek40xx", -"?set term tek40xx", -"?terminal tek40xx", -"?term tek40xx", -"?tek40", -"?commands set terminal vttek", -"?set terminal vttek", -"?set term vttek", -"?terminal vttek", -"?term vttek", -"?vttek", -"?commands set terminal xterm", -"?set terminal xterm", -"?set term xterm", -"?terminal xterm", -"?term xterm", -"?xterm", -#ifdef KERMIT -"?commands set terminal kc-tek40xx", -"?set terminal kc-tek40xx", -"?set term kc-tek40xx", -"?terminal kc-tek40xx", -"?term kc-tek40xx", -"?kc-tek40xx", -"?commands set terminal km-tek40xx", -"?set terminal km-tek40xx", -"?set term km-tek40xx", -"?terminal km-tek40xx", -"?term km-tek40xx", -"?km-tek40xx", -#endif -#ifdef SELANAR -"?commands set terminal selanar", -"?set terminal selanar", -"?set term selanar", -"?terminal selanar", -"?term selanar", -"?selanar", -#endif -#ifdef SIXEL -"?commands set terminal sixeltek", -"?set terminal sixeltek", -"?set term sixeltek", -"?terminal sixeltek", -"?term sixeltek", -"?sixeltek", -" Syntax:", -" set terminal sixeltek {} {color|colors |mono} {size ,}", -"", -" The `sixel` output format was originally used by DEC terminals and printers.", -" This driver supports palette images with a maximum of 256 colors. The default", -" is 16 which can be changed using the `colors` option.", -"", -" The font size can be specified as `small`, `medium` or `large`.", -"", -" For use with xterm emulation, xterm must be compiled/configured with", -" \"--enable-sixel-graphics\" and started with \"-ti 340\" on the command line.", -" The menu option \"sixelScrolling\" should be selected.", -"", -" Note that gnuplot also supports another sixel output terminal, `sixelgd`,", -" that offers more options and features." -#endif -#ifdef BITGRAPH -"?commands set terminal bitgraph", -"?set terminal bitgraph", -"?set term bitgraph", -"?terminal bitgraph", -"?term bitgraph", -"?bitgraph", -#endif -" This family of terminal drivers supports a variety of VT-like terminals.", -" `tek40xx` supports Tektronix 4010 and others as well as most TEK emulators.", -" `vttek` supports VT-like tek40xx terminal emulators.", -" The following are present only if selected when gnuplot is built:", -" `kc-tek40xx` supports MS-DOS Kermit Tek4010 terminal emulators in color;", -" `km-tek40xx` supports them in monochrome. `selanar` supports Selanar graphics.", -" `bitgraph` supports BBN Bitgraph terminals.", -" None have any options." -#else /* JAPANESE_DOC */ -"1 tek40", -"?commands set terminal tek40xx", -"?set terminal tek40xx", -"?set term tek40xx", -"?terminal tek40xx", -"?term tek40xx", -"?tek40", -"?commands set terminal vttek", -"?set terminal vttek", -"?set term vttek", -"?terminal vttek", -"?term vttek", -"?vttek", -"?commands set terminal xterm", -"?set terminal xterm", -"?set term xterm", -"?terminal xterm", -"?term xterm", -"?xterm", -#ifdef KERMIT -"?commands set terminal kc-tek40xx", -"?set terminal kc-tek40xx", -"?set term kc-tek40xx", -"?terminal kc-tek40xx", -"?term kc-tek40xx", -"?kc-tek40xx", -"?commands set terminal km-tek40xx", -"?set terminal km-tek40xx", -"?set term km-tek40xx", -"?terminal km-tek40xx", -"?term km-tek40xx", -"?km-tek40xx", -#endif -#ifdef SELANAR -"?commands set terminal selanar", -"?set terminal selanar", -"?set term selanar", -"?terminal selanar", -"?term selanar", -"?selanar", -#endif -#ifdef SIXEL -"?commands set terminal sixeltek", -"?set terminal sixeltek", -"?set term sixeltek", -"?terminal sixeltek", -"?term sixeltek", -"?sixeltek", -" 書式:", -" set terminal sixeltek {} {color|colors |mono}", -" {size ,}", -"", -" `sixel` 出力形式は、元は DEC ターミナル、プリンタで使われていました。", -" このドライバは、最大で 256 色のパレット画像をサポートします。デフォルト", -" は 16 色で、これはオプション `colors` で変更できます。", -"", -" フォントサイズは、`small`, `medium`, `large` の何れかを指定できます。", -"", -" xterm エミュレーションで利用する場合、\"--enable-sixel-graphics\" 付き", -" で xterm が configure/コンパイルされていて、かつ \"-ti 340\" をつけて起", -" 動する必要があります。", -" メニューオプション \"sixelScrolling\" を選択するといいでしょう。", -"", -" gnuplot は他の sixel 出力形式 `sixelgd` もサポートしていることに注意し", -" てください。それはより多くのオプションや機能を提供しています。" -#endif -#ifdef BITGRAPH -"?commands set terminal bitgraph", -"?set terminal bitgraph", -"?set term bitgraph", -"?terminal bitgraph", -"?term bitgraph", -"?bitgraph", -#endif -" このドライバ群は VT-ライクな端末のいくつかをサポートします。`tek40xx`", -" は Tektronix 4010 とその他ほとんどの TEK エミュレータをサポートします。", -" `vttek` は VT-ライクな tek40xx 端末エミュレータをサポートします。", -" 以下のものは、gnuplot のコンパイル時に選択されたもののみが利用できます:", -" `kc-tek40xx` はカラーの MS-DOS Kermit Tek4010 ターミナルエミュレータを、", -" `km-tek40xx` はその白黒版をサポートします。", -" `selanar` は Selanar グラフィック端末をサポートします。", -" `bitgraph` は BBN Bitgraph 端末をサポートします。", -" いずれもオプションはありません。" -#endif /* JAPANESE_DOC */ -END_HELP(tek40) -START_HELP(tek410x) -#ifndef JAPANESE_DOC -"1 tek410x", -"?commands set terminal tek410x", -"?set terminal tek410x", -"?set term tek410x", -"?terminal tek410x", -"?term tek410x", -"?tek410x", -" The `tek410x` terminal driver supports the 410x and 420x family of Tektronix", -" terminals. It has no options." -#else /* JAPANESE_DOC */ -"1 tek410x", -"?commands set terminal tek410x", -"?set terminal tek410x", -"?set term tek410x", -"?terminal tek410x", -"?term tek410x", -"?tek410x", -" `tek410x` ドライバは Tektronix 410x, 420x ファミリーをサポートしていま", -" す。オプションはありません。" -#endif /* JAPANESE_DOC */ -END_HELP(tek410x) -START_HELP(texdraw) -#ifndef JAPANESE_DOC -"1 texdraw", -"?commands set terminal texdraw", -"?set terminal texdraw", -"?set term texdraw", -"?terminal texdraw", -"?term texdraw", -"?texdraw", -" The `texdraw` terminal driver supports the (La)TeX texdraw environment. It is", -" intended for use with the texdraw package,", -" see https://www.ctan.org/tex-archive/graphics/texdraw/ .", -"", -" set terminal texdraw", -" {size {unit},{unit}}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {linewidth } {rounded | butt}", -" {pointscale }", -" {psarrows | gparrows} {texpoints | gppoints}", -" {background }", -"", -" Note: Graphics are in grayscale only. Text is always black. Boxes and polygons", -" are filled using solid gray levels only. Patterns are not available.", -"", -" Points, among other things, are drawn using the LaTeX commands \"\\Diamond\" and", -" \"\\Box\". These commands no longer belong to the LaTeX2e core; they are included", -" in the latexsym package, which is part of the base distribution and thus part", -" of any LaTeX implementation. Please do not forget to use this package.", -" Other point types use symbols from the amssymb package. For compatibility with", -" plain TeX you need to specify the `gppoints` option.", -"", -" `standalone` produces a LaTeX file with possibly multiple plots, ready", -" to be compiled. The default is `input` to produce a TeX file which can", -" be included.", -"", -" `blacktext` forces all text to be written in black. `colortext` enables", -" \"colored\" text. The default is `blacktext` and \"color\" means grayscale", -" really.", -"", -" `rounded` sets line caps and line joins to be rounded; `butt` sets butt", -" caps and mitered joins and is the default.", -"", -" `linewidth` and `pointscale` scale the width of lines and the size of point", -" symbols, respectively. `pointscale` only applies to `gppoints`.", -"", -" `psarrows` draws `arrow`s using TeXdraw commands which are shorter but do not", -" offer all options. `gparrows` selects drawing arrows using gnuplot's", -" own routine for full functionality instead. Similarly, `texpoints`, and ", -" `gppoints` select LaTeX symbols or gnuplot's point drawing routines." -#else /* JAPANESE_DOC */ -"1 texdraw", -"?commands set terminal texdraw", -"?set terminal texdraw", -"?set term texdraw", -"?terminal texdraw", -"?term texdraw", -"?texdraw", -" `texdraw` ドライバは (La)TeX texdraw 環境をサポートします。それは", -" texdraw パッケージと共に利用されることを想定しています。以下を参照して", -" ください: https://www.ctan.org/tex-archive/graphics/texdraw/ 。", -"", -" set terminal texdraw", -" {size {unit},{unit}}", -" {standalone | input}", -" {blacktext | colortext | colourtext}", -" {linewidth } {rounded | butt}", -" {pointscale }", -" {psarrows | gparrows} {texpoints | gppoints}", -" {background }", -"", -" 注意: グラフィックは、灰色階調のみです。文字列は常に黒です。箱 (box) と", -" 多角形の塗り潰しは、ベタ塗り (solid) の灰色階調のみで、パターン塗りは使", -" えません。", -"", -" 数ある中で、点 (point) は、LaTeX のコマンド \"\\Diamond\", \"\\Box\" などを", -" 使って描かれます。これらのコマンドは現在は LaTeX2e のコアには存在せず", -" latexsym パッケージに含まれていますが、このパッケージ基本配布の一部で", -" あり、よって多くの LaTeX のシステムの一部になっています。このパッケー", -" ジを使うことを忘れないでください。", -" 他の点種は、amssymb パッケージの記号を使用します。plain TeX との互換性", -" のためには、オプション `gppoints` を指定する必要があります。", -"", -" `standalone` は、コンパイルの用意ができた、複数のグラフを持つ可能性のあ", -" る LaTeX ファイルを生成します。デフォルトは `input` で、他のファイルか", -" ら include できる TeX ファイルを生成します。", -"", -" `blacktext` は、強制的にすべの文字列を黒で書きますが、`colortext` は、", -" 「色付き」の文字列を可能にします。デフォルトは `blacktext` で、ここでの", -" 「色」は、実際には灰色階調を意味します。", -"", -" `rounded` は線の端や接合部を丸くし、`butt` は尖った端と角張った接合部を", -" 使用し、これがデフォルトです。", -"", -" `linewidth` と `pointscale` は、線幅と点記号のサイズをそれぞれ伸縮しま", -" す。`pointscale` は、`gppoints` にのみ適用します。", -"", -" `psarrows` は、TeXdraw コマンドを用いて `arrow` (矢) を書きます。これは", -" は簡単ですが、どんなオプションも提供しません。`gparrows` は、代わりに、", -" gnuplot 自身の、すべての機能を備えたサブルーチンによる arrow の描画を選", -" 択します。同様に、`texpoints` と `gppoints` は LaTeX の記号と gnuplot", -" の点描画ルーチンの選択です。" -#endif /* JAPANESE_DOC */ -END_HELP(texdraw) -START_HELP(tgif) -#ifndef JAPANESE_DOC -"1 tgif", -"?commands set terminal tgif", -"?set terminal tgif", -"?set term tgif", -"?terminal tgif", -"?term tgif", -"?tgif", -" Legacy terminal (present only if gnuplot was configured --with-tgif).", -" Tgif is/was an Xlib based interactive 2-D vector graphics drawing tool", -" also capable of importing and marking up bitmap images.", -"", -" The `tgif` driver supports a choice of font and font size and multiple", -" graphs on the page. The proportions of the axes are not changed.", -"", -" Syntax:", -" set terminal tgif {portrait | landscape | default} {<[x,y]>}", -" {monochrome | color}", -" {{linewidth | lw} }", -" {solid | dashed}", -" {font \"{,}\"}", -"", -" where <[x,y]> specifies the number of graphs in the x and y directions on the", -" page, `color` enables color, `linewidth` scales all linewidths by ,", -" \"\" is the name of a valid PostScript font, and ", -" specifies the size of the PostScript font.", -" `defaults` sets all options to their defaults: `portrait`, `[1,1]`, `color`,", -" `linewidth 1.0`, `dashed`, `\"Helvetica,18\"`.", -"", -" The `solid` option is usually preferred if lines are colored, as they often", -" are in the editor. Hardcopy will be black-and-white, so `dashed` should be", -" chosen for that.", -"", -" Multiplot is implemented in two different ways.", -"", -" The first multiplot implementation is the standard gnuplot multiplot feature:", -"", -" set terminal tgif", -" set output \"file.obj\"", -" set multiplot", -" set origin x01,y01", -" set size xs,ys", -" plot ...", -" ...", -" set origin x02,y02", -" plot ...", -" unset multiplot", -"", -" See `set multiplot` for further information.", -"", -" The second version is the [x,y] option for the driver itself. The advantage", -" of this implementation is that everything is scaled and placed automatically", -" without the need for setting origins and sizes; the graphs keep their natural", -" x/y proportions of 3/2 (or whatever is fixed by `set size`).", -"", -" If both multiplot methods are selected, the standard method is chosen and a", -" warning message is given.", -"", -" Examples of single plots (or standard multiplot):", -" set terminal tgif # defaults", -" set terminal tgif \"Times-Roman,24\"", -" set terminal tgif landscape", -" set terminal tgif landscape solid", -"", -" Examples using the built-in multiplot mechanism:", -" set terminal tgif portrait [2,4] # portrait; 2 plots in the x-", -" # and 4 in the y-direction", -" set terminal tgif [1,2] # portrait; 1 plot in the x-", -" # and 2 in the y-direction", -" set terminal tgif landscape [3,3] # landscape; 3 plots in both", -" # directions" -#else /* JAPANESE_DOC */ -"1 tgif", -"?commands set terminal tgif", -"?set terminal tgif", -"?set term tgif", -"?terminal tgif", -"?term tgif", -"?tgif", -" 古い (legacy) 出力形式です (gnuplot の configure 時に --with-tgif をつ", -" けたときのみ使用可能)。", -" tgif は、Xlib ベースの対話型、2 次元ベクトル形式のドローイングツールで", -" ビットマップ画像を取り込んだり、結果をビットマップ化したりできます。", -"", -" `tgif` ドライバは、フォント指定、フォントサイズ指定、1 ページ内の複数の", -" グラフ描画をサポートしています。軸の比率は変更されません。", -"", -" 書式:", -" set terminal tgif {portrait | landscape | default} {<[x,y]>}", -" {monochrome | color}", -" {{linewidth | lw} }", -" {solid | dashed}", -" {font \"{,}\"}", -"", -" <[x,y]> にはそのページ内の x 方向、y 方向のグラフの数を指定し、", -" `color` はカラー機能を有効にし、`linewidth` は全ての線幅を 倍し、", -" \"\" には有効な PostScript フォント名、 はその", -" PostScript フォントの大きさを指定します。`defaults` は全てのオプション", -" の値をデフォルトの値にセットします。デフォルトは `portrait`, `[1,1]`,", -" `color`, `linewidth 1.0`, `dashed`, `\"Helvetica,18\"` です。", -"", -" `solid` オプションは、編集作業中にそうであるように、線がカラーである場", -" 合に普通使われます。ハードコピーは白黒になることが多いので、その場合は", -" `dashed` を選択すべきでしょう。", -"", -" 多重描画 (multiplot) は 2 種類の方法で実装されています。", -"", -" その一つは、標準的な gnuplot の多重描画のやり方です:", -"", -" set terminal tgif", -" set output \"file.obj\"", -" set multiplot", -" set origin x01,y01", -" set size xs,ys", -" plot ...", -" ...", -" set origin x02,y02", -" plot ...", -" unset multiplot", -"", -" より詳しい情報については、以下参照: `set multiplot`。", -"", -" もう一つの方法はドライバの [x,y] オプションです。この方法の長所は、原", -" 点 (origin) や大きさ (size) の設定をしなくても全てのグラフが自動的に縮", -" 尺され配置されることです。グラフの比 x/y は、自然な比 3/2 (または `set", -" size` で設定されたもの) が保持されます。", -"", -" 両方の多重描画の実装が選択された場合、標準的なやり方の方が選択され、警", -" 告のメッセージが表示されます。", -"", -" 単一描画 (または標準的な多重描画) の例:", -" set terminal tgif # デフォルト", -" set terminal tgif \"Times-Roman,24\"", -" set terminal tgif landscape", -" set terminal tgif landscape solid", -"", -" ドライバの持つ多重描画の仕組みを利用する例:", -" set terminal tgif portrait [2,4] # 縦置、x-方向に 2 つ、y-方向", -" # に 4 つのグラフ描画", -" set terminal tgif [1,2] # 縦置、x-方向に 1 つ、y-方向", -" # に 2 つのグラフ描画", -" set terminal tgif landscape [3,3] # 横置、両方の方向に 3 つのグ", -" # ラフ描画" -#endif /* JAPANESE_DOC */ -END_HELP(tgif) -START_HELP(tikz) -#ifndef JAPANESE_DOC -"1 tikz", -"?commands set terminal tikz", -"?set terminal tikz", -"?set term tikz", -"?terminal tikz", -"?term tikz", -"?tikz", -" This driver creates output for use with the TikZ package of graphics macros", -" in TeX. It is currently implemented via an external lua script, and ", -" `set term tikz` is a short form of the command `set term lua tikz`.", -" See `term lua tikz` for a complete description.", -" Use the command `set term tikz help` to print terminal options." -#else /* JAPANESE_DOC */ -"1 tikz", -"?commands set terminal tikz", -"?set terminal tikz", -"?set term tikz", -"?terminal tikz", -"?term tikz", -"?tikz", -" このドライバは、TeX のグラフィックマクロの TikZ パッケージとともに使用", -" する出力を生成します。現在は、外部 lua script によって実装されていて、", -" `set term tikz` は `set term lua tikz` の省略形です。", -" 完全な説明は、以下参照: `term lua tikz`。", -" 出力形式オプションの表示は、`set term tikz help` を使用してください。" -#endif -END_HELP(tikz) -START_HELP(tkcanvas) -#ifndef JAPANESE_DOC -"1 tkcanvas", -"?commands set terminal tkcanvas", -"?set terminal tkcanvas", -"?set term tkcanvas", -"?terminal tkcanvas", -"?term tkcanvas", -"?tkcanvas", -" This terminal driver generates Tk canvas widget commands in one of the", -" following scripting languages: Tcl (default), Perl, Python, Ruby, or REXX.", -"", -" Syntax:", -" set terminal tkcanvas {tcl | perl | perltkx | python | ruby | rexx}", -" {standalone | input}", -" {interactive}", -" {rounded | butt}", -" {nobackground | background }", -" {{no}rottext}", -" {size ,}", -" {{no}enhanced}", -" {externalimages | pixels}", -"", -" Execute the following sequence of Tcl/Tk commands to display the result:", -"", -" package require Tk", -" # the following two lines are only required to support external images", -" package require img::png", -" source resize.tcl", -" source plot.tcl", -" canvas .c -width 800 -height 600", -" pack .c", -" gnuplot .c", -"", -" Or, for Perl/Tk use a program like this:", -"", -" use Tk;", -" my $top = MainWindow->new;", -" my $c = $top->Canvas(-width => 800, -height => 600)->pack;", -" my $gnuplot = do \"plot.pl\";", -" $gnuplot->($c);", -" MainLoop;", -"", -" Or, for Perl/Tkx use a program like this:", -"", -" use Tkx;", -" my $top = Tkx::widget->new(\".\");", -" my $c = $top->new_tk__canvas(-width => 800, -height => 600);", -" $c->g_pack;", -" my $gnuplot = do \"plot.pl\";", -" $gnuplot->($c);", -" Tkx::MainLoop();", -"", -" Or, for Python/Tkinter use a program like this:", -"", -" from tkinter import *", -" from tkinter import font", -" root = Tk()", -" c = Canvas(root, width=800, height=600)", -" c.pack()", -" exec(open('plot.py').read())", -" gnuplot(c)", -" root.mainloop()", -"", -" Or, for Ruby/Tk use a program like this:", -"", -" require 'tk'", -" root = TkRoot.new { title 'Ruby/Tk' }", -" c = TkCanvas.new(root, 'width'=>800, 'height'=>600) { pack { } }", -" load('plot.rb')", -" gnuplot(c)", -" Tk.mainloop", -"", -" Or, for Rexx/Tk use a program like this:", -"", -" /**/", -" call RxFuncAdd 'TkLoadFuncs', 'rexxtk', 'TkLoadFuncs'", -" call TkLoadFuncs", -" cv = TkCanvas('.c', '-width', 800, '-height', 600)", -" call TkPack cv", -" call 'plot.rex' cv", -" do forever", -" cmd = TkWait()", -" if cmd = 'AWinClose' then leave", -" interpret 'call' cmd", -" end", -"", -" The code generated by `gnuplot` (in the above examples, this code is", -" written to \"plot.\") contains the following procedures:", -"", -" gnuplot(canvas)", -" takes the name of a canvas as its argument.", -" When called, it clears the canvas, finds the size of the canvas and", -" draws the plot in it, scaled to fit.", -"", -" gnuplot_plotarea()", -" returns a list containing the borders of the plotting area", -" (xleft, xright, ytop, ybot) in canvas screen coordinates." -" It works only for 2-dimensional plotting (`plot`).", -"", -" gnuplot_axisranges()", -" returns the ranges of the two axes in plot coordinates", -" (x1min, x1max, y1min, y1max, x2min, x2max, y2min, y2max).", -" It works only for 2-dimensional plotting (`plot`).", -"", -" You can create self-contained, minimal scripts using the `standalone`", -" option. The default is `input` which creates scripts which have to be", -" source'd (or loaded or called or whatever the adequate term is for the", -" language selected).", -"", -" If the `interactive` option is specified, mouse clicking on a line segment", -" will print the coordinates of its midpoint to stdout.", -" The user can supersede this behavior by supplying a procedure", -" user_gnuplot_coordinates which takes the following arguments:", -" win id x1s y1s x2s y2s x1e y1e x2e y2e x1m y1m x2m y2m,", -" i.e. the name of the canvas and the id of the line segment followed by the", -" coordinates of its start and end point in the two possible axis ranges; the", -" coordinates of the midpoint are only filled for logarithmic axes.", -"", -" By default the canvas is `transparent`, but an explicit background color", -" can be set with the `background` option.", -"", -" `rounded` sets line caps and line joins to be rounded;", -" `butt` is the default: butt caps and mitered joins.", -"", -" Text at arbitrary angles can be activated with the `rottext` option,", -" which requires Tcl/Tk 8.6 or later. The default is `norottext`.", -"", -" The `size` option tries to optimize the tic and font sizes for the given", -" canvas size. By default an output size of 800 x 600 pixels is assumed.", -"", -" `enhanced` selects `enhanced text` processing (default), but is currently", -" only available for Tcl.", -"", -" The `pixels` (default) option selects the failsafe pixel-by-pixel image", -" handler, see also `image pixels`.", -" The `externalimages` option saves images as external png images, which", -" are later loaded and scaled by the tkcanvas code. This option is only", -" available for Tcl and display may be slow in some situations since the", -" Tk image handler does not provide arbitrary scaling. Scripts need to source", -" the provided rescale.tcl.", -"", -" Interactive mode is not yet implemented for Python/Tk and Rexx/Tk.", -" Interactive mode for Ruby/Tk does not yet support user_gnuplot_coordinates." -#else /* JAPANESE_DOC */ -"1 tkcanvas", -"?commands set terminal tkcanvas", -"?set terminal tkcanvas", -"?set term tkcanvas", -"?terminal tkcanvas", -"?term tkcanvas", -"?tkcanvas", -" このドライバは、以下のスクリプト言語のうちの一つの Tk canvas widget コ", -" マンドを生成します: Tcl (デフォルト), Perl, Python, Ruby, REXX。", -"", -" 書式:", -" set terminal tkcanvas {tcl | perl | perltkx | python | ruby | rexx}", -" {standalone | input}", -" {interactive}", -" {rounded | butt}", -" {nobackground | background }", -" {{no}rottext}", -" {size ,}", -" {{no}enhanced}", -" {externalimages | pixels}", -"", -" 結果を表示するには、以下の Tcl/Tk コマンド列を実行します:", -"", -" package require Tk", -" # 以下の 2 行は、外部画像を使用する場合にのみ必要", -" package require img::png", -" source resize.tcl", -" source plot.tcl", -" canvas .c -width 800 -height 600", -" pack .c", -" gnuplot .c", -"", -" Perl/Tk の場合は、以下のようにします:", -"", -" use Tk;", -" my $top = MainWindow->new;", -" my $c = $top->Canvas(-width => 800, -height => 600)->pack;", -" my $gnuplot = do \"plot.pl\";", -" $gnuplot->($c);", -" MainLoop;", -"", -" Perl/Tkx の場合は、以下のようにします:", -"", -" use Tkx;", -" my $top = Tkx::widget->new(\".\");", -" my $c = $top->new_tk__canvas(-width => 800, -height => 600);", -" $c->g_pack;", -" my $gnuplot = do \"plot.pl\";", -" $gnuplot->($c);", -" Tkx::MainLoop();", -"", -" Python/Tkinter の場合は、以下のようにします:", -"", -" from tkinter import *", -" from tkinter import font", -" root = Tk()", -" c = Canvas(root, width=800, height=600)", -" c.pack()", -" exec(open('plot.py').read())", -" gnuplot(c)", -" root.mainloop()", -"", -" Ruby/Tk の場合は、以下のようにします:", -"", -" require 'tk'", -" root = TkRoot.new { title 'Ruby/Tk' }", -" c = TkCanvas.new(root, 'width'=>800, 'height'=>600) { pack { } }", -" load('plot.rb')", -" gnuplot(c)", -" Tk.mainloop", -"", -" Rexx/Tk の場合は、以下のようにします:", -"", -" /**/", -" call RxFuncAdd 'TkLoadFuncs', 'rexxtk', 'TkLoadFuncs'", -" call TkLoadFuncs", -" cv = TkCanvas('.c', '-width', 800, '-height', 600)", -" call TkPack cv", -" call 'plot.rex' cv", -" do forever", -" cmd = TkWait()", -" if cmd = 'AWinClose' then leave", -" interpret 'call' cmd", -" end", -"", -" `gnuplot` が生成するコード (上の例では、\"plot.\" として書き出され", -" ているものです) は、以下のような手続き関数を含んでいます:", -"", -" gnuplot(canvas)", -" 引数として canvas の名前を取ります。", -" これを呼び出すと、その canvas をクリアし、canvas のサイズを探し、そ", -" の中にグラフを描き、それに合うように伸縮します。", -"", -" gnuplot_plotarea()", -" canvas スクリーン座標での描画領域の境界 (xleft, xright, ytop, ybot)", -" を含むリストを返します。", -" 2 次元グラフ描画 (`plot`) に対してのみ動作します。", -"", -" gnuplot_axisranges()", -" グラフ座標での 2 つの軸の範囲 (x1min, x1max, y1min, y1max, x2min,", -" x2max, y2min, y2max) を返します。", -" 2 次元グラフ描画 (`plot`) に対してのみ動作します。", -"", -" オプション `standalone` を使えば、自己完結した最小スクリプトを生成でき", -" ます。デフォルトは `input` で、これは取り込まれるべきスクリプトを作りま", -" す (すなわち、load されるか call されるか、または選択した言語用のなんら", -" かの適切な方法で)。", -"", -" オプション `interactive` を指定すると、一つの線分上でマウスクリックした", -" ときにその中点の座標が標準出力に出力されるようになります。", -" この動作は、user_gnuplot_coordinates という手続き関数を定義することで、", -" 別なものに置き換えることも可能です。その手続き関数には以下の引数が渡さ", -" れます:", -" win id x1s y1s x2s y2s x1e y1e x2e y2e x1m y1m x2m y2m,", -" これらは、canvas の名前、線分の id、2 つの座標系でのその線分の開始点の", -" 座標、終了点の座標、中点の座標です。中点の座標は、対数軸に対してのみ与", -" えられます", -"", -" デフォルトでは、canvas は `transparent` ですが、オプション `background`", -" で、明示的に背景色を設定することもできます。", -"", -" `rounded` は、線の端や接合部を丸くします。", -" デフォルトの `butt` は、尖った端と角張った接合部を使用します。", -"", -" オプション `rottext` で、文字列の任意角での回転を有効にできますが、それ", -" には Tcl/Tk 8.6 以降が必要です。デフォルトは `norottext` です。", -"", -" オプション `size` は、目盛りの刻みとフォントサイズを、指定された canvas", -" サイズに対して最適化なものにしようとします。デフォルトでは、出力サイズ", -" は 800 x 600 ピクセルとしています。", -"", -" `enhanced` は、拡張文字列処理を選択します (デフォルト) が、これは今のと", -" ころ Tcl でのみ利用可能です。", -"", -" オプション `pixels` (デフォルト) は、フェールセーフなピクセル毎の画像処", -" 理ルーチンを選択します。以下参照: `image pixels`。", -" オプション `externalimages` は、画像を外部 PNG 画像として保存し、それを", -" あとで tkcanvas コードが読み込んで伸縮します。このオプションは、Tcl で", -" のみ有効で、しかも Tk の画像処理ルーチンが任意の伸縮を提供していないた", -" めに、ある状況では遅くなります。この場合、スクリプトで、提供される", -" rescale.tcl を取り込まなければいけません。", -"", -" 対話型モードは、Python/Tk, Rexx/Tk ではまだ実装されていません。Ryby/Tk", -" の対話型モードは、まだ user_gnuplot_coordinates をサポートしていません。" -#endif /* JAPANESE_DOC */ -END_HELP(tkcanvas) -START_HELP(webp) -#ifndef JAPANESE_DOC -"1 webp", -"?set terminal webp", -"?terminal webp", -"?set term webp", -"?term webp", -"?webp", -" The `webp` terminal generates either a single frame or an animation.", -" The actual drawing is done via cairo, a 2D graphics library, and pango,", -" a library for laying out and rendering text.", -"", -" Syntax:", -" set term webp", -" {size ,}", -" {font } {fontscale } {{no}enhanced}", -" {{no}transparent} {background ", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {pointscale }", -"", -" {{no}animate {quality } {delay } {loop }}", -"", -" Individual frames produced by the webp terminal are first created as 32-bit", -" RGB + alpha channel images using routines shared with the pngcairo terminal.", -" See `set term pngcairo` for more details about font and terminal options.", -" The frames are then converted to webp format on output.", -"", -" The `animate` option produces a webp file containing multiple frames,", -" each one created by a separate `plot` or `splot` command. The animation", -" sequence is terminated by the next `set output` or `set terminal` command.", -"", -" `quality` (1..100) affects the size of the output file.", -" q values from 1 to 74 use lossy compression; smaller values produce a", -" smaller file at the cost of lost detail in the rendered image.", -" q values from 75 to 100 use lossless compression. All produce the same", -" image quality (lossless!). Larger values spend more computing time for", -" diminishing benefit in reduced file size.", -" The default is 75, lossless compression without excessive computation.", -"", -" The `delay` suboption sets the delay time in milliseconds between frames", -" during playback (default 50 milliseconds).", -"", -" The `loop` suboption specifies how many times the animation sequence should", -" be repeated during playback. The default (0) gives a continuous loop.", -"" -#else /* JAPANESE_DOC */ -"1 webp", -"?set terminal webp", -"?terminal webp", -"?set term webp", -"?term webp", -"?webp", -" `webp` 出力形式は、単一フレーム、またはアニメーションを生成します。実際", -" の描画は、2 次元グラフィックライブラリ cairo と、レイアウト、文字の描画", -" ライブラリ pango が担当します。", -"", -" 書式:", -" set term webp", -" {size ,}", -" {font } {fontscale } {{no}enhanced}", -" {{no}transparent} {background ", -" {linewidth } {rounded|butt|square} {dashlength
    }", -" {pointscale }", -"", -" {{no}animate {quality } {delay } {loop }}", -"", -" ンネル画像として、pngcairo 出力形式と共有するルーチンを使って作ります。", -" フォントや terminal オプションに関する詳細は、以下参照:", -" `set terminal pngcairo`。", -" その後、そのフレームを出力時に webp 形式に変換します。", -"", -" オプション `animate` は、複数のフレームからなる webp ファイルを生成しま", -" す。個々のフレームは、個別の `plot`、または `splot` コマンドで生成した", -" ものです。そのアニメーション列は、コマンド `set output` か、", -" `set terminal` で終了します。", -"", -" `quality` (1..100) は、出力ファイルのサイズに影響します。1-74 の q の値", -" は、損失 (loss) のある圧縮を使用します。より小さい値を指定すると、描画", -" する画像の細部の喪失を犠牲にして、より小さいファイルを作成します。", -" 75-100 の q の値は、損失のない (lossless) 圧縮を行います。これはすべて", -" 同じ画像品質です (lossless!)。より大きな値を指定すると、減らすファイル", -" サイズにおける価値の減少のためにより多くの計算時間を費します。", -" デフォルトは 75 で、余分な計算なしに損失のない圧縮を行います。", -"", -" サブオプション `delay` は、再生時のフレーム間隔をミリ秒単位で設定します", -" (デフォルトは 50 ミリ秒)。", -"", -" サブオプション `loop` は、再生時にアニメーション列を何回繰り返して再生", -" するかを指定します。デフォルトの 0 はループし続けます。", -"" -#endif /* JAPANESE_DOC */ -END_HELP(webp) -START_HELP(windows) -#ifndef JAPANESE_DOC -"1 windows", -"?commands set terminal windows", -"?set terminal windows", -"?set term windows", -"?terminal windows", -"?term windows", -"?windows", -" The `windows` terminal is a fast interactive terminal driver that uses the", -" Windows GDI to draw and write text. The cross-platform `terminal wxt` and", -" `terminal qt` are also supported on Windows.", -"", -" Syntax:", -" set terminal windows {}", -" {color | monochrome}", -" {solid | dashed}", -" {rounded | butt}", -" {enhanced | noenhanced}", -" {font }", -" {fontscale }", -" {linewidth }", -" {pointscale }", -" {background }", -" {title \"Plot Window Title\"}", -" {{size | wsize} ,}", -" {position ,}", -" {docked {layout ,} | standalone}", -" {close}", -"", -" Multiple plot windows are supported: `set terminal win ` directs the", -" output to plot window number n.", -"", -" `color` and `monochrome` select colored or mono output,", -" `dashed` and `solid` select dashed or solid lines. Note that `color`", -" defaults to `solid`, whereas `monochrome` defaults to `dashed`.", -" `rounded` sets line caps and line joins to be rounded; `butt` is the", -" default, butt caps and mitered joins.", -" `enhanced` enables enhanced text mode features (subscripts,", -" superscripts and mixed fonts, see `enhanced text` for more information).", -" `` is in the format \",\", where \"\"", -" is the name of a valid Windows font, and is the size of the font", -" in points and both components are optional.", -" Note that in previous versions of gnuplot the `font` statement could be left", -" out and could be given as a number without double quotes. This is", -" no longer supported.", -" `linewidth`, `fontscale`, `pointscale` can be used to scale the width of", -" lines, the size of text, or the size of the point symbols.", -" `title` changes the title of the graph window.", -" `size` defines the width and height of the window's drawing area in pixels,", -" `wsize` defines the actual size of the window itself and `position` defines", -" the origin of the window i.e. the position of the top left corner on the", -" screen (again in pixel). These options override any default settings", -" from the `wgnuplot.ini` file.", -"", -" `docked` embeds the graph window in the wgnuplot text window and the `size`", -" and `position` options are ignored. Note that `docked` is not available for", -" console-mode gnuplot. Setting this option changes the default for new" -" windows. The initial default is `standalone`. The `layout` option allows to", -" reserve a minimal number of columns and rows for graphs in docked mode. If", -" there are more graphs than fit the given layout, additional rows will be added.", -" Graphs are sorted by the numerical id, filling rows first.", -"", -" Other options may be changed using the `graph-menu` or the initialization file", -" `wgnuplot.ini`.", -"", -/* FIXME: Move to persist section */ -" The Windows version normally terminates immediately as soon as the end of", -" any files given as command line arguments is reached (i.e. in non-interactive", -" mode), unless you specify `-` as the last command line option.", -" It will also not show the text-window at all, in this mode, only the plot.", -" By giving the optional argument `-persist` (same as for gnuplot under x11;", -" former Windows-only options `/noend` or `-noend` are still accepted as well),", -" will not close gnuplot. Contrary to gnuplot on other operating systems,", -" gnuplot's interactive command line is accessible after the -persist option.", -"", -" The plot window remains open when the gnuplot terminal is changed with a", -" `set term` command. The plot window can be closed with `set term windows close`.", -"", -" `gnuplot` supports different methods to create printed output on Windows,", -" see `windows printing`. The windows terminal supports data exchange with ", -" other programs via clipboard and EMF files, see `graph-menu`. You can also", -" use the `terminal emf` to create EMF files.", -"2 graph-menu", -"?commands set terminal windows graph-menu", -"?set terminal windows graph-menu", -"?set term windows graph-menu", -"?windows graph-menu", -"?graph-menu", -" The `gnuplot graph` window has the following options on a pop-up menu", -" accessed by pressing the right mouse button(*) or selecting `Options` from the", -" system menu or the toolbar:", -"", -" `Copy to Clipboard` copies a bitmap and an enhanced metafile picture.", -"", -" `Save as EMF...` allows the user to save the current graph window as", -" enhanced metafile (EMF or EMF+).", -"", -" `Save as Bitmap...` allows the user to save a copy of the graph as bitmap", -" file.", -"", -" `Print...` prints the graphics windows using a Windows printer driver and", -" allows selection of the printer and scaling of the output." -" See also `windows printing`.", -"", -" `Bring to Top` when checked raises the graph window to the top after every", -" plot.", -"", -" `Color` when checked enables color output. When unchecked it forces", -" all grayscale output. This is e.g. useful to test appearance of monochrome", -" printouts.", -"", -#ifdef USE_WINGDI -" `GDI backend` draws to the screen using Windows GDI. This is the classical", -" windows terminal, which is fast, but lacks many features such as", -" anti-aliasing, oversampling and full transparency support. It is now", -" deprecated.", -#else -" The `GDI backend` which uses the classic GDI API is deprecated and has been", -" disabled in this version.", -#endif -"", -" `GDI+ backend` draws to the screen using the GDI+ Windows API. It supports", -" full antialiasing, oversampling, transparency and custom dash patterns.", -" This was the default in versions 5.0 and 5.2.", -"", -" `Direct2D backend` uses Direct2D & DirectWrite APIs to draw. It uses graphic", -" card acceleration and is hence typically much faster. Since Direct2D can" -" not create EMF data, saving and copying to clipboard of EMF data fall back" -" to GDI+ while bitmap data is generated by D2d.", -" This is the recommended and default backend since version 5.3.", -"", -" `Oversampling` draws diagonal lines at fractional pixel positions to avoid", -" \"wobbling\" effects. Vertical or horizontal lines are still snapped", -" to integer pixel positions to avoid blurry lines.", -"", -" `Antialiasing` enables smoothing of lines and edges. Note that this slows", -" down drawing. `Antialiasing of polygons` is enabled by default but might", -" slow down drawing with the GDI+ backend.", -"", -" `Fast rotation` switches antialiasing temporarily off while rotating the", -" graph with the mouse. This speeds up drawing considerably at the expense", -" of an additional redraw after releasing the mouse button.", -"", -" `Background...` sets the window background color.", -"", -" `Choose Font...` selects the font used in the graphics window.", -"", -#ifdef WIN_CUSTOM_PENS -" `Line Styles...` allows customization of the line colors and styles.", -"", -#endif -" `Update wgnuplot.ini` saves the current window locations, window sizes, text", -" window font, text window font size, graph window font, graph window font", -" size, background color to the initialization file `wgnuplot.ini`.", -"", -"^
    ", -" (*) Note that this menu is only available by pressing the right mouse button", -" with `unset mouse`.", -"2 printing", -"?commands set terminal windows printing", -"?set terminal windows printing", -"?set term windows printing", -"?windows printing", -"?printing", -"?screendump", -" In order of preference, graphs may be printed in the following ways:", -"", -" `1.` Use the `gnuplot` command `set terminal` to select a printer and `set", -" output` to redirect output to a file.", -"", -" `2.` Select the `Print...` command from the `gnuplot graph` window. An extra", -" command `screendump` does this from the text window.", -"", -" `3.` If `set output \"PRN\"` is used, output will go to a temporary file. When", -" you exit from `gnuplot` or when you change the output with another `set", -" output` command, a dialog box will appear for you to select a printer port.", -" If you choose OK, the output will be printed on the selected port, passing", -" unmodified through the print manager. It is possible to accidentally (or", -" deliberately) send printer output meant for one printer to an incompatible", -" printer.", -"", -"2 text-menu", /* FIXME: this is not really related to the windows driver, but the windows platform */ -"?commands set terminal windows text-menu", -"?set terminal windows text-menu", -"?set term windows text-menu", -"?windows text-menu", -"?text-menu", -" The `gnuplot text` window has the following options on a pop-up menu accessed", -" by pressing the right mouse button or selecting `Options` from the system", -" menu:", -"", -" `Copy to Clipboard` copies marked text to the clipboard.", -"", -" `Paste` copies text from the clipboard as if typed by the user.", -"", -" `Choose Font...` selects the font used in the text window.", -"", -" `System Colors` when selected makes the text window honor the System Colors", -" set using the Control Panel. When unselected, text is black or blue on a", -" white background.", -"", -" `Wrap long lines` when selected lines longer than the current window width", -" are wrapped.", -"", -" `Update wgnuplot.ini` saves the current settings to the initialisation file", -" `wgnuplot.ini`, which is located in the user's application data directory.", -"", -"2 wgnuplot.mnu", /* FIXME: this is not really related to the windows driver, but the windows platform */ -"?windows wgnuplot.mnu", -"?wgnuplot.mnu", -" If the menu file `wgnuplot.mnu` is found in the same directory as", -" `gnuplot`, then the menu specified in `wgnuplot.mnu` will be loaded.", -" Menu commands:", -"", -" [Menu] starts a new menu with the name on the following line.", -" [EndMenu] ends the current menu.", -" [--] inserts a horizontal menu separator.", -" [|] inserts a vertical menu separator.", -" [Button] puts the next macro on a push button instead of a menu.", -"", -" Macros take two lines with the macro name (menu entry) on the first line and", -" the macro on the second line. Leading spaces are ignored. Macro commands:", -"", -" [INPUT] Input string with prompt terminated by [EOS] or {ENTER}", -" [EOS] End Of String terminator. Generates no output.", -" [OPEN] Get name of a file to open, with the title of the dialog", -" terminated by [EOS], followed by a default filename terminated", -" by [EOS] or {ENTER}.", -" [SAVE] Get name of a file to save. Parameters like [OPEN]", -" [DIRECTORY] Get name of a directory, with the title of the dialog", -" terminated by [EOS] or {ENTER}", -"", -" Macro character substitutions:", -"", -" {ENTER} Carriage Return '\\r'", -" {TAB} Tab '\\011'", -" {ESC} Escape '\\033'", -" {^A} '\\001'", -" ...", -" {^_} '\\031'", -"", -" Macros are limited to 256 characters after expansion.", -"", -"2 wgnuplot.ini", -"?commands set terminal windows wgnuplot.ini", -"?set terminal windows wgnuplot.ini", -"?set term windows wgnuplot.ini", -"?windows wgnuplot.ini", -"?wgnuplot.ini", -" The Windows text window and the `windows` terminal will read some of their options from", -" the `[WGNUPLOT]` section of `wgnuplot.ini`.", -" This file is located in the user's application data directory. Here's a sample", -" `wgnuplot.ini` file:", -"", -" [WGNUPLOT]", -" TextOrigin=0 0", -" TextSize=640 150", -" TextFont=Consolas,9", -" TextWrap=1", -" TextLines=400", -" TextMaximized=0", -" SysColors=0", -" GraphOrigin=0 150", -" GraphSize=640 330", -" GraphFont=Tahoma,10", -" GraphColor=1", -" GraphToTop=1", -" GraphGDI+=1", -" GraphD2D=0", -" GraphGDI+Oversampling=1", -" GraphAntialiasing=1", -" GraphPolygonAA=1", -" GraphFastRotation=1", -" GraphBackground=255 255 255", -" DockVerticalTextFrac=350", -" DockHorizontalTextFrac=400", -#ifdef WIN_CUSTOM_PENS -" Border=0 0 0 0 0", -" Axis=192 192 192 2 2", -" Line1=0 0 255 0 0", -" Line2=0 255 0 0 1", -" Line3=255 0 0 0 2", -" Line4=255 0 255 0 3", -" Line5=0 0 128 0 4", -#endif -"", -"^

    Text window options

    ", -"", -" These settings apply to the wgnuplot text-window only." -"", -" The `TextOrigin` and `TextSize` entries specify the location and size of the", -" text window. If `TextMaximized` is non-zero, the window will be maximized.", -"", -" The `TextFont` entry specifies the text window font and size.", -"", -" The `TextWrap` entry selects wrapping of long text lines.", -"", -" The `TextLines` entry specifies the number of (unwrapped) lines the internal", -" buffer of the text window can hold. This value currently cannot be changed", -" from within wgnuplot.", -"", -" See `text-menu`.", -"", -"^

    Docked graph options

    ", -"", -" `DockVerticalTextFrac` and `DockHorizontalTextFrac` set the fraction of the", -" window reserved for the text window in permille of the vertical or horizontal", -" layout.", -"", -"^

    Graph window options

    ", -"", -" The `GraphFont` entry specifies the font name and size in points.", -#ifdef WIN_CUSTOM_PENS -"", -" The five", -" numbers given in the `Border`, `Axis` and `Line` entries are the `Red`", -" intensity (0--255), `Green` intensity, `Blue` intensity, `Color Linestyle`", -" and `Mono Linestyle`. `Linestyles` are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT,", -" 4=DASHDOTDOT. In the sample `wgnuplot.ini` file above, Line 2 is a green", -" solid line in color mode, or a dashed line in monochrome mode. The default", -" line width is 1 pixel. If `Linestyle` is negative, it specifies the width of", -" a SOLID line in pixels. Line1 and any linestyle used with the `points` style", -" must be SOLID with unit width.", -#endif -"", -" See `graph-menu`." -#else /* JAPANESE_DOC */ -"1 windows", -"?commands set terminal windows", -"?set terminal windows", -"?set term windows", -"?terminal windows", -"?term windows", -"?windows", -" 出力形式 `windows` は、グラフ描画と文字列描画に Windows GDI を使用する", -" 高速な対話型出力ドライバです。Windows では、複数の環境で動作する `wxt`", -" 出力形式、`qt` 出力形式もサポートされています。", -"", -" 書式:", -" set terminal windows {}", -" {color | monochrome}", -" {solid | dashed}", -" {rounded | butt}", -" {enhanced | noenhanced}", -" {font }", -" {fontscale }", -" {linewidth }", -" {pointscale }", -" {background }", -" {title \"Plot Window Title\"}", -" {{size | wsize} ,}", -" {position ,}", -" {docked {layout ,} | standalone}", -" {close}", -"", -" 複数のウィンドウ描画がサポートされています: `set terminal win ` で", -" 出力が番号 n の描画ウィンドウに送られます。", -"", -" `color`, `monochrome` は、カラー出力か白黒出力かの選択で、", -" `dashed` と `solid` は、点線と実線の選択です。`color` では `solid` が", -" デフォルトで、`monochrome` では `dashed` がデフォルトです。", -" `rounded` は、線の端や接合部を丸くし、デフォルトの `butt` は尖った端と", -" 角張った接合部を使用します。", -" `enhanced` は拡張文字列処理 (enhanced text mode) の機能 (上付、下付文字", -" やフォントの混在) を有効にします。詳細は以下参照: `enhanced text`。", -" `` は \",\" の形式で、\"\" は有", -" 効な Windows のフォント名で、`` はポイント単位でのフォントの", -" 大きさです。この両要素はいずれも省略可能です。", -" 以前の版の gnuplot では、`font` キーワードは省略可能で、 は引", -" 用符なしの数値で与えることができましたが、現在はその形式はサポートして", -" いませんので注意してください。", -" `linewidth`, `fontscale`, `pointscale` で、線の幅、文字サイズ、点記号の", -" 大きさを伸縮できます。", -" `title` は、グラフウィンドウのタイトルを変更します。", -" `size` はウィンドウ内の描画領域のピクセル単位での幅と高さを、`wsize` は", -" ウィンドウ自身の実際のサイズを、`position` はウィンドウの原点、すなわち", -" 左上角のスクリーン上のピクセル単位での位置を定義します。これらのオプシ", -" ョンは、ファイル `wgnuplot.ini` のデフォルトの設定を上書きします。", -"", -" `docked` は、グラフウィンドウを、wgnuplot のテキストウィンドウの中に埋", -" め込み、`size` と `position` のオプションを無視します。`docked` は、コ", -" ンソール版の gnuplot では利用できないことに注意してください。このオプシ", -" ョンを設定すると、新規のウィンドウに対してデフォルトの値を変更します。", -" 最初のデフォルトは、`standalone` です。ドッキングモードでは、グラフの最", -" 小列数、行数は追加オプション `layout` で保持できます。指定されたレイア", -" ウト以上にグラフがある場合は、行を追加します。複数のグラフは、数値 ID", -" でソートし、行方向に埋めていきます。", -"", -" 他のオプションもグラフメニューや初期化ファイル `wgnuplot.ini` で変更で", -" きます。", -"", -/* FIXME: Move to persist section */ -" Windows 版は、非対話型モードでは通常、コマンドラインから与えたファイル", -" の最後に達すると直ちに終了しますが、コマンドラインの最後に `-` を指定", -" した場合は別です。また、このモードではテキストウィンドウは表示せず、グ", -" ラフのみの表示となりますが、オプションとして `-persist` (x11 版の", -" gnuplot と同じオプション; 従来の Windows のみのオプション `/noend` や", -" `-noend` を使うこともできます) を指定すると gnuplot は終了しなくなりま", -" す。この場合他の OS での gnuplot の挙動とは異なり、-persist オプション", -" 後も gnuplot の対話型コマンドラインを受け付けます。", -"", -" コマンド `set term` で gnuplot の出力形式を変更した場合、描画ウィンドウ", -" はそのまま残りますが、`set term windows close` で描画ウィンドウを閉じる", -" ことができます。", -"", -" `gnuplot` は、Windows 上での出力の生成のためのいくつかの方法をサポート", -" しています。以下参照: `windows printing`。windows 出力形式は、クリップ", -" ボードや EMF ファイルを通して他のプログラムとのデータの交換をサポートし", -" ています。以下参照: `graph-menu`。EMF ファイルを生成するには、`emf` 出", -" 力形式を使うこともできます。", -"2 グラフメニュー (graph-menu)", -"?commands set terminal windows graph-menu", -"?set terminal windows graph-menu", -"?set term windows graph-menu", -"?windows graph-menu", -"?graph-menu", -" `gnuplot graph` ウィンドウでマウスの右ボタン(*) を押すか、システムメニ", -" ューやツールバーから `Options` を選択すると以下のオプションを持つポップ", -" アップメニューが現われます:", -"", -" `Copy to Clipboard` クリップボードにビットマップや EMF 画像をコピー", -"", -" `Save as EMF...` 現在のグラフウィンドウをメタファイル (EMF か EMF+) と", -" して保存", -"", -" `Save as Bitmap...` 現在のグラフをビットマップファイルとして保存", -"", -" `Print...` グラフィックウィンドウを Windows プリンタドライバでプリント", -" アウト。プリンタと拡大率の選択が可能。以下も参照: `windows printing`。", -"", -" `Bring to Top` チェックを入れるとグラフウィンドウを他の全ての描画ウィン", -" ドウの手前に表示", -"", -" `Color` チェックを入れるとカラー出力が有効、チェック無しだとすべて灰色", -" 階調表示。これは例えば白黒のプリントアウトの見た目の確認に有用です。", -"", -#ifdef USE_WINGDI -" `GDI backend` Windows GDI を使うスクリーン描画。これは古典的な windows", -" 出力形式の方法で、高速ですが、アンチエイリアス、オーバーサンプリング、", -" 完全な透過機能などの多くの機能を持っていません。現在は非推奨です。", -#else -" `GDI backend` 古典的な GDI API を使うもので、非推奨であり、このバージョ", -" ンでは無効になっています。", -#endif -"", -" `GDI+ backend` GDI+ Windows API を使うスクリーン描画。これは、アンチエ", -" イリアス、オーバーサンプリング、透過、点線/破線パターンのカスタマイズの", -" すべてを完全にサポートします。バージョン 5.0, 5.2 ではデフォルトでした。", -"", -" `Direct2D backend` Direct2D と DirectWrite API を使用する描画。これは、", -" グラフィックカード加速機能を使用し、よって通常は最も高速です。Direct2D", -" は EMF データを作れませんので、EMF データのクリップボードへのコピーの際", -" には、D2d でビットマップデータを生成している間 GDI+ で作業します。", -" 現在はこれを推奨していて、バージョン 5.3 からはこれがデフォルトのバック", -" エンドになります", -"", -" `Oversampling` これにより、対角線は非整数のピクセル位置に描画され、左右", -" にふらつくことが避けられます。しかし鉛直線、水平線は、ぼやけた線になら", -" ないよう整数のピクセル位置に置かれます。", -"", -" `Antialiasing` 折れ線や線の端の平滑化を可能にします。これは描画を遲くす", -" ることに注意してください。", -" `Antialiasing of polygons` 多角形描画のアンチエイリアスは、デフォルトで", -" は有効ですが、GDI+ のバックエンドでは描画を遅くする可能性があります。", -"", -" `Fast rotation` グラフウィンドウをマウスで回転している際にアンチエイリ", -" アスを一時的にオフにします。これは、マウスボタンを離した後に追加の再描", -" 画が行われますが、相当に描画を早くしてくれます。", -"", -" `Background...` ウィンドウ背景色の設定", -"", -" `Choose Font...` グラフィックウィンドウで使うフォントの選択", -"", -#ifdef WIN_CUSTOM_PENS -" `Line Styles...` 線の色や種類のカスタマイズ", -"", -#endif -" `Update wgnuplot.ini` 現在のウィンドウの位置、ウィンドウの大きさ、テキ", -" ストウィンドウのフォントとそのフォントサイズ、グラフウィンドウのフォン", -" トとそのフォントサイズ、背景色を初期化ファイル `wgnuplot.ini` に保存", -"", -"^
    ", -" (*) このメニューは、`unset mouse` によって右マウスボタン押ししか使えな", -" くなるので注意。", -"2 印刷 (printing)", -"?commands set terminal windows printing", -"?set terminal windows printing", -"?set term windows printing", -"?windows printing", -"?printing", -"?screendump", -" 好みにより、グラフは以下のような方法で印刷できます。", -"", -" `1.` `gnuplot` のコマンド `set terminal` でプリンタを選択し、`set output`", -" で出力をファイルにリダイレクト", -"", -" `2.` `gnuplot graph` ウィンドウから `Print...` コマンドを選択。テキス", -" トウィンドウからこれを行なう特別なコマンド `screendump` もある。", -"", -" `3.` `set output \"PRN\"` とすると出力は一時ファイルに出力され、`gnuplot`", -" を終了するかまたは `set output` コマンドで出力を他のものへ変更すると、", -" ダイアログ (対話) ボックスが現われ、そこでプリンタポートを選択。そこで", -" OK を選択すると、出力はプリントマネージャでは加工されずにそのまま選択", -" されたポートでプリントアウトされる。これは偶然 (または故意) に、あるプ", -" リンタ用の出力を、それに対応していないプリンタに送り得ることを意味する。", -"", -"2 テキストメニュー (text-menu)", /* FIXME: this is not really related to the windows driver, but the windows platform */ -"?commands set terminal windows text-menu", -"?set terminal windows text-menu", -"?set term windows text-menu", -"?windows text-menu", -"?text-menu", -" `gnuplot text` ウィンドウでマウスの右ボタンを押すか、システムメニュー", -" から `Options` を選択すると以下のオプションを持つポップアップメニュー", -" が現われます:", -"", -" `Copy to Clipboard` マークしたテキストをクリップボードにコピー", -"", -" `Paste` 打ち込んだのと同じようにクリップボードからテキストをコピー", -"", -" `Choose Font...` テキストウィンドウで使うフォントの選択", -"", -" `System Colors` 選択するとコントロールパネルで設定したシステムカラーを", -" テキストウィンドウに与える。選択しなければ白背景で文字は黒か青。", -"", -" `Wrap long lines` 選択すると現在のウィンドウ幅よりも長い行を折り返す", -"", -" `Update wgnuplot.ini` 現在の設定を、ユーザのアプリケーションデータディ", -" レクトリにある初期化ファイル `wgnuplot.ini` に保存", -"", -"2 メニューファイル wgnuplot.mnu", /* FIXME: this is not really related to the windows driver, but the windows platform */ -"?windows wgnuplot.mnu", -"?wgnuplot.mnu", -" メニューファイル `wgnuplot.mnu` が `gnuplot` と同じディレクトリにある場", -" 合、`wgnuplot.mnu` に書かれているメニューが読み込まれます。メニューコマ", -" ンドは以下の通り:", -"", -" [Menu] 次の行の名前で新しいメニューを開始", -" [EndMenu] 現在のメニューを終了", -" [--] 水平なメニューの仕切りを入れる", -" [|] 垂直なメニューの仕切りを入れる", -" [Button] メニューに押しボタンを入れ、それに次のマクロを割り当てる", -"", -" マクロは 2 行で書き、最初の行はマクロ名 (メニューの見出し)、2 行目がマ", -" クロ本体です。先頭の空白列は無視されます。マクロコマンドは以下の通り:", -"", -" [INPUT] [EOS] か {ENTER} までをプロンプトとして出力し文字列を入力", -" [EOS] 文字列の終り (End Of String)。何も出力しない", -" [OPEN] 開くファイル名を取得。最初の [EOS] までが対話ウィンドウのタ", -" イトル、そこから次の [EOS] か {ENTER} までがデフォルトのフ", -" ァイル名", -" [SAVE] セーブファイル名を取得 ([OPEN] 同様)", -" [DIRECTORY] ディレクトリ名を取得。[EOS] か {ENTER} までが対話ウィンドウ", -" のタイトル" -"", -" マクロ文字の置き換えは以下の通り:", -"", -" {ENTER} 復帰 '\\r'", -" {TAB} タブ '\\011'", -" {ESC} エスケープ '\\033'", -" {^A} '\\001'", -" ...", -" {^_} '\\031'", -"", -" マクロは展開後の文字数が最大 256 文字に制限されています。", -"", -"2 wgnuplot.ini", -"?commands set terminal windows wgnuplot.ini", -"?set terminal windows wgnuplot.ini", -"?set term windows wgnuplot.ini", -"?windows wgnuplot.ini", -"?wgnuplot.ini", -" Windows テキストウィンドウと `windows` 出力形式は、オプションのいくつか", -" `wgnuplot.ini` の `[WGNUPLOT]` セクションから読み込みます。このファイル", -" は、ユーザのアプリケーションデータディレクトリに置きます。", -" `wgnuplot.ini` ファイルのサンプル:", -"", -" [WGNUPLOT]", -" TextOrigin=0 0", -" TextSize=640 150", -" TextFont=Consolas,9", -" TextWrap=1", -" TextLines=400", -" TextMaximized=0", -" SysColors=0", -" GraphOrigin=0 150", -" GraphSize=640 330", -" GraphFont=Tahoma,10", -" GraphColor=1", -" GraphToTop=1", -" GraphGDI+=1", -" GraphD2D=0", -" GraphGDI+Oversampling=1", -" GraphAntialiasing=1", -" GraphPolygonAA=1", -" GraphFastRotation=1", -" GraphBackground=255 255 255", -" DockVerticalTextFrac=350", -" DockHorizontalTextFrac=400", -#ifdef WIN_CUSTOM_PENS -" Border=0 0 0 0 0", -" Axis=192 192 192 2 2", -" Line1=0 0 255 0 0", -" Line2=0 255 0 0 1", -" Line3=255 0 0 0 2", -" Line4=255 0 255 0 3", -" Line5=0 0 128 0 4", -#endif -"", -"^

    テキストウィンドウオプション

    ", -"", -" 以下の設定は wgnuplot のテキストウィンドウのみに適用されます。", -"", -" `TextOrigin` と `TextSize` は、テキストウィンドウの位置とサイズの指定", -" です。`TextMaximized` が 0 でない場合、ウィンドウは最大化されます。", -"", -" `TextFont` は、テキストウィンドウのフォントとサイズの指定です。", -"", -" `TextWrap` は、長いテキスト行の折り返しを選択します。", -"", -" `TextLines` は、テキストウィンドウの内部バッファに何行 (折り返しなし)", -" 保持するかを指定します。現在は、この値を wgnuplot 内からは変更できませ", -" ん。", -"", -" 以下参照: `text-menu`。", -"", -"^

    ドッキンググラフオプション

    ", -"", -" `DockVerticalTextFrac` と `DockHorizontalTextFrac` は、それぞれ千分率単", -" 位での、テキストウィンドウ内に垂直方向、水平方向に確保される割合です。", -"", -"^

    グラフウィンドウオプション

    ", -"", -" `GraphFont` は、フォント名とポイント単位のフォントサイズの指定です。", -#ifdef WIN_CUSTOM_PENS -"", -" `Border`, `Axis`, `Line` には、赤の強度 (0--255)、緑の強度、青の強度、", -" カラーの線種、白黒の線種の 5 つの数字を指定します。この線種", -" (`linestyle`) は、0=実線、1=鎖線、2=点線、3=一点鎖線、4=二点鎖線、とな", -" っています。上の例の `wgnuplot.ini` では、Line 2 はカラーモードでは緑の", -" 実線で、白黒モードでは鎖線になります。デフォルトの線幅は 1 ピクセルです。", -" 線種が負の値の場合、その絶対値がピクセル単位での線幅である実線を意味し", -" ます。Line1 と `points` スタイルで使われる線種は 1 ピクセル幅の実線でな", -" ければなりません。", -#endif -"", -" 以下参照: `graph-menu`。" -#endif /* JAPANESE_DOC */ -END_HELP(windows) -START_HELP(wxt) -#ifndef JAPANESE_DOC -"1 wxt", -"?set terminal wxt", -"?terminal wxt", -"?set term wxt", -"?term wxt", -"?wxt", -" The `wxt` terminal device generates output in a separate window. The window", -" is created by the wxWidgets library, where the 'wxt' comes from. The actual", -" drawing is done via cairo, a 2D graphics library, and pango, a library for", -" laying out and rendering text.", -"", -" Syntax:", -" set term wxt {}", -" {size ,} {position ,}", -" {background | nobackground}", -" {{no}enhanced}", -" {font } {fontscale }", -" {title \"title\"}", -" {linewidth } {butt|rounded|square}", -" {dashlength
    }", -" {{no}persist}", -" {{no}raise}", -" {{no}ctrl}", -" {close}", -"", -" Multiple plot windows are supported: `set terminal wxt ` directs the", -" output to plot window number n.", -"", -" The default window title is based on the window number. This title can also", -" be specified with the keyword \"title\".", -"", -" Plot windows remain open even when the `gnuplot` driver is changed to a", -" different device. A plot window can be closed by pressing the letter 'q'", -" while that window has input focus, by choosing `close` from a window", -" manager menu, or with `set term wxt close`.", -"", -" The size of the plot area is given in pixels, it defaults to 640x384.", -" In addition to that, the actual size of the window also includes the space", -" reserved for the toolbar and the status bar.", -" When you resize a window, the plot is immediately scaled to fit in the", -" new size of the window. Unlike other interactive terminals, the `wxt`", -" terminal scales the whole plot, including fonts and linewidths, and keeps", -" its global aspect ratio constant, leaving an empty space painted in gray.", -" If you type `replot`, click the `replot` icon in the terminal toolbar or", -" type a new `plot` command, the new plot will completely fit in the window", -" and the font size and the linewidths will be reset to their defaults.", -"", -" The position option can be used to set the position of the plot window.", -" The position option only applies to the first plot after the `set term`", -" command.", -"", -" The active plot window (the one selected by `set term wxt `) is", -" interactive. Its behaviour is shared with other terminal types. See `mouse`", -" for details. It also has some extra icons, which are supposed to be", -" self-explanatory.", -"", -" This terminal supports an enhanced text mode, which allows font and other", -" formatting commands (subscripts, superscripts, etc.) to be embedded in labels", -" and other text strings. The enhanced text mode syntax is shared with other", -" gnuplot terminal types. See `enhanced` for more details.", -"", -" is in the format \"FontFace,FontSize\", i.e. the face and the size", -" comma-separated in a single string. FontFace is a usual font face name, such", -" as \'Arial\'. If you do not provide FontFace, the wxt terminal will use", -" \'Sans\'. FontSize is the font size, in points. If you do not provide it,", -" the wxt terminal will use a size of 10 points.", -" For example :", -" set term wxt font \"Arial,12\"", -" set term wxt font \"Arial\" # to change the font face only", -" set term wxt font \",12\" # to change the font size only", -" set term wxt font \"\" # to reset the font name and size", -"", -" The fonts are retrieved from the usual fonts subsystems. Under Windows,", -" those fonts are to be found and configured in the entry \"Fonts\" of the", -" control panel. Under UNIX, they are handled by \"fontconfig\".", -"", -" Pango, the library used to layout the text, is based on utf-8. Thus, the wxt", -" terminal has to convert from your encoding to utf-8. The default input", -" encoding is based on your \'locale\'. If you want to use another encoding,", -" make sure gnuplot knows which one you are using. See `encoding` for more", -" details.", -"", -" Pango may give unexpected results with fonts that do not respect the unicode", -" mapping. With the Symbol font, for example, the wxt terminal will use the map", -" provided by http://www.unicode.org/ to translate character codes to unicode.", -" Pango will do its best to find a font containing this character, looking for", -" your Symbol font, or other fonts with a broad unicode coverage, like the", -" DejaVu fonts. Note that \"the Symbol font\" is to be understood as the Adobe", -" Symbol font, distributed with Acrobat Reader as \"SY______.PFB\".", -" Alternatively, the OpenSymbol font, distributed with OpenOffice.org as", -" \"opens___.ttf\", offers the same characters. Microsoft has distributed a", -" Symbol font (\"symbol.ttf\"), but it has a different character set with", -" several missing or moved mathematic characters. If you experience problems", -" with your default setup (if the demo enhancedtext.dem is not displayed", -" properly for example), you probably have to install one of the Adobe or", -" OpenOffice Symbol fonts, and remove the Microsoft one.", -" Other non-conform fonts, such as \"wingdings\" have been observed working.", -"", -" The rendering of the plot can be altered with a dialog available from the", -" toolbar. To obtain the best output possible, the rendering involves three", -" mechanisms : antialiasing, oversampling and hinting.", -" Antialiasing allows to display non-horizontal and non-vertical lines", -" smoother.", -" Oversampling combined with antialiasing provides subpixel accuracy,", -" so that gnuplot can draw a line from non-integer coordinates. This avoids", -" wobbling effects on diagonal lines ('plot x' for example).", -" Hinting avoids the blur on horizontal and vertical lines caused by", -" oversampling. The terminal will snap these lines to integer coordinates so", -" that a one-pixel-wide line will actually be drawn on one and only one pixel.", -"", -" By default, the window is raised to the top of your desktop when a plot is", -" drawn. This can be controlled with the keyword \"raise\".", -" The keyword \"persist\" will prevent gnuplot from exiting before you", -" explicitly close all the plot windows.", -" Finally, by default the key raises the gnuplot console window, and", -" 'q' closes the plot window. The keyword \"ctrl\" allows you to replace those", -" bindings by + and +'q', respectively.", -" These three keywords (raise, persist and ctrl) can also be set and remembered", -" between sessions through the configuration dialog." -#else /* JAPANESE_DOC */ -"1 wxt", -"?set terminal wxt", -"?terminal wxt", -"?set term wxt", -"?term wxt", -"?wxt", -" `wxt` 出力形式は、個々のウィンドウへの出力を生成します。ウィンドウは ", -" wxWidgets ライブラリで生成されます (これが `wxt` の名前の由来です)。実", -" 際の描画は、2D グラフィックライブラリ cairo と、文字列配置/レンダリン", -" グライブラリ pango が処理します。", -"", -" 書式:", -" set term wxt {}", -" {size ,} {position ,}", -" {background | nobackground}", -" {{no}enhanced}", -" {font } {fontscale }", -" {title \"title\"}", -" {linewidth } {butt|rounded|square}", -" {dashlength
    }", -" {{no}persist}", -" {{no}raise}", -" {{no}ctrl}", -" {close}", -"", -" 複数の描画ウィンドウもサポートしていて、`set terminal wxt ` とすれば", -" 番号 n の描画ウィンドウへ出力します。", -"", -" デフォルトのウィンドウタイトルは、このウィンドウ番号に基づいています。", -" そのタイトルは \"title\" キーワードでも指定できます。", -"", -" 描画ウィンドウは、`gnuplot` の出力形式を別なものに変更しても残ったまま", -" になります。それを閉じるには、そのウィンドウに入力フォーカスがある状態", -" で 'q' を入力するか、ウィンドウマネージャのメニューで `close` を選択す", -" るか、`set term wxt close` としてください。", -"", -" 描画領域のサイズはピクセル単位で与えます。デフォルトは 640x384 です。", -" それに加えて、ウィンドウの実際のサイズには、ツールバーやステータスバー", -" 用のスペースも追加されます。", -" ウィンドウのサイズを変更すると、描画グラフもウィンドウの新しいサイズに", -" ぴったり合うようにすぐに伸縮されます。他の対話型出力形式と違い、`wxt`", -" 出力形式はフォント、線幅も含めて描画全体を伸縮しますが、全体のアスペク", -" ト比は一定に保って、空いたスペースは灰色で塗り潰します。その後 `replot`", -" とタイプするかターミナルツールバーの `replot` アイコンをクリックするか", -" 新たに `plot` コマンドを入力すると、その新しい描画では完全にそのウィン", -" ドウに合わせられますが、フォントサイズや線幅はそれぞれのデフォルトにリ", -" セットされます。", -"", -" position オプションは描画ウィンドウの位置を設定するのに使えます。これは", -" コマンド `set term` 後の最初の描画にのみ適用されます。", -"", -" 現在の描画ウィンドウ (`set term wxt ` で選択されたもの) は対話的で", -" その挙動は、他の出力形式と共通です。詳細は、以下参照: `mouse`。それに", -" は追加のアイコンもいくつかついていますが、それらはそれ自体が説明的なも", -" のになっているはずです。", -"", -" この出力形式は、拡張文字列処理モード (enhanced text mode) をサポートし", -" ていて、フォントや書式コマンド (上付、下付など) をラベルや他の文字列に", -" 埋め込むことができます。拡張文字列処理モードの書式は他の gnuplot の出", -" 力形式と共通です。詳細は、以下参照: `enhanced`。", -"", -" は \"FontFace,FontSize\" の形式で、FontFace と FontSize とをコ", -" ンマで分離して一つの文字列として書きます。FontFace は、\'Arial\' のよ", -" うな通常のフォント名です。FontFace を与えない場合は、wxt 出力形式は", -" \'Sans\' を使用します。FontSize は、ポイント単位のフォントサイズです。", -" FontSize を与えない場合は、wxt 出力形式は 10 ポイントを使用します。", -" 例:", -" set term wxt font \"Arial,12\"", -" set term wxt font \"Arial\" # フォント名のみ変更", -" set term wxt font \",12\" # フォントサイズのみ変更", -" set term wxt font \"\" # フォント名、フォントサイズをリセット", -"", -" フォントは通常のフォントサブシステムから取得します。MS-Windows 上では", -" コントロールパネルの \"Fonts\" エントリで検索されるので、そこに設定し", -" ます。Unix 上では、フォントは \"fontconfig\" が処理します。", -"", -" 文字列のレイアウトに使用される pango ライブラリは utf-8 を基本としてい", -" ますので、wxt 出力形式ではエンコーディングを utf-8 にする必要がありま", -" す。デフォルトの入力エンコーディングは、システムの \'locale\' によりま", -" す。他のエンコーディングを使用したい場合は、それを gnuplot に知らせる", -" 必要があります。詳細は、以下参照: `encoding`。", -"", -" pango は、unicode マッピングでないフォントに対しては予期せぬ結果を与え", -" るかもしれません。例えば Symbol フォントに対しては、wxt 出力形式は、文", -" 字コードを unicode に変換するために http://www.unicode.org/ で提供され", -" るマッピングを利用します。pango は、その文字を含むフォントを見つけるた", -" めにあなたの Symbol フォントを検索し、そして DejaVu フォントのように、", -" 幅広く unicode をカバーする他のフォントを探す、といった最善の作業を行", -" おうとします。なお、\"the Symbol font\" は、Acrobat Reader と一緒に", -" \"SY______.PFB\" として配布されている Adobe Symbol フォントであると解", -" 釈されることに注意してください。この代わりに、OpenOffice.org と一緒に", -" \"opens___.ttf\" として配布される OpenSymbol フォントが同じ文字を提供", -" しています。Microsoft も Symbol フォント (\"symbol.ttf\") を配布してい", -" ますが、これは異なる文字セットになっていて、いくつかは欠けていますし、", -" いくつかは数式記号に変わってしまっています。あなたのデフォルトの設定で", -" なんらかの問題が起きた場合 (例えばデモスクリプト enhancedtext.dem がち", -" ゃんと表示されないといった場合) は、Adobe か OpenOffice の Symbol フォ", -" ントをインストールして、Microsoft の Symbol フォントを削除しないといけ", -" ないかもしれません。", -" \"windings\" のような他の非標準のフォントでも動作することが報告されて", -" います。", -"", -" 描画のレンダリングは、ツールバーで対話的に変更できます。可能な限り最も", -" 良い出力を生成するためにこのレンダリングは、アンチエイリアス、オーバー", -" サンプリング、ヒンティングの 3 つの機構を持っています。", -" アンチエイリアスは、水平や垂直でない線の滑らかな表示を可能にします。", -" オーバーサンプリングは、アンチエイリアスと組でピクセルよりも小さいサイ", -" ズでの精度を提供し、gnuplot が非整数座標の直線を書けるようになります。", -" これは、対角方向の直線 (例えば 'plot x') が左右に揺れるのを避けます。", -" ヒンティングは、オーバーサンプリングによって引き起こされる水平、垂直方", -" 向の線分のぼかしを避けます。この出力形式は、これらの直線を整数座標に揃", -" え、それにより、1 ピクセル幅の直線は本当に 1 つ (1 つより多くも少なく", -" もない) のピクセルで描画します。", -"", -" デフォルトでは、描画が行われたときにウィンドウはデスクトップの一番上", -" (最前面) に表示されます。これは、キーワード \"raise\" で制御できます。", -" キーワード \"persist\" は、すべての描画ウインドウを明示的に閉じない間", -" は、gnuplot が終了しないようにします。", -" 最後に、デフォルトでは キーは gnuplot コンソールウィンドウを上", -" に上げ、'q' は描画ウィンドウを閉じます。キーワード \"ctrl\" は、それら", -" のキー割り当てを、それぞれ ++'q' に変更します。", -" これらの 3 つのキーワード (raise, persist, ctrl) は、設定ダイアログ上", -" のやりとりでも設定し、記憶させることができます。" -#endif /* JAPANESE_DOC */ -END_HELP(wxt) -START_HELP(x11) -#ifndef JAPANESE_DOC -"1 x11", -"?commands set terminal x11", -"?set terminal x11", -"?set term x11", -"?terminal x11", -"?term x11", -"?x11", -"?X11", -"", -" Syntax:", -" set terminal x11 { | window \"\"}", -" {title \"\"}", -" {{no}enhanced} {font }", -" {linewidth LW}", -" {{no}persist} {{no}raise} {{no}ctrlq}", -" {{no}replotonresize}", -" {close}", -" {size XX,YY} {position XX,YY}", -" set terminal x11 {reset}", -"", -" Multiple plot windows are supported: `set terminal x11 ` directs the", -" output to plot window number n. If n is not 0, the terminal number will be", -" appended to the window title (unless a title has been supplied manually)", -" and the icon will be labeled `Gnuplot `. The active window may be", -" distinguished by a change in cursor (from default to crosshair).", -"", -" The `x11` terminal can connect to X windows previously created by an outside", -" application via the option `window` followed by a string containing the", -" X ID for the window in hexadecimal format. Gnuplot uses that external X", -" window as a container since X does not allow for multiple clients selecting", -" the ButtonPress event. In this way, gnuplot's mouse features work within", -" the contained plot window.", -"", -" set term x11 window \"220001e\"", -"", -" The x11 terminal supports enhanced text mode (see `enhanced`), subject", -" to the available fonts. In order for font size commands embedded in text", -" to have any effect, the default x11 font must be scalable. Thus the first", -" example below will work as expected, but the second will not.", -"", -" set term x11 enhanced font \"arial,15\" ", -" set title '{/=20 Big} Medium {/=5 Small}' ", -"", -" set term x11 enhanced font \"terminal-14\" ", -" set title '{/=20 Big} Medium {/=5 Small}' ", -"", -" Plot windows remain open even when the `gnuplot` driver is changed to a", -" different device. A plot window can be closed by pressing the letter q", -" while that window has input focus, or by choosing `close` from a window", -" manager menu. All plot windows can be closed by specifying `reset`, which", -" actually terminates the subprocess which maintains the windows (unless", -" `-persist` was specified). The `close` command can be used to close", -" individual plot windows by number. However, after a `reset`, those plot", -" windows left due to persist cannot be closed with the command `close`.", -" A `close` without a number closes the current active plot window.", -"", -" The gnuplot outboard driver, gnuplot_x11, is searched in a default place", -" chosen when the program is compiled. You can override that by defining", -" the environment variable GNUPLOT_DRIVER_DIR to point to a different", -" location.", -"", -" Plot windows will automatically be closed at the end of the session", -" unless the `-persist` option was given.", -"", -" The options `persist` and `raise` are unset by default, which means that", -" the defaults (persist == no and raise == yes) or the command line options", -" -persist / -raise or the Xresources are taken. If [no]persist or", -" [no]raise are specified, they will override command line options and", -" Xresources. Setting one of these options takes place immediately, so", -" the behaviour of an already running driver can be modified. If the window", -" does not get raised, see discussion in `raise`.", -"", -" The option `replotonresize` (active by default) replots the data when the", -" plot window is resized. Without this option, the even-aspect-ratio scaling", -" may result in the plot filling only part of the window after resizing.", -" With this option, gnuplot does a full replot on each resize event, resulting", -" in better space utilization. This option is generally desirable, unless the", -" potentially CPU-intensive replotting during resizing is a concern. Replots", -" can be manually initiated with hotkey 'e' or the 'replot' command.", - "", -" The option `title \"\"` will supply the title name of the window", -" for the current plot window or plot window <n> if a number is given.", -" Where (or if) this title is shown depends on your X window manager.", -"", -" The size option can be used to set the size of the plot window. The", -" size option will only apply to newly created windows.", -"", -" The position option can be used to set the position of the plot window. The", -" position option will only apply to newly created windows.", -"", -" The size or aspect ratio of a plot may be changed by resizing the `gnuplot`", -" window.", -"", -" Linewidths and pointsizes may be changed from within `gnuplot` with", -" `set linestyle`.", -"", -" For terminal type `x11`, `gnuplot` accepts (when initialized) the standard", -" X Toolkit options and resources such as geometry, font, and name from the", -" command line arguments or a configuration file. See the X(1) man page", -" (or its equivalent) for a description of such options.", -"", -"=X resources", -" A number of other `gnuplot` options are available for the `x11` terminal.", -" These may be specified either as command-line options when `gnuplot` is", -" invoked or as resources in the configuration file \".Xdefaults\". They are", -" set upon initialization and cannot be altered during a `gnuplot` session.", -" (except `persist` and `raise`)", -"2 x11_fonts", -"?commands set terminal x11 x11_fonts", -"?set terminal x11 x11_fonts", -"?set term x11 x11_fonts", -"?x11 x11_fonts", -"?x11_fonts", -"=fonts", -" Upon initial startup, the default font is taken from the X11 resources", -" as set in the system or user .Xdefaults file or on the command line.", -"", -" Example:", -" gnuplot*font: lucidasans-bold-12", -" A new default font may be specified to the x11 driver from inside", -" gnuplot using", -" `set term x11 font \"<fontspec>\"`", -" The driver first queries the X-server for a font of the exact name given.", -" If this query fails, then it tries to interpret <fontspec> as", -" \"<font>,<size>,<slant>,<weight>\" and to construct a full X11 font name", -" of the form", -" -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encoding>", -"", -" <font> is the base name of the font (e.g. Times or Symbol)", -" <size> is the point size (defaults to 12 if not specified)", -" <s> is 'i' if <slant>==\"italic\" 'o' if <slant>==\"oblique\" 'r' otherwise", -" <weight> is 'medium' or 'bold' if explicitly requested, otherwise '*'", -" <encoding> is set based on the current character set.", -" So `set term x11 font \"arial,15,italic\"` will be translated to", -" -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 (assuming default encoding).", -" The <size>, <slant>, and <weight> specifications are all optional.", -" If you do not specify <slant> or <weight> then you will get whatever font ", -" variant the font server offers first.", -" You may set a default encoding via the corresponding X11 resource. E.g.", -" gnuplot*encoding: iso8859-15", -" The driver also recognizes some common PostScript font names and", -" replaces them with possible X11 or TrueType equivalents.", -" This same sequence is used to process font requests from `set label`.", -"", -" If your gnuplot was built with configuration option --enable-x11-mbfonts,", -" you can specify multi-byte fonts by using the prefix \"mbfont:\" on the font", -" name. An additional font may be given, separated by a semicolon.", -" Since multi-byte font encodings are interpreted according to the locale", -" setting, you must make sure that the environmental variable LC_CTYPE is set", -" to some appropriate locale value such as ja_JP.eucJP, ko_KR.EUC, or zh_CN.EUC.", -"", -" Example:", -" set term x11 font 'mbfont:kana14;k14'", -" # 'kana14' and 'k14' are Japanese X11 font aliases, and ';'", -" # is the separator of font names.", -" set term x11 font 'mbfont:fixed,16,r,medium'", -" # <font>,<size>,<slant>,<weight> form is also usable.", -" set title '(mb strings)' font 'mbfont:*-fixed-medium-r-normal--14-*'", -"", -" The same syntax applies to the default font in Xresources settings,", -" for example,", -" gnuplot*font: \\", -" mbfont:-misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0", -"", -" If gnuplot is built with --enable-x11-mbfonts, you can use two special", -" PostScript font names 'Ryumin-Light-*' and 'GothicBBB-Medium-*' (standard", -" Japanese PS fonts) without the prefix \"mbfont:\".", -"", -"2 command-line_options", -"?commands set terminal x11 command-line-options", -"?set terminal x11 command-line-options", -"?set term x11 command-line-options", -"?x11 command-line-options", -" In addition to the X Toolkit options, the following options may be specified", -" on the command line when starting `gnuplot` or as resources in your", -" \".Xdefaults\" file (note that `raise` and `persist` can be overridden", -" later by `set term x11 [no]raise [no]persist)`:", -"@start table - first is interactive cleartext form", -" `-mono` forces monochrome rendering on color displays.", -" `-gray` requests grayscale rendering on grayscale or color displays.", -" (Grayscale displays receive monochrome rendering by default.)", -" `-clear` requests that the window be cleared momentarily before a", -" new plot is displayed.", -" `-tvtwm` requests that geometry specifications for position of the", -" window be made relative to the currently displayed portion", -" of the virtual root.", -" `-raise` raises plot window after each plot", -" `-noraise` does not raise plot window after each plot", -#ifdef USE_MOUSE -" `-ctrlq ` closes window on ctrl-q rather than q", -#endif -" `-persist` plot windows survive after main gnuplot program exits", -"#\\begin{tabular}{|cl|} \\hline", -"#`-mono` & forces monochrome rendering on color displays.\\\\", -"#`-gray` & requests grayscale rendering on grayscale or color displays.\\\\", -"# & (Grayscale displays receive monochrome rendering by default.) \\\\", -"#`-clear` & requests that the window be cleared momentarily before a\\\\", -"# & new plot is displayed. \\\\", -"#`-tvtwm` & requests that geometry specifications for position of the\\\\", -"# & window be made relative to the currently displayed portion\\\\", -"# & of the virtual root. \\\\", -"#`-raise` & raises plot window after each plot. \\\\", -"#`-noraise` & does not raise plot window after each plot. \\\\", -"#`-persist` & plot windows survive after main gnuplot program exits. \\\\", -"%c l .", -"%`-mono`@forces monochrome rendering on color displays.", -"%`-gray`@requests grayscale rendering on grayscale or color displays.", -"% @(Grayscale displays receive monochrome rendering by default.)", -"%`-clear`@requests that the window be cleared momentarily before a", -"% @new plot is displayed.", -"%`-tvtwm`@requests that geometry specifications for position of the", -"% @window be made relative to the currently displayed portion", -"% @of the virtual root.", -"%`-raise`@raises plot window after each plot", -"%`-noraise`@does not raise plot window after each plot", -#ifdef USE_MOUSE -"%`-novevents`@does not process mouse and key events", -"%`-ctrlq`@closes window on ctrl-q rather than q", -#endif -"%`-persist`@plot windows survive after main gnuplot program exits", -"@end table", -"=X resources", -" The options are shown above in their command-line syntax. When entered as", -" resources in \".Xdefaults\", they require a different syntax.", -"", -" Example:", -" gnuplot*gray: on", -" gnuplot*ctrlq: on", -"", -" `gnuplot` also provides a command line option (`-pointsize <v>`) and a", -" resource, `gnuplot*pointsize: <v>`, to control the size of points plotted", -" with the `points` plotting style. The value `v` is a real number (greater", -" than 0 and less than or equal to ten) used as a scaling factor for point", -" sizes. For example, `-pointsize 2` uses points twice the default size, and", -" `-pointsize 0.5` uses points half the normal size.", -"", -" The `-ctrlq` switch changes the hot-key that closes a plot window from `q`", -" to `<ctrl>q`. This is useful is you are using the keystroke-capture feature", -" `pause mouse keystroke`, since it allows the character `q` to be captured", -" just as all other alphanumeric characters. The `-ctrlq` switch similarly", -" replaces the <space> hot-key with <ctrl><space> for the same reason.", -"", -"2 color_resources", -"?set terminal x11 color_resources", -"?set term x11 color_resources", -"?x11 color_resources", -"=X resources", -" NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5", -" The X11 terminal honors the following resources (shown here with their", -" default values) or the greyscale resources. The values may be color names", -" as listed in the X11 rgb.txt file on your system, hexadecimal RGB color", -" specifications (see X11 documentation), or a color name followed by a comma", -" and an `intensity` value from 0 to 1. For example, `blue, 0.5` means a half", -" intensity blue.", -"@start table - first is interactive cleartext form", -" gnuplot*background: white", -" gnuplot*textColor: black", -" gnuplot*borderColor: black", -" gnuplot*axisColor: black", -" gnuplot*line1Color: red", -" gnuplot*line2Color: green", -" gnuplot*line3Color: blue", -" gnuplot*line4Color: magenta", -" gnuplot*line5Color: cyan", -" gnuplot*line6Color: sienna", -" gnuplot*line7Color: orange", -" gnuplot*line8Color: coral", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: white\\\\", -"#&gnuplot*textColor: black\\\\", -"#&gnuplot*borderColor: black\\\\", -"#&gnuplot*axisColor: black\\\\", -"#&gnuplot*line1Color: red\\\\", -"#&gnuplot*line2Color: green\\\\", -"#&gnuplot*line3Color: blue\\\\", -"#&gnuplot*line4Color: magenta\\\\", -"#&gnuplot*line5Color: cyan\\\\", -"#&gnuplot*line6Color: sienna\\\\", -"#&gnuplot*line7Color: orange\\\\", -"#&gnuplot*line8Color: coral\\\\", -"%c l .", -"%@gnuplot*background: white", -"%@gnuplot*textColor: black", -"%@gnuplot*borderColor: black", -"%@gnuplot*axisColor: black", -"%@gnuplot*line1Color: red", -"%@gnuplot*line2Color: green", -"%@gnuplot*line3Color: blue", -"%@gnuplot*line4Color: magenta", -"%@gnuplot*line5Color: cyan", -"%@gnuplot*line6Color: sienna", -"%@gnuplot*line7Color: orange", -"%@gnuplot*line8Color: coral", -"@end table", -"", -" The command-line syntax for these is simple only for background,", -" which maps directly to the usual X11 toolkit option \"-bg\". All", -" others can only be set on the command line by use of the generic", -" \"-xrm\" resource override option", -"", -" Examples:", -"", -" gnuplot -background coral", -" to change the background color.", -"", -" gnuplot -xrm 'gnuplot*line1Color:blue'", -" to override the first linetype color.", -"", -"2 grayscale_resources", -"?commands set terminal x11 grayscale_resources", -"?set terminal x11 grayscale_resources", -"?set term x11 grayscale_resources", -"?x11 grayscale_resources", -"?grayscale_resources", -"=X resources", -" When `-gray` is selected, `gnuplot` honors the following resources for", -" grayscale or color displays (shown here with their default values). Note", -" that the default background is black.", -"@start table - first is interactive cleartext form", -" gnuplot*background: black", -" gnuplot*textGray: white", -" gnuplot*borderGray: gray50", -" gnuplot*axisGray: gray50", -" gnuplot*line1Gray: gray100", -" gnuplot*line2Gray: gray60", -" gnuplot*line3Gray: gray80", -" gnuplot*line4Gray: gray40", -" gnuplot*line5Gray: gray90", -" gnuplot*line6Gray: gray50", -" gnuplot*line7Gray: gray70", -" gnuplot*line8Gray: gray30", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: black\\\\", -"#&gnuplot*textGray: white\\\\", -"#&gnuplot*borderGray: gray50\\\\", -"#&gnuplot*axisGray: gray50\\\\", -"#&gnuplot*line1Gray: gray100\\\\", -"#&gnuplot*line2Gray: gray60\\\\", -"#&gnuplot*line3Gray: gray80\\\\", -"#&gnuplot*line4Gray: gray40\\\\", -"#&gnuplot*line5Gray: gray90\\\\", -"#&gnuplot*line6Gray: gray50\\\\", -"#&gnuplot*line7Gray: gray70\\\\", -"#&gnuplot*line8Gray: gray30\\\\", -"%c l .", -"%@gnuplot*background: black", -"%@gnuplot*textGray: white", -"%@gnuplot*borderGray: gray50", -"%@gnuplot*axisGray: gray50", -"%@gnuplot*line1Gray: gray100", -"%@gnuplot*line2Gray: gray60", -"%@gnuplot*line3Gray: gray80", -"%@gnuplot*line4Gray: gray40", -"%@gnuplot*line5Gray: gray90", -"%@gnuplot*line6Gray: gray50", -"%@gnuplot*line7Gray: gray70", -"%@gnuplot*line8Gray: gray30", -"@end table", -"", -"2 line_resources", -"?set terminal x11 line_resources", -"?set term x11 line_resources", -"?x11 line_resources", -"=X resources", -" NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5", -" `gnuplot` honors the following resources for setting the width (in pixels) of", -" plot lines (shown here with their default values.) 0 or 1 means a minimal", -" width line of 1 pixel width. A value of 2 or 3 may improve the appearance of", -" some plots.", -"@start table - first is interactive cleartext form", -" gnuplot*borderWidth: 1", -" gnuplot*axisWidth: 0", -" gnuplot*line1Width: 0", -" gnuplot*line2Width: 0", -" gnuplot*line3Width: 0", -" gnuplot*line4Width: 0", -" gnuplot*line5Width: 0", -" gnuplot*line6Width: 0", -" gnuplot*line7Width: 0", -" gnuplot*line8Width: 0", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderWidth: 1\\\\", -"#&gnuplot*axisWidth: 0\\\\", -"#&gnuplot*line1Width: 0\\\\", -"#&gnuplot*line2Width: 0\\\\", -"#&gnuplot*line3Width: 0\\\\", -"#&gnuplot*line4Width: 0\\\\", -"#&gnuplot*line5Width: 0\\\\", -"#&gnuplot*line6Width: 0\\\\", -"#&gnuplot*line7Width: 0\\\\", -"#&gnuplot*line8Width: 0\\\\", -"%c l .", -"%@gnuplot*borderWidth: 1", -"%@gnuplot*axisWidth: 0", -"%@gnuplot*line1Width: 0", -"%@gnuplot*line2Width: 0", -"%@gnuplot*line3Width: 0", -"%@gnuplot*line4Width: 0", -"%@gnuplot*line5Width: 0", -"%@gnuplot*line6Width: 0", -"%@gnuplot*line7Width: 0", -"%@gnuplot*line8Width: 0", -"@end table", -"", -" `gnuplot` honors the following resources for setting the dash style used for", -" plotting lines. 0 means a solid line. A two-digit number `jk` (`j` and `k`", -" are >= 1 and <= 9) means a dashed line with a repeated pattern of `j` pixels", -" on followed by `k` pixels off. For example, '16' is a dotted line with one", -" pixel on followed by six pixels off. More elaborate on/off patterns can be", -" specified with a four-digit value. For example, '4441' is four on, four off,", -" four on, one off. The default values shown below are for monochrome displays", -" or monochrome rendering on color or grayscale displays.", -" Color displays default to dashed:off ", -"@start table - first is interactive cleartext form", -" gnuplot*dashed: off", -" gnuplot*borderDashes: 0", -" gnuplot*axisDashes: 16", -" gnuplot*line1Dashes: 0", -" gnuplot*line2Dashes: 42", -" gnuplot*line3Dashes: 13", -" gnuplot*line4Dashes: 44", -" gnuplot*line5Dashes: 15", -" gnuplot*line6Dashes: 4441", -" gnuplot*line7Dashes: 42", -" gnuplot*line8Dashes: 13", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*dashed: off\\\\", -"#&gnuplot*borderDashes: 0\\\\", -"#&gnuplot*axisDashes: 16\\\\", -"#&gnuplot*line1Dashes: 0\\\\", -"#&gnuplot*line2Dashes: 42\\\\", -"#&gnuplot*line3Dashes: 13\\\\", -"#&gnuplot*line4Dashes: 44\\\\", -"#&gnuplot*line5Dashes: 15\\\\", -"#&gnuplot*line6Dashes: 4441\\\\", -"#&gnuplot*line7Dashes: 42\\\\", -"#&gnuplot*line8Dashes: 13\\\\", -"%c l .", -"%@gnuplot*dashed: off", -"%@gnuplot*borderDashes: 0", -"%@gnuplot*axisDashes: 16", -"%@gnuplot*line1Dashes: 0", -"%@gnuplot*line2Dashes: 42", -"%@gnuplot*line3Dashes: 13", -"%@gnuplot*line4Dashes: 44", -"%@gnuplot*line5Dashes: 15", -"%@gnuplot*line6Dashes: 4441", -"%@gnuplot*line7Dashes: 42", -"%@gnuplot*line8Dashes: 13", -"@end table" -, "", -"2 x11 pm3d_resources", -"?set terminal x11 pm3d_resources", -"?set term x11 pm3d_resources", -"?x11 pm3d_resources", -"?x11 pm3d", -"=X resources", -" NB: THIS SECTION IS LARGELY IRRELEVANT IN GNUPLOT VERSION 5", -"", -" By default `gnuplot` uses the default visual of the screen. The number of", -" colors which can be allocated depends on the visual class chosen. On a", -" visual class with a depth > 12bit, gnuplot starts with a maximal number", -" of 0x200 colors. On a visual class with a depth > 8bit (but <= 12 bit)", -" the maximal number of colors is 0x100, on <= 8bit displays the maximum", -" number of colors is 240 (16 are left for line colors).", -"", -" Gnuplot first starts to allocate the maximal number of colors as stated", -" above. If this fails, the number of colors is reduced by the factor 2", -" until gnuplot gets all colors which are requested. If dividing `maxcolors`", -" by 2 repeatedly results in a number which is smaller than `mincolors`", -" `gnuplot` tries to install a private colormap. In this case the window", -" manager is responsible for swapping colormaps when the pointer is moved", -" in and out the x11 driver's window.", -"", -" The default for `mincolors` is maxcolors / (num_colormaps > 1 ? 2 : 8),", -" where num_colormaps is the number of colormaps which are currently used", -" by gnuplot (usually 1, if only one x11 window is open).", -"", -"2 x11 other_resources", -"?commands set terminal x11 other_resources", -"?set terminal x11 other_resources", -"?set term x11 other_resources", -"?x11 other_resources", -"=X resources", -" By default the contents of the current plot window are exported to the X11", -" clipboard in response to X events in the window. Setting the resource", -" 'gnuplot*exportselection' to 'off' or 'false' will disable this.", -"", -" By default text rotation is done using a method that is fast, but can", -" corrupt nearby colors depending on the background. If this is a problem,", -" you can set the resource 'gnuplot.fastrotate' to 'off'", -"", -"@start table - other x11 resources", -" gnuplot*exportselection: off", -" gnuplot*fastrotate: on", -" gnuplot*ctrlq: off", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*exportselection: off\\\\", -"#&gnuplot*fastrotate: on\\\\", -"#&gnuplot*ctrlq: off\\\\", -"%c l .", -"%@gnuplot*exportselection: off", -"%@gnuplot*fastrotate: on", -"%@gnuplot*ctrlq: off", -"@end table" -#else /* JAPANESE_DOC */ -"1 x11", -"?commands set terminal x11", -"?set terminal x11", -"?set term x11", -"?terminal x11", -"?term x11", -"?x11", -"?X11", -"", -" 書式:", -" set terminal x11 {<n> | window \"<string>\"}", -" {title \"<string>\"}", -" {{no}enhanced} {font <fontspec>}", -" {linewidth LW}", -" {{no}persist} {{no}raise} {{no}ctrlq}", -" {{no}replotonresize}", -" {close}", -" {size XX,YY} {position XX,YY}", -" set terminal x11 {reset}", -"", -" 複数のグラフ描画ウィンドウをサポートしています。`set terminal x11 <n>`", -" は番号 n の描画ウィンドウに出力します。n が 0 でなければ、タイトルが明", -" 示的に指定されていなければその番号がウィンドウタイトルとしてつけられ、", -" アイコンには `Gnuplot <n>` とラベル付けされます。現在有効なウィンドウ", -" はカーソル記号の変化で区別できます (デフォルトカーソルから十字カーソル", -" へ)。", -"", -" `x11` 出力形式は、外部のアプリケーションによって生成されている X のウィ", -" ンドウの X ID (16 進表記) をオプション `window` の後に文字列として指定", -" することで、そのウィンドウと接続できます。X は複数のクライアントにイベ", -" ント ButtonPress の選択を認めないため、gnuplot その外部ウィンドウをコン", -" テナとして使用します。この方法により、gnuplot のマウス機能はとりこまれ", -" た描画ウィンドウ内でも作動します。", -"", -" set term x11 window \"220001e\"", -"", -" x11 出力形式は、利用可能なフォントの元で拡張文字列処理モード (以下参照:", -" `enhanced`) をサポートしています。文字列に埋め込まれ、様々な効果を与え", -" るフォントサイズ命令のために、デフォルトの x11 フォントがスケーラブル", -" フォントである必要があります。よって、以下の最初の例はうまくいくでしょ", -" うが、2 番目のものはそうではないでしょう。", -"", -" set term x11 enhanced font \"arial,15\" ", -" set title '{/=20 Big} Medium {/=5 Small}' ", -"", -" set term x11 enhanced font \"terminal-14\" ", -" set title '{/=20 Big} Medium {/=5 Small}' ", -"", -" `gnuplot` ドライバが別な出力ドライバに変更されても、描画ウィンドウは開", -" いたままになります。描画ウィンドウは、そのウィンドウにカーソルを置いて", -" 文字 q を押すか、ウィンドウマネージャのメニューの `close` を選択すれば", -" 閉じることができます。`reset` を実行すれば全てのウィンドウを一度に閉じ", -" れます。それは実際にウィンドウを管理している子プロセスを終了します (も", -" し `-persist` が指定されていなければ)。コマンド `close` は、個々の描画", -" ウィンドウを番号を指定して閉じるのに使うことができます。しかし、persist", -" のために残っているような描画ウィンドウは `close` コマンドでは閉じること", -" はできません。番号を省略して `close` した場合には現在有効な描画ウィンド", -" ウを閉じます。", -"", -" gnuplot の外にあるドライバ gnuplot_x11 は、プログラムのコンパイル時に", -" 選択されたデフォルトの場所が検索されます。これは環境変数", -" GNUPLOT_DRIVER_DIR を異なる場所と定義することで変更できます。", -"", -" 描画ウィンドウは `-persisit` オプションが与えられていなければ、対話の", -" 終了時に自動的に閉じられます。", -"", -" オプション `persist` と `raise` はデフォルトでは設定されていませんが、", -" それは、デフォルトの値 (persist == no で raise == yes) か、コマンドラ", -" インオプション -persist / -raise の指定か、または X のリソース値が使わ", -" れる、ということを意味します。[no]persist か [no]raise が指定されると", -" それはコマンドラインオプションや X リソースの設定よりも優先されます。", -" これらのオプションの設定は直ちに効力を持ちますので、既に起動しているド", -" ライバの挙動は変更されます。ウィンドウを前面に出せない場合は、以下参照:", -" `raise`。", -"", -" オプション `replotonresize` (デフォルトで有効) は、描画ウィンドウのリ", -" サイズ時にデータを再描画します。このオプションなしだと、アスペクト比の", -" 変わらない拡大であっても、リサイズ後にウィンドウの一部分にしか描画され", -" ない可能性があります。このオプションを使えば、gnuplot は各リサイズイベ", -" ント毎に完全な再描画を行いますので、枠内をより綺麗に使ってくれます。リ", -" サイズの間の再描画による潜在的な CPU への負荷が心配でない場合、このオ", -" プションは普通は望ましいものです。再描画は、ホットキー 'e' や 'replot'", -" コマンドで手動で実行することも可能です。", -"", -" オプション `title \"<title name>\"` は現在の描画ウィンドウに、または番号", -" を指定すればその番号の描画ウィンドウに対するウィンドウタイトル名をつけ", -" ます。そのタイトルが表示される場所、または表示されるかどうかは、使って", -" いる X のウィンドウマネージャに依存します。", -"", -" オプション size は、描画ウィンドウのサイズを設定するのに使用できます。", -" このオプションは、その後に生成するウィンドウのみに適用されます。", -"", -" オプション position は、描画ウィンドウの位置を設定するのに使えます。", -" このオプションは、その後に生成するウィンドウのみに適用されます。", -"", -" 描画サイズとアスペクト比は、`gnuplot` のウィンドウをリサイズすることで", -" も変更できます。", -"", -" 線の幅と点のサイズは `gnuplot` の `set linestyle` で変更可能です。", -"", -" 出力ドライバ `x11` に関しては、`gnuplot` は (起動時に)、コマンドライン、", -" または設定ファイルから、geometry や font, name などの通常の X Toolkit", -" オプションやリソースの指定を受け付けます。それらのオプションについては", -" X(1) マニュアルページ (やそれと同等のもの) を参照してください。", -"", -"=X resources", -" 他にも `x11` 出力形式用の多くの `gnuplot` のオプションがあります。これ", -" らは `gnuplot` を呼ぶときにコマンドラインオプションとして指定するか、", -" または設定ファイル \".Xdefaults\" のリソースとして指定できます。これら", -" は起動時に設定されるので、`gnuplot` 実行時には変更できません", -" (`persist` と `raise` 以外は)。", -"2 X11 のフォント (x11_fonts)", -"?commands set terminal x11 x11_fonts", -"?set terminal x11 x11_fonts", -"?set term x11 x11_fonts", -"?x11 x11_fonts", -"?x11_fonts", -"=fonts", -" 初期起動時は、システムの設定か、ユーザの .Xdefaults ファイルの設定か、", -" コマンドライン指定か、のいずれかによる X11 リソースによってデフォルト", -" のフォントが選択されます。", -"", -" 例:", -" gnuplot*font: lucidasans-bold-12", -" 新しいデフォルトのフォントを、gnuplot 内部から x11 ドライバに以下のよ", -" うにして指示することもできます:", -" `set term x11 font \"<fontspec>\"`", -" まず x11 ドライバは、与えられたフォントの正式名を X サーバに尋ねます。", -" この問い合わせが失敗した場合、<fontspec> を", -" \"<font>,<size>,<slant>,<weight>\" と解釈し、以下の形の完全な X11 フォ", -" ント名を生成しようとします:", -" -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encoding>", -"", -" <font> はフォントの基本名 (base name) (例: Times, Symbol)", -" <size> はポイントサイズ (指定がなければデフォルトは 12)", -" <s> は <slant>==\"italic\" なら `i`, <slant>==\"oblique\" なら `o`, その他は `r`", -" <weight> は明示的に指定されれば `medium` か `bold`、その他は `*`", -" <encoding> は現在の文字集合に基づいて設定 (以下参照: `set encoding`)", -" よって `set term x11 font \"arial,15,italic\"` は (デフォルトの encoding", -" だとすれば) -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 に変換されます。", -" <size>, <slant>, <weight> 指定はいずれも必須ではありません。<slant> や", -" <weight> を指定しなかった場合は、フォントサーバが最初に見つけた、変種", -" のフォントを取得するかもしれません。", -" デフォルトのエンコーディングは、対応する X11 リソースを使って設定するこ", -" ともできます。例:", -" gnuplot*encoding: iso8859-15", -" x11 ドライバは、一般的な PostScript フォント名も認識し、それと同等で有", -" 効な X11 フォントか TrueType フォントに置き換えます。", -" これと同じ手順が、`set label` の要求によるフォントの生成でも使われてい", -" ます。", -"", -" あなたの gnuplot が configure の --enable-x11-mbfonts オプションをつけ", -" てインストールされたものなら、フォント名の前に \"mbfont:\" をつけるこ", -" とでマルチバイトフォントを指定することができます。フォント名を複数指定", -" する個ともできますが、その場合はセミコロンで区切ります。マルチバイトフ", -" ォントのエンコーディングは locale の設定に従いますので、環境変数", -" LC_CTYPE を適切な値 (例えば ja_JP.eucJP, ko_KR.EUC, zh_CN.EUC など) に", -" に設定する必要があります。", -"", -" 例:", -" set term x11 font 'mbfont:kana14;k14'", -" # 'kana14' と 'k14' は日本語の X11 font エイリアス名、';'", -" # はフォント名の区切りです。", -" set term x11 font 'mbfont:fixed,16,r,medium'", -" # <font>,<size>,<slant>,<weight> 形式も使用できます。", -" set title '(mb strings)' font 'mbfont:*-fixed-medium-r-normal--14-*'", -"", -" 同じ書式は X のリソースでのデフォルトフォントの設定でも有効です。例:", -" gnuplot*font: \\", -" mbfont:-misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0", -"", -" gnuplot が --enable-x11-mbfonts でインストールされた場合、\"mbfont:\"", -" をつけなくても 2 つの特別な PostScript フォント名 'Ryumin-Light-*',", -" 'GothicBBB-Medium-*' (標準的な日本語 PS フォント) を使うこともできます。", -"", -"2 コマンドラインオプション (command-line_options)", -"?commands set terminal x11 command-line-options", -"?set terminal x11 command-line-options", -"?set term x11 command-line-options", -"?x11 command-line-options", -" X Toolkit オプションに加え、以下のオプションが gnuplot の立ち上げ時の", -" コマンドラインで、またはユーザのファイル \".Xdefaults\" 内のリソースとし", -" て指定できます (`raise` と `persist` は `set term x11 [no]raise [no]persist`", -" によって上書きされることに注意してください):", -"@start table - まずは対話型テキスト形式", -" `-mono` カラーディスプレイ上で強制的に白黒描画", -" `-gray` グレイスケールまたはカラーディスプレイ上でのグレイスケール描画", -" (デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)", -" `-clear` 新しい描画を表示する前に (瞬間的に) 画面を消去", -" `-tvtwm` geometry オプションによる位置の指定を、仮想ルートウィンドウ中の", -" 現在の表示部分に対する相対的な位置にする", -" `-raise` 各描画後に描画ウィンドウを最前面へ出す", -" `-noraise` 各描画後に描画ウィンドウを最前面へ出すことはしない", -#ifdef USE_MOUSE -" `-ctrlq ` ウィンドウを q でなく ctrl-q で閉じる", -#endif -" `-persist` gnuplot プログラム終了後も描画ウィンドウを残す", -"#\\begin{tabular}{|cl|} \\hline", -"#`-mono` & カラーディスプレイ上で強制的に白黒描画\\\\", -"#`-gray` & グレイスケールまたはカラーディスプレイ上でのグレイスケール描画\\\\", -"# & (デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)\\\\", -"#`-clear` & 新しい描画を表示する前に (瞬間的に) 画面を消去\\\\", -"#`-tvtwm` & geometry オプションによる位置の指定を、仮想ルートウィンドウ中の\\\\", -"# & 現在の表示部分に対する相対的な位置にする\\\\", -"#`-raise` & 各描画後に描画ウィンドウを最前面へ出す\\\\", -"#`-noraise` & 各描画後に描画ウィンドウを最前面へ出すことはしない\\\\", -"#`-persist` & gnuplot プログラム終了後も描画ウィンドウを残す\\\\", -"%c l .", -"%`-mono`@カラーディスプレイ上で強制的に白黒描画", -"%`-gray`@グレイスケールまたはカラーディスプレイ上でのグレイスケール描画", -"% @(デフォルトではグレイスケールディスプレイは白黒描画を受け付ける)", -"%`-clear`@新しい描画を表示する前に (瞬間的に) 画面を消去", -"%`-tvtwm`@geometry オプションによる位置の指定を、仮想ルートウィンドウ中の", -"% @現在の表示部分に対する相対的な位置にする", -"%`-raise`@各描画後に描画ウィンドウを最前面へ出す", -"%`-noraise`@各描画後に描画ウィンドウを最前面へ出すことはしない", -#ifdef USE_MOUSE -"%`-noevents`@マウス、キーの入力を処理しない", -#endif -"%`-persist`@gnuplot プログラム終了後も描画ウィンドウを残す", -"@end table", -"=X resources", -" 上記のオプションはコマンドライン上での指定書式で、\".Xdefaults\" にリ", -" ソースとして指定するときは異なる書式を使います。", -"", -" 例:", -" gnuplot*gray: on", -" gnuplot*ctrlq: on", -"", -" `gnuplot` は描画スタイル `points` で描画する点のサイズの制御にも、コマンド", -" ラインオプション (`-pointsize <v>`) とリソース (`gnuplot*pointsize: <v>`)", -" を提供しています。値 `v` は点のサイズの拡大率として使われる実数値", -" (0 < v <= 10) で、例えば `-pointsize 2` はデフォルトのサイズの 2 倍、", -" `-pointsize 0.5` は普通のサイズの半分の点が使われます。", -"", -" `-ctrlq` スィッチは、描画ウィンドウを閉じるホットキーを `q` から", -" `<ctrl>q` に変更します。これは、`pause mouse keystroke` によるキースト", -" ロークの保存機能を使っている場合には、他のアルファベット文字と同様に", -" `q` を保存できるようになるので有用でしょう。同じ理由で、`-ctrlq` スィ", -" ッチは <space> ホットキーも <ctrl><space> に置き換えます。", -"", -"2 カラーリソース (color_resources)", -"?set terminal x11 color_resources", -"?set term x11 color_resources", -"?x11 color_resources", -"=X resources", -" 注意: このセクションは、gnuplot バージョン 5 とは大きくずれています。", -" x11 出力形式は以下のリソース (ここではそのデフォルトの値を示します)、", -" または白黒階調 (greyscale) のリソースを参照します。リソースの値はシス", -" テム上の X11 rgb.txt ファイルに書かれている色名、または 16 進の色指定", -" (X11 のマニュアルを参照) か、色名と強度 (0 から 1 の間の値) をコンマで", -" 区切った値を使用できます。例えば `blue, 0.5` は半分の強度の青、を意味", -" します。", -"@start table - まずは対話型テキスト形式", -" gnuplot*background: white", -" gnuplot*textColor: black", -" gnuplot*borderColor: black", -" gnuplot*axisColor: black", -" gnuplot*line1Color: red", -" gnuplot*line2Color: green", -" gnuplot*line3Color: blue", -" gnuplot*line4Color: magenta", -" gnuplot*line5Color: cyan", -" gnuplot*line6Color: sienna", -" gnuplot*line7Color: orange", -" gnuplot*line8Color: coral", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: white\\\\", -"#&gnuplot*textColor: black\\\\", -"#&gnuplot*borderColor: black\\\\", -"#&gnuplot*axisColor: black\\\\", -"#&gnuplot*line1Color: red\\\\", -"#&gnuplot*line2Color: green\\\\", -"#&gnuplot*line3Color: blue\\\\", -"#&gnuplot*line4Color: magenta\\\\", -"#&gnuplot*line5Color: cyan\\\\", -"#&gnuplot*line6Color: sienna\\\\", -"#&gnuplot*line7Color: orange\\\\", -"#&gnuplot*line8Color: coral\\\\", -"%c l .", -"%@gnuplot*background: white", -"%@gnuplot*textColor: black", -"%@gnuplot*borderColor: black", -"%@gnuplot*axisColor: black", -"%@gnuplot*line1Color: red", -"%@gnuplot*line2Color: green", -"%@gnuplot*line3Color: blue", -"%@gnuplot*line4Color: magenta", -"%@gnuplot*line5Color: cyan", -"%@gnuplot*line6Color: sienna", -"%@gnuplot*line7Color: orange", -"%@gnuplot*line8Color: coral", -"@end table", -"", -" これらに関するコマンドラインの書式は、背景 (bacground) に関しては単純で", -" 通常の X11 toolkit オプションの \"-bg\" に直接対応します。他のものも、", -" 全て一般的なリソースの上書きオプション \"-xrm\" を使うことで設定できま", -" す。", -"", -" 例:", -"", -" 背景色を変更するには", -" gnuplot -background coral", -"", -" 線種 1 番目の色を書き換えるには", -" gnuplot -xrm 'gnuplot*line1Color:blue'", -"", -"2 灰色階調リソース (grayscale_resources)", -"?commands set terminal x11 grayscale_resources", -"?set terminal x11 grayscale_resources", -"?set term x11 grayscale_resources", -"?x11 grayscale_resources", -"?grayscale_resources", -"=X resources", -" `-gray` を選択すると、`gnuplot` は、グレイスケールまたはカラーディスプ", -" レイに対して、以下のリソースを参照します (ここではそのデフォルトの値を", -" 示します)。デフォルトの背景色は黒であることに注意してください。", -"@start table - まずは対話型テキスト形式", -" gnuplot*background: black", -" gnuplot*textGray: white", -" gnuplot*borderGray: gray50", -" gnuplot*axisGray: gray50", -" gnuplot*line1Gray: gray100", -" gnuplot*line2Gray: gray60", -" gnuplot*line3Gray: gray80", -" gnuplot*line4Gray: gray40", -" gnuplot*line5Gray: gray90", -" gnuplot*line6Gray: gray50", -" gnuplot*line7Gray: gray70", -" gnuplot*line8Gray: gray30", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*background: black\\\\", -"#&gnuplot*textGray: white\\\\", -"#&gnuplot*borderGray: gray50\\\\", -"#&gnuplot*axisGray: gray50\\\\", -"#&gnuplot*line1Gray: gray100\\\\", -"#&gnuplot*line2Gray: gray60\\\\", -"#&gnuplot*line3Gray: gray80\\\\", -"#&gnuplot*line4Gray: gray40\\\\", -"#&gnuplot*line5Gray: gray90\\\\", -"#&gnuplot*line6Gray: gray50\\\\", -"#&gnuplot*line7Gray: gray70\\\\", -"#&gnuplot*line8Gray: gray30\\\\", -"%c l .", -"%@gnuplot*background: black", -"%@gnuplot*textGray: white", -"%@gnuplot*borderGray: gray50", -"%@gnuplot*axisGray: gray50", -"%@gnuplot*line1Gray: gray100", -"%@gnuplot*line2Gray: gray60", -"%@gnuplot*line3Gray: gray80", -"%@gnuplot*line4Gray: gray40", -"%@gnuplot*line5Gray: gray90", -"%@gnuplot*line6Gray: gray50", -"%@gnuplot*line7Gray: gray70", -"%@gnuplot*line8Gray: gray30", -"@end table", -"", -"2 線描画リソース (line_resources)", -"?set terminal x11 line_resources", -"?set term x11 line_resources", -"?x11 line_resources", -"=X resources", -" 注意: このセクションは、gnuplot バージョン 5 とは大きくずれています。", -" `gnuplot` は描画の線の幅 (ピクセル単位) の設定のために以下のリソースを", -" 参照します (ここではそのデフォルトの値を示します)。0 または 1 は最小の", -" 線幅の 1 ピクセル幅を意味します。2 または 3 の値によってグラフの外観を", -" 改善できる場合もあるでしょう。", -"@start table - まずは対話型テキスト形式", -" gnuplot*borderWidth: 1", -" gnuplot*axisWidth: 0", -" gnuplot*line1Width: 0", -" gnuplot*line2Width: 0", -" gnuplot*line3Width: 0", -" gnuplot*line4Width: 0", -" gnuplot*line5Width: 0", -" gnuplot*line6Width: 0", -" gnuplot*line7Width: 0", -" gnuplot*line8Width: 0", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*borderWidth: 1\\\\", -"#&gnuplot*axisWidth: 0\\\\", -"#&gnuplot*line1Width: 0\\\\", -"#&gnuplot*line2Width: 0\\\\", -"#&gnuplot*line3Width: 0\\\\", -"#&gnuplot*line4Width: 0\\\\", -"#&gnuplot*line5Width: 0\\\\", -"#&gnuplot*line6Width: 0\\\\", -"#&gnuplot*line7Width: 0\\\\", -"#&gnuplot*line8Width: 0\\\\", -"%c l .", -"%@gnuplot*borderWidth: 1", -"%@gnuplot*axisWidth: 0", -"%@gnuplot*line1Width: 0", -"%@gnuplot*line2Width: 0", -"%@gnuplot*line3Width: 0", -"%@gnuplot*line4Width: 0", -"%@gnuplot*line5Width: 0", -"%@gnuplot*line6Width: 0", -"%@gnuplot*line7Width: 0", -"%@gnuplot*line8Width: 0", -"@end table", -"", -" `gnuplot` は線描画で使用する点線の形式の設定用に以下のリソースを参照し", -" ます。0 は実線を意味します。2 桁の 10 進数 `jk` (`j` と `k` は 1 から", -" 9 までの値) は、`j` 個のピクセルの描画に `k` 個の空白のピクセルが続く", -" パターンの繰り返しからなる点線を意味します。例えば '16' は 1 個のピク", -" セルの後に 6 つの空白が続くパターンの点線になります。さらに、4 桁の 10", -" 進数でより詳細なピクセルと空白の列のパターンを指定できます。例えば、", -" '4441' は 4 つのピクセル、4 つの空白、4 つのピクセル、1 つの空白のパタ", -" ーンを意味します。以下のデフォルトのリソース値は、白黒ディスプレイ、あ", -" るいはカラーや白黒階調 (grayscale) ディスプレイ上の白黒描画における値", -" です。", -" カラーディスプレイでは dashed:off がデフォルトになっています。", -"@start table - まずは対話型テキスト形式", -" gnuplot*dashed: off", -" gnuplot*borderDashes: 0", -" gnuplot*axisDashes: 16", -" gnuplot*line1Dashes: 0", -" gnuplot*line2Dashes: 42", -" gnuplot*line3Dashes: 13", -" gnuplot*line4Dashes: 44", -" gnuplot*line5Dashes: 15", -" gnuplot*line6Dashes: 4441", -" gnuplot*line7Dashes: 42", -" gnuplot*line8Dashes: 13", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*dashed: off\\\\", -"#&gnuplot*borderDashes: 0\\\\", -"#&gnuplot*axisDashes: 16\\\\", -"#&gnuplot*line1Dashes: 0\\\\", -"#&gnuplot*line2Dashes: 42\\\\", -"#&gnuplot*line3Dashes: 13\\\\", -"#&gnuplot*line4Dashes: 44\\\\", -"#&gnuplot*line5Dashes: 15\\\\", -"#&gnuplot*line6Dashes: 4441\\\\", -"#&gnuplot*line7Dashes: 42\\\\", -"#&gnuplot*line8Dashes: 13\\\\", -"%c l .", -"%@gnuplot*dashed: off", -"%@gnuplot*borderDashes: 0", -"%@gnuplot*axisDashes: 16", -"%@gnuplot*line1Dashes: 0", -"%@gnuplot*line2Dashes: 42", -"%@gnuplot*line3Dashes: 13", -"%@gnuplot*line4Dashes: 44", -"%@gnuplot*line5Dashes: 15", -"%@gnuplot*line6Dashes: 4441", -"%@gnuplot*line7Dashes: 42", -"%@gnuplot*line8Dashes: 13", -"@end table" -, "", -"2 X11 pm3d リソース (pm3d_resources)", -"?set terminal x11 pm3d_resources", -"?set term x11 pm3d_resources", -"?x11 pm3d_resources", -"?x11 pm3d", -"=X resources", -" 注意: このセクションは、gnuplot バージョン 5 とは大きくずれています。", -"", -" デフォルトでは `gnuplot` はそのスクリーンのデフォルトの visual を使用", -" します。割り当てることのできる色数は選択された visual クラスによって変", -" わります。12bit を超える深度を持つ visual クラス上では、gnuplot は最大", -" 色数である 0x200 (=512) 色で起動します。8bit を超える (12bit 以下で)", -" 深度の visual クラスでは最大色数は 0x100 (=256) 色、8bit 以下のディス", -" プレイでは最大色は 240 (16 色は曲線の色用に取られる) になります。", -"", -" gnuplot は最初に、上に述べたような最大色を割り当てようと起動します。こ", -" れに失敗するとその色数は、gnuplot がその全部を割り付けることができるま", -" で、1/2 ずつ減らされます。`maxcolors` を繰り返し 2 で割った結果、", -" `mincolors` よりも小さい数字になった場合、`gnuplot` は private カラー", -" マップを使おうとします。この場合、ウィンドウマネージャは、ポインタが", -" X11 ドライバのウィンドウに入るか出るかでカラーマップを退避 (swapping)", -" させる責任を持つことになります。", -"", -" `mincolors` のデフォルトの値は maxcolors / (num_colormaps > 1 ? 2 : 8)", -" で、num_colormaps は gnuplot が現在使用しているカラーマップの数で、こ", -" れは、x11 のウィンドウが 1 つだけ開いているような通常の場合は 1 です。", -"", -"2 X11 の他のリソース (other_resources)", -"?commands set terminal x11 other_resources", -"?set terminal x11 other_resources", -"?set term x11 other_resources", -"?x11 other_resources", -"=X resources", -" デフォルトでは、現在の描画ウィンドウの内容は、ウィンドウの X イベント", -" に従って X11 クリップボードに送られます。'gnuplot*exportselection' の", -" リソースの値を 'off' か 'false' と設定することによりこれを無効にできま", -" す。", -"", -" デフォルトでは、文字の回転は速くそれを行なう方法が使われますが、背景色", -" によってはその付近が汚れることがあります。これが起こる場合は、リソース", -" 'gnuplot.fastrotate' を 'off' にしてみてください。", -"", -"@start table - other x11 resources", -" gnuplot*exportselection: off", -" gnuplot*fastrotate: on", -" gnuplot*ctrlq: off", -"#\\begin{tabular}{|cl|} \\hline", -"#&gnuplot*exportselection: off\\\\", -"#&gnuplot*fastrotate: on\\\\", -"#&gnuplot*ctrlq: off\\\\", -"%c l .", -"%@gnuplot*exportselection: off", -"%@gnuplot*fastrotate: on", -"%@gnuplot*ctrlq: off", -"@end table" -#endif /* JAPANESE_DOC */ - -END_HELP(x11) -START_HELP(xlib) -#ifndef JAPANESE_DOC -"1 xlib", -"?commands set terminal xlib", -"?set terminal xlib", -"?set term xlib", -"?terminal xlib", -"?term xlib", -"?xlib", -" The `xlib` terminal driver supports the X11 Windows System. It generates", -" gnuplot_x11 commands, but sends them to the output file specified by", -" `set output '<filename>'`. `set term x11` is equivalent to", -" `set output \"|gnuplot_x11 -noevents\"; set term xlib`.", -" `xlib` takes the same set of options as `x11`." -#else /* JAPANESE_DOC */ -"1 xlib", -"?commands set terminal xlib", -"?set terminal xlib", -"?set term xlib", -"?terminal xlib", -"?term xlib", -"?xlib", -" `xlib` ドライバは X11 Windows System をサポートしています。このドライ", -" バは gnuplot_x11 への命令を生成しますが、`set output '<filename>'` を", -" 指定するとそれらをファイルに書き出します。`set term x11` は、", -" `set output \"|gnuplot_x11 -noevents\"; set term xlib` と同値です。", -" `xlib` には `x11` と同じオプションの組を与えることができます。" -#endif /* JAPANESE_DOC */ -END_HELP(xlib) diff --git a/docs/doc2gih.c b/docs/doc2gih.c index 6052d83ea..7821a60e4 100644 --- a/docs/doc2gih.c +++ b/docs/doc2gih.c @@ -130,6 +130,9 @@ process_line(char *line, FILE *b) case 'F':{ /* latex embedded figure */ break; /* ignore */ } + case 'D':{ /* html embedded figure */ + break; /* ignore */ + } case '%':{ /* troff table entry */ break; /* ignore */ } diff --git a/docs/doc2hlp.c b/docs/doc2hlp.c index 2e5c0568b..90af02916 100644 --- a/docs/doc2hlp.c +++ b/docs/doc2hlp.c @@ -119,6 +119,7 @@ process_line (char *line, FILE *b) } case '=': /* latex index entry */ case 'F': /* latex embedded figure */ + case 'D': /* html embedded figure */ case '#':{ /* latex table entry */ break; /* ignore */ } diff --git a/docs/doc2ipf.c b/docs/doc2ipf.c index 7a3e7c9c4..d8d67befe 100644 --- a/docs/doc2ipf.c +++ b/docs/doc2ipf.c @@ -362,6 +362,9 @@ process_line(char *line, FILE *b) } break; } + case 'D':{ /* embedded figure + link to demo */ + break; + } case '#':{ /* latex table entry */ if (!intable) { /* Itemized list outside of table */ diff --git a/docs/doc2rtf.c b/docs/doc2rtf.c index 61e384b35..ad2b042de 100644 --- a/docs/doc2rtf.c +++ b/docs/doc2rtf.c @@ -226,9 +226,10 @@ process_line(char *line, FILE *b) case '@':{ /* start/end table */ break; /* ignore */ } - case '^':{ /* html link escape */ + case 'D': /* html link to demo figure */ + case '^': /* html link escape */ break; /* ignore */ - } + case '=': /* latex index entry */ case 'F': /* latex embedded figure */ case '#': /* latex table entry */ diff --git a/docs/doc2tex.c b/docs/doc2tex.c index 9677c48a4..1edbb6e55 100644 --- a/docs/doc2tex.c +++ b/docs/doc2tex.c @@ -189,6 +189,9 @@ process_line( char *line, FILE *b) } break; + case 'D': /* link to demo figure */ + break; /* ignore */ + case '@':{ /* start/end table */ if (intable) { (void) fputs("\\hline\n\\end{tabular}\n", b); diff --git a/docs/doc2texi.el b/docs/doc2texi.el index 8dd66ef58..12c2a4392 100644 --- a/docs/doc2texi.el +++ b/docs/doc2texi.el @@ -479,8 +479,8 @@ the end of `d2t-get-terminals'.") (save-excursion (when (re-search-forward "^<3" (point-max) t) (beginning-of-line) - (insert "@c ") - (forward-line 1) + (let ((eol (save-excursion (end-of-line) (point-marker)))) + (delete-region (point-marker) eol)) (dolist (elem list) (and d2t-verbose (message " %s ..." elem)) (setq file (concat d2t-terminal-directory elem ".trm")) diff --git a/docs/doc2web.c b/docs/doc2web.c index 9f37e5702..2ee1960d3 100644 --- a/docs/doc2web.c +++ b/docs/doc2web.c @@ -149,7 +149,7 @@ header(FILE *a, char * title) fprintf(a, "</head>\n"); fprintf(a, "<body>\n"); fputs( -"<table class=\"center\" style=\"font-size:150%;\" width=\"80%\" >\n" +"<table class=\"center\" style=\"font-size:150%\">\n" "<th class=\"center\"><a href=\"gnuplot6.html\">Credits</a></td>\n" "<th class=\"center\"><a href=\"Overview.html\">Overview</a></td>\n" "<th class=\"center\"><a href=\"Plotting_Styles.html\">Plotting Styles</a></td>\n" @@ -452,6 +452,34 @@ process_line(char *line, FILE *b, FILE *d) } break; } + + case 'D': /* Link to figure in demo collection */ + { /* D demo_name <n> */ + /* DB inserts a break */ + char *demo; + int figure = 1; + + if (line[1] == 'B') { + fprintf(b, "<br>\n"); + break; + } + if (!sscanf(&line[2], "%ms", &demo)) + break; + sscanf(&line[strlen(demo)+3], "%d", &figure); + fprintf(stderr, "Will include link to %s %d \n", demo, figure); + + if (para) { + fprintf(b, "</p>"); + fprintf(b, "<p align=\"center\">\n"); + para = FALSE; + } + fprintf(b, "<a href=\"http://gnuplot.info/demo_6.0/%s.html\">\n", demo); + fprintf(b, "<img class=\"demo\" src=\"http://gnuplot.info/demo_6.0/%s.%d.png\" ", demo, figure); + fprintf(b, "alt=\"%s demo\" \\>\n", demo); + fprintf(b, "</a>\n"); + break; + } + default:{ if (isdigit((int)line[0])) { /* start of section */ int newlevel = line[0]-'0'; @@ -478,14 +506,19 @@ process_line(char *line, FILE *b, FILE *d) fprintf(b, "</p>\n"); } + /* Special case symlink for list of new features */ + if (newlevel == 2) { + if (!strncmp(&line[2], "New features", 12)) { + startpage = TRUE; /* just to get the symlink processing! */ + sectionname = "NewFeatures"; + } + } + para = FALSE; /* not in a paragraph */ tabl = FALSE; /* output unique ID */ - if (startpage) { - strcpy(location, sectionname); - } else - sprintf(location, "loc%d", line_count); + sprintf(location, "loc%d", line_count); /* add list of subtopics */ if (!collapsing_terminal_docs && !processing_title_page) { @@ -538,7 +571,21 @@ process_line(char *line, FILE *b, FILE *d) exit(EXIT_FAILURE); } if (startpage) { - // fprintf(stderr,"Opening %s for output\n",newfile); + /* Make a symlink with a known name */ + char knownfile[PATH_MAX] = ""; + char locfile[16]; + strcpy(locfile, location); + strcat(locfile, ".html"); + strncpy(knownfile, path, PATH_MAX-1); + strncat(knownfile, sectionname, PATH_MAX-strlen(knownfile)-6); + strcat(knownfile,".html"); + if (symlink(locfile, knownfile)) { + perror("doc2web: Can't create symlink "); + exit(EXIT_FAILURE); + } + fprintf(stderr,"Creating symlink %s for %s\n", knownfile, newfile); + + /* Start the new file */ header(b, sectionname); #ifdef CREATE_INDEX sidebar(b, 1); diff --git a/docs/figure_missing.pdf b/docs/figure_missing.pdf deleted file mode 100644 index ef257e419..000000000 Binary files a/docs/figure_missing.pdf and /dev/null differ diff --git a/docs/gnuplot-ja.doc b/docs/gnuplot-ja.doc index 0865c4d05..61394b667 100644 --- a/docs/gnuplot-ja.doc +++ b/docs/gnuplot-ja.doc @@ -1,17 +1,16 @@ -C RCS $Id: gnuplot-ja.doc,v 1.768 2022-12-12 18:12:59+09 shige Exp $ -C corresponding original gnuplot.doc at 2022-12-12 +C corresponding original gnuplot.doc for gnuplot-6.0.0rc1 C C Copyright (C) 1986 - 1993, 1998, 1999, 2000, 2001, 2004 Thomas Williams, Colin Kelley et al. C C Japanese translation: Hiroharu Tamaru (2.0, 3.2), MASUTANI Yasuhiro (3.5), -C Shigeharu Takeno et al (3.7, 4.X, 5.X) +C Shigeharu Takeno et al (3.7, 4.X, 5.X, 6.X) 1 Gnuplot ?gnuplot C contributors ɽΥʸϡߤΥꥸʥǤ UTF-8 C ǽ񤫤Ƥ뤬 HTML ̾ȷѹƤ롣 ^<h2 align="center"> An Interactive Plotting Program </h2> ^<p align="center"> Thomas Williams & Colin Kelley</p> -^<p align="center"> Version 5 organized by Ethan A Merritt and others</p> +^<p align="center"> Version 6 organized by Ethan A Merritt</p> ^<p align="center">Major contributors (alphabetic order):<br> ^<br> ^ Hans-Bernhard Broeker, John Campbell,<br> @@ -22,12 +21,12 @@ C ^ Ed Kubaitis, Russell Lang, Timothée Lecomte,<br> ^ Alexander Lehmann, Alexander Mai, Bastian Märkisch,<br> ^ Tatsuro Matsuoka, Ethan A Merritt, Petr Mikulík,<br> -^ Carsten Steger, Shigeharu Takeno,<br> +^ Hiroki Motoyoshi, Carsten Steger, Shigeharu Takeno,<br> ^ Tom Tkacik, Jos Van der Woude,<br> ^ James R. Van Zandt, Alex Woo, Johannes Zellner<br> ^</p> ^<p align="center"> Copyright (C) 1986 - 1993, 1998 - 2004 Thomas Williams, Colin Kelley<br> -^ Copyright (C) 2004 - 2022 various authors</p> +^ Copyright (C) 2004 - 2023 various authors</p> ^<p align="center"> Mailing list for comments: <tt>gnuplot-info@lists.sourceforge.net</tt><br> ^ Gnuplot <a href="http://gnuplot.info"> home page </a><br> ^ Issue trackers:   @@ -40,6 +39,7 @@ C ?copyright ?license Copyright (C) 1986 - 1993, 1998, 2004, 2007 Thomas Williams, Colin Kelley + Copyright (C) 2004-2023 various authors Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, @@ -73,13 +73,14 @@ C Russell Lang, Dave Kotz, John Campbell. Gnuplot 3.0 additions: Gershon Elber and many others. - Gnuplot 4.0 and 5.0 additions: + Gnuplot 4.0 and subsequent releases: See list of contributors at head of this document. (ʲޤ; ʤΤޤΤǾܤϾ嵭θʸ äƤԤǤޤ) Copyright (C) 1986 - 1993, 1998, 2004, 2007 Thomas Williams, Colin Kelley + Copyright (C) 2004-2023 ¿ ΥեȥȤ°ʸλѡʣۤεĤϡ嵭 (copyright) ɽƤʣʪ˽񤫤Ƥ뤳ȡɽ @@ -111,34 +112,36 @@ C Russell Lang, Dave Kotz, John Campbell. Gnuplot 3.0 ɲ: Gershon Elber Ȥ¾ο͡ - Gnuplot 4.0, 5.0 ɲ: + Gnuplot 4.0 ӤʹߤΥ꡼: ʸƬδͿ (contributors) ΰȡ 2 Ϥ (Introduction) ?introduction ? `gnuplot` ϡݡ֥ʥޥΥե桼ƥƥǡ - Linux, OS/2, MS Windows, OSX, VMS, ¾¿Υץåȥۡư - ޤɤˤޤ̵ۤƤޤ ( - ʤвʧɬפϤޤ)ϡʳؼԤ - ؿǡʤɤŪɽǤ褦줿ΤǤߤޤǤˡ + Linux, OS/2, MS Windows, macOS, VMS, ¾¿Υץåȥۡư + ޤɤˤޤ̵ۤƤޤ + (ʤвʧɬפϤޤ)ϡʳؼԤ + شؿǡʤɤŪɽǤ褦줿ΤǤߤޤǤ 㤨 Web ץȤʤɡ¿÷Ѥ⥵ݡȤ褦 ĹƤޤϡ㤨 Octave Τ褦˥ɥѡƥΥץꥱ 襨󥸥ȤƤȤƤޤgnuplot ϡ1986 ꥵ ȤȳȯʳȯԤƤޤ - gnuplot ϡ2 ޤ 3 Ρ¿μΥդ򥵥ݡȤ - ޤ: աաա٥ȥ衢̡ - Ƥ˴Ϣ뤵ޤޤʸƤˤĤ̤ - 跿⥵ݡȤƤޤ + gnuplot ϡ2 ޤ 3 ¿μΥդǤޤ + ޤ: աաա٥ȥ衢 + ߡ̡Ƥ˴Ϣ뤵ޤޤʸƤ + Ĥ̤ʥա㤨вʬۿ (heatmap)㥰 ( + 㡼, spiderplot)˼ͱ (polar projection)ҥȥ + (histograms)ȢҤ (boxplot)ӡ॰ (bee swarm) + ʤɤ⥵ݡȤƤޤ gnuplot ¿ΰۤʤϤ򥵥ݡȤƤޤ: ÷꡼Ϸ (ޥۥåȥϤǽ)ڥץå丽ߤΥץ󥿤ؤľ ܽϡޤ¿Υեؤν (eps, emf, fig, jpeg, LaTeX, pdf, png, postscript, ...)gnuplot ϡưפ˿Ϸɲä - 褦ĥ뤳ȤǤޤǶɲä줿÷Ϸˤϡ - wxWidgets (ʣΥץåȥۡѲǽ), Qt 򸵤ˤΤ - svg HTML5 canvas ϷѤСդ Web ڡ - ޥѲǽʷϤ뤳ȤǤޤ + 褦ĥ뤳ȤǤޤǶǤ㤨 webp ˥᡼󤬥ݡ + Ȥޤsvg HTML5 canvas ϷѤСդ Web + ڡ˥ޥѲǽʷϤ뤳ȤǤޤ `gnuplot` Υޥɸʸʸ̤ޤʤʸ 񤫤줿ޥɤؿ̾ϡʸǽ񤤤ΤȤƱǤϤ @@ -180,10 +183,6 @@ C gnuplot {OPTIONS} file1 file2 ... file1, file2 ϡ`local` ޥɤǼΤƱϥե (ץȥե) Ǥ - X11 ١ΥƥǤϡʲν񼰤Ȥޤ - gnuplot {X11OPTIONS} {OPTIONS} file1 file2 ... - ܺ٤ϡX11 ΥɥȡӰʲ: `x11` - gnuplot Ϳ륪ץϡޥɹԤΤɤ֤Ƥ⹽ޤ󡣥 ϻꤷ˼¹Ԥ졢Ʊͤ -e ץǤդΥޥɤͿ 뤳ȤǤޤ: @@ -192,19 +191,18 @@ C ̤ʥե̾ "-" ϡɸϤɤޤΤ˻Ȥޤ`gnuplot` ϺǸΥեȽλޤɤ߹ޤե ꤷʤϡ`gnuplot` ɸϤϤޤܺ - ϡʲ: `batch/interactive`gnuplot ѤΥץˤĤƤϡ - ʲΤ褦ˤư򸫤뤳ȤǤޤ: + ϡʲ: `batch/interactive` + ޥɥ饤󥪥ץξܺ٤ϰʲ: `command-line-options`ޤ + ϰʲ¹ԤƤ gnuplot --help - ܺ٤ϰʲ: `command-line-options` ÷襦ɥǤκϡ'h' ǤĤȥۥåȥ (`hotkeys`) ȥޥǽ (`mousing`) ˴ؤإפ򸫤뤳ȤǤޤ - `seeking-assistance` ΥϡʤإסFAQ õ - ݤͿƤǤ礦 -2 õФ (Seeking-assistance) +2 õФ/Х (Seeking-assistance / Bugs) ?help-desk ?faq ?FAQ +?bugs ?seeking-assistance gnuplot ۡڡϰʲˤޤ ^ <a href="http://www.gnuplot.info"> @@ -249,23 +247,58 @@ C ȯǤ˴ؤ᡼󥰥ꥹ: gnuplot-beta@lists.sourceforge.net -2 ߤΥСοǽ (New features in this version) -?new version_5.5 +2 С 6 Ǥοǽ (New features in version 6) +?new version_6 ?new -?development version ?version - С 5.5 ϸߤγȯǤǡ git ݥȥˤޥ - ΥեΥʥåץåȤȤäƺǤޤ - Ƴ줿ǽϡ̤ˤϡС 5.6 ޤǤǤ˸ - ȤϤޤ󤷡٤ͤƳѹǽޤ + С 6 ϡ̤뤳 1986 ǯ gnuplot ȯǤκǿ᥸㡼 + ꡼Ǥϡ᥸㡼С 5 (2015)ƤθΥޥ + ꡼ 5.2 (2017), 5.4 (2020) ³ΤǤȯϡSouceForge + git ݥȥץΡǤȤ̤ʥ֥³ + Ƥޤ - ʤ¹ԤƤ gnuplot Ȥ߹ޤ줿ץǽ˴ؤ빹 - ˤĤƤϡʲ: `show version long` + ΥɥȤ˵ҤƤ뵡ǽˤϡgnuplot 򥽡饳 + ѥ뤹ݤˤ򤷤ꤷƤȤΤޤ + ʤ¹ԤƤ gnuplot ѥˤɤΤ褦ʥץ + ꤷƺ줿Τˤϡ`show version long` ȥפƤ + + +3 ؿ֥åȶɽѿ (Function blocks and scoped variables) +?new function blocks + Ǥ gnuplot ǤϡɸŪ gnuplot ޥɤΥ֥åƤӽФ + ؿȤƻȤ뵡ǽƳƤޤؿ֥åϡ0 9 Ĥΰ + ȤơĤ֤ͤޤؿ֥åϡ׻ͤѿ + ˳Ƥꡢۤʤؿ黻Ҥ礷ꡢͿ줿ǡФ + 뷫֤κȤԤäꤹΤ˻ȤȤǤޤ + λȤߤˤϡ3 ĤǤޤ + ʲ: `local`, `scope`, `function blocks`, `return` +#start +#b `local` ϡѿΥץǡΥפϡ +## 줬񤫤Ƥץñ̤μ¹Τߤ¤ޤñ̤Ȥϡ +## ߤϡ`load` `call` ʸμ¹ñ̡ؿ֥åɾ `if`, +## `else`, `do for`, `while` ³椫äǰϤޤ줿ɥ֥åñ +## Ǥɽ (local) ѿ̾ (global) ѿ̾Ȥ֤Ĥ +## ϡζɽꥹפȴޤǤѿϱޤ +#b ޥ `function` ϡgnuplot ޥɤʤ̾դؿ֥å +## (ºݤϤʸ) ޤؿ֥åƤӽФȡ +## Υޥɤ֥åκǸˤʤ뤫ޤ `return` ޥɤ +## ޤǡ缡¹Ԥޤ +#b ޥ `return <expression>` ϡؿ֥åμ¹Ԥλޤ +## <expression> ɾη̤δؿͤȤ֤ޤؿ +## åγǤϡɤǤ `return` `exit` Ʊͤưޤ +#end + + λȤߤȤäơñʰԤδؿ `f(x) = ...` äʣ + ǤϤʤؿ褹ˤĤƤϡ +^ <a href="http://www.gnuplot.info/demo_6.0/function_block.html"> + `function_block.dem` +^ </a> + 򻲾ȤƤ 3 üؿʣǿʹؿ (Special and complex-valued functions) ?new math - gnuplot ΤΥСǤϡʣǿʹؿȡΥС - äĤδؿβǤ󶡤ޤ + gnuplot С 6 ϡʣǿʹؿȡΥСˤ + äؿβǤ򤤤Ĥ󶡤ޤ #start #b : ʣѿʣǿͤΥ꡼ޥ󥼡 () ؿʲ: `zeta` #b () Դ޴ؿ٤βɡʣǰǽˡ @@ -309,22 +342,47 @@ C ## : `VP`, `VP_fwhm` #end -3 襹 (New plot style) -?new style +3 襹 (New plot styles) +?new styles #start #b 襹 `with surface` ϡ2 ˺ɸưʿ̤ɤꤷ -## ʻɽΥդޤ ǤդνδͿˤ -## դäƿդޤϡ3 ʻҶ̤ `dgrid3d` -## `with pm3d` ʤǤʲ: `set polar grid`, -## `polar heatmap` +## ʻɽΥդޤ ǤդνΤδͿ +## Ťդäƿդޤϡ3 ʻҶ̤ +## `dgrid3d`ȥ `with pm3d` ʤǤ +## ʲ: `set polar grid`, `polar heatmap` +#b 2 襹 `with sectors` ϡʶ˺ɸʻ̤ +## ̤λȤߤǤϳǰζ˺ɸʻˡϥǡ +## ˴ݤҤҤȤޤ˺ɸ⡼ɤǤ `with surface` Ȥϰ +## ϶˺ɸդǤľɸդǤѤǤޤ +#b 襹 `with lines` ˤϡߥե륿ץ `sharpen` +## ޤΥե륿ϴؿդǥѥ򸡽ФޤΥԡ +## ϴؿɸܤȤƼä 2 Ĥ x ɸδ֤ˤ뤿ᡢϤǤ +## ڤƤޤޤΥե륿ϡΤ褦ʥԡξ +## ˿ɸɲäޤʲ: `filters` +#b ϸ̩ˤϿ襹ǤϤޤ󤬡ե륿 concave +## hull ΰɤ٤Υѥ˱äʿ경Ȥ߹碌뤳ȤǡĤ +## ΰץդκǽˤʤޤ㤨ʣΥǡΤ +## ޤ꤬ŤʤäƤΤι򼨤ޤʲ: `concavehull` #end +D polargrid 4 +DB +D windrose 1 +D sectors 4 +DB +D sharpen 1 +D iris 2 3 ȥޥʿ경 (Hulls, masks, and smoothing) ?new hulls #start #b 2 ν򡢤ζ¿ѷ֤뿷ե륿 -## `convexhull`ζζ餫ˤˤϡ`smooth convexhull` -## Ȥޤʲ: `convexhull` +## `convexhull`ζζ餫ˤˤϡ +## "convexhull smooth path with filledcurves" Ȥäɤ٤ΰȤ +## 褹뤳ȤǤǤޤʲ: `convexhull` +#b Ūʥե륿 `concavehull` ϡ̤Ȥϸ¤ʤٹ椹 +## Ĺѥ᡼Ƿꤵ-Ρ¿ѷΥǡ +## ޤϥǡβܼŪʤߤ褷ޤʲ: +## `concavehull` #b pm3d ̤ image 򤷤ʬΤߤɽ褦ޥ ## ˡ (convex hull) ¾¿ѷ (polygon) ѤǤޤ ## 襹 `with mask` (ޥ) 䡢 `mask` ( @@ -338,6 +396,27 @@ C #b Ūǡʿ경Ѥο `period`ʲ: ## `smooth kdensity` #end +D convex_hull 2 +D mask_pm3d 3 +D smooth_path 2 + +3 ̾դѥå (Named palettes) +?new colormaps +#start +#b ߤΥѥåȤ򤽤θѤΤ̾դ顼ޥåפ¸Ǥޤ +## ʲ: `set colormap` +#b pm3d image plot ǰ¸ѥåȤ̾ǻǤޤ +## ˤꡢĤ plot ޥɤʣΥѥåȤѤǤޤ +## ʲ: `colorspec palette` +#b ̾դѥåȥ顼ޥåפϡ32-bit ARGB ͤȤǤ +## ޤˤꡢեͥͤɲäꡢޥ +## `set palette` Ǥϴñ˻Ǥʤ¾νǽˤޤ +#b Ѥߤο `set palette viridis` +#b եǡ֥åɤ߹ѥå (`set palette file`) +## ϡ¿οʬ24bit RGB ͤΤ줫ǻǤޤ +#end +D named_palettes 4 +D viridis 1 3 ǡ (New data formats) ?new data_formats @@ -374,70 +453,30 @@ C #b `stats $vgrid` dzʻΥܥκǾ//ʿ/ɸкĴ #end -3 ؿ֥åȶɽѿ (Function blocks and scoped variables) -?new function blocks - Ǥ gnuplot ǤϡɸŪ gnuplot ޥɤΥ֥åƤӽФ - ؿȤƻȤ뵡ǽƳƤޤؿ֥åϡ0 9 Ĥΰ - ȤơĤ֤ͤޤؿ֥åϡ׻ͤѿ - ˳Ƥꡢۤʤؿ黻Ҥ礷ꡢͿ줿ǡФ - 뷫֤κȤԤäꤹΤ˻ȤȤǤޤ - λȤߤˤϡ3 ĤǤޤ - ʲ: `local`, `scope`, `function blocks`, `return` -#start -#b `local` ϡѿΥץǡΥפϡ -## 줬񤫤Ƥץñ̤μ¹Τߤ¤ޤñ̤Ȥϡ -## ߤϡ`load` `call` ʸμ¹ñ̡ؿ֥åɾ `if`, -## `else`, `do for`, `while` ³椫äǰϤޤ줿ɥ֥åñ -## Ǥɽ (local) ѿ̾ (global) ѿ̾Ȥ֤Ĥ -## ϡζɽꥹפȴޤǤѿϱޤ -#b ޥ `function` ϡgnuplot ޥɤʤ̾դؿ֥å -## (ºݤϤʸ) ޤؿ֥åƤӽФȡ -## Υޥɤ֥åκǸˤʤ뤫ޤ `return` ޥɤ -## ޤǡ缡¹Ԥޤ -#b ޥ `return <expression>` ϡؿ֥åμ¹Ԥλޤ -## <expression> ɾη̤δؿͤȤ֤ޤؿ -## åγǤϡɤǤ `return` `exit` Ʊͤưޤ -#end - - λȤߤȤäơñʰԤδؿ `f(x) = ...` äʣ - ǤϤʤؿ褹Ȥơ`function_block.dem` - ȤƤ - -3 ̾դѥå (Named palettes) -?new colormaps -#start -#b ߤΥѥåȤ򤽤θѤΤ̾դ顼ޥåפ¸Ǥޤ -## ʲ: `set colormap` -#b pm3d image plot ǰ¸ѥåȤ̾ǻǤޤ -## ˤꡢĤ plot ޥɤʣΥѥåȤѤǤޤ -## ʲ: `colorspec palette` -#b ̾դѥåȥ顼ޥåפϡ32-bit ARGB ͤȤǤ -## ޤˤꡢեͥͤɲäꡢޥ -## `set palette` Ǥϴñ˻Ǥʤ¾νǽˤޤ -#b Ѥߤο `set palette viridis` -#b եǡ֥åɤ߹ѥå (`set palette file`) -## ϡ¿οʬ24bit RGB ͤΤ줫ǻǤޤ -#end - 3 ץή (Program control flow) ?control flow #start -#b gnuplotrc Ѥ XDG ١ǥ쥯ȥ򥵥ݡȡgnuplot -## Ͻޥɤ$HOME/.config/gnuplot/gnuplotrc (⤷¸ߤ) -## ɤ߹ߤޤʲ: `environment` +#b ʸ `if ... else if ... else ...` +#b gnuplot ǡXDG ١Υǥ쥯ȥ֤򥵥ݡȤƤ +## gnuplot ϡ$XDG_CONFIG_HOME/gnuplot/gnuplotrc ޥ +## ɤ߹ߤޤåޥϡ$XDG_STATE_HOME/gnuplot_history +## ¸ޤΥե뤬ʤϡgnuplot ΰΥС +## Ʊ͡$HOME/.gnuplot $HOME/.gnuplot_history 򤽤줾Ѥ +## ޤ +#b `unset warnings` ϡ󥽡ؤηٹåϤޤ #b ޥ "fit" Ф㳰fit 顼Ǥ⡢ ## ϤμιԤ֤ޤ顼ϡ֤äȤ ## FIT_ERROR Ǥʤͤˤʤޤϡɤʤեåƥ󥰤 ## 륹ץȤǽˤޤʲ: `fit error_recovery` -#b ޥ `load` `call` ϡϥޥɤե뤫ɤ -## ǡ֥åɤ߹ळȤǤޤ -#b ʸ `if ... else if ... else ...` -#b `unset warnings` ϡ󥽡ؤηٹåϤޤ #end 3 Ϸȥץ (New terminals and terminal options) ?new terminals #start +#b Ϸ `kittygd` `kittycairo` ϡkitty ץȥ򥵥 +## Ȥüߥ졼ǡüɥǤΥեå󶡤 +## ޤkitty ϡsixel եåȤ̤ǡ24 ӥå RGB +## 륫顼󶡤ޤʲ: `kittycairo` #b Ϸ `block` ϡեåΥƥȥ⡼ѤΤ ## ǡ`dumb` `caca` ϷФƲɤ줿٤󶡤뤿 ## Unicode ֥å뤤 (Braille ʸ) Ѥޤ @@ -445,6 +484,13 @@ C ## फ˥᡼ޤƥե졼 pngcairo ## θ libwebp libwebpmux ˤ WebPAnimEncoder API ̤ƥ ## ɤԤޤ +#b `dumb`, `sixel`, `kitty`, `block` ϷΤ褦ˡʸϤȥ +## եåɽƱɥǹԤϷǤϡߤϥޥ +## `pause mouse` δ֤ϥܡϤȿޤδ֡ν +## ǤϡޥǽʽϷԤΤƱˡǥϤ +## ᤷޤʲ: `pseudo-mousing` +## 㤨С///ϡ3 դǤϻѤ2 +## դǤϻư/ʬƥåפ¹Ԥޤ #end 3 åݥ (Watchpoints) @@ -464,12 +510,10 @@ C 3 Υݡ (Week-date time support) ?new week-date time - 2020-2021 ǯ˵ʥ륹 (Covid-19) ưǤϡֳŪ - ΥղδؿޤޤǤδȤơ褯 - ֽפȤäɽƤޤƤˤꡢδ - gnuplot ΥݡȤ­餫ˤʤꡢ񼰤 %W %U Υ - 顼狼ޤߤϲ⥵ݡȤ褦˳ĥ - Ƥޤ + 2020 ǯ˻Ϥޤäʥ륹 (Covid-19) ưǤϡֳŪǡ + ΥղδؿޤޤǤδȤơ褯ֽ + פȤäɽƤޤδФ gnuplot Υݡ + Ȥ­ϲ⥵ݡȤ褦˳ĥƤޤ #start #b %W ϡISO 8601 ν§˽褦ˤʤޤ #b %U ϡCDC/MMWR ν§˽褦ˤʤޤ @@ -480,6 +524,7 @@ C #b ؿ `weekdate_cdc(year, week, day)` ϡCDC §Ǥν ## Ѵޤ #end +D epi_data 1 3 ¾οǽ ?new features @@ -489,440 +534,99 @@ C ## ñ̤Ȥֳֻդޤ ## ʲ: `set xtics`, `set mxtics time` #b `using` Ǥʸ $# ϡߤϥǡԤˤɾ -## ޤ㤨С"plot FOO using 0:(column($# - 1))" ϡƹԤκǸ夫 +## ޤ㤨С`plot FOO using 0:(column($# - 1))` ϡƹԤκǸ夫 ## ļ褷ޤ -#b bin (Ȣ) ѥǡ¤ǤʤʿѤ褹륭 `binvalue=avg` -#b `set colorbox bottom` ϡ顼ܥå򥰥դβ֤ޤ +#b bin (Ȣ) ѤΡפǤʤʿѤ褹륭 `binvalue=avg` +#b `set colorbox bottom` ϡľʥ顼ܥå򱦤֤ +## ʿʥ顼ܥå򥰥դβ֤ޤ #b cbtics ʳμˤϱƶʤ `set colorbox cbtics <linestyle>` #b 򺹤 pm3d ̤Υ󥰤β - Ťʤ̤Υ򡢸 ## ˱ä 2 Ĥʬʬ䤷ζ̤Υ뤬¾ζ̤ ## äͤФƤޤȤʤ褦ˤޤ +#b pm3d ǥˡ桼淿Υݥåȥ饤Ȥɲáʲ: +## `set pm3d spotlight` #b key Τꤹ뿷ץ󡣰ʲ: `key layout` #b `set pm3d border retrace` ϡ pm3d շμˡɤ٤ΰ ## ƱǶޤϡŪ˻и̤Ϥޤ󤬡 ## 褯ʤ pdf postscript ӥ塼Τ褦ʥǥץ쥤⡼ɤǡ -## ꥢˤʪƳʤ褦ˤޤ -#b `set isotoropic` ϡ2 դ 3 դξǡx, y, z +## ꥢˤʪƳʤ褦ˤޤ +#b `set isotropic` ϡ2 դ 3 դξǡx, y, z ## Τ٤ƤΥ뤬Ʊˤʤ褦˥碌ޤ #b ѹ: ʸβžѤȤ¤Ϥʤʤޤ #b ̤ (ͤ) (linetype) `lt nodraw`, `lt black`, `lt bgnd` ## ʲ: `special_linetypes` #b ǡư histogram դοơʲ: -## `histgrams colors` +## `histograms colors` #b (key) Ȣΰ֤ϡgnuplot ¾˹ԤȤߤˤɤʰַ ## ФƤ⡢եåȤͿ뤳ȤǼưĴǤޤʲ: ## `set key offset` #end -3 С 5.4 Ƴ줿ǽ -4 64 ӥå黻Υݡ -?version_5.4 - New features in 5.4 -#start -#b ĶݡȤƤФ٤Ƥμȴؿɾ 64 ӥå黻 -## ѡ -#b 桼ڤؤǽСեθФȽ -## ʲ `overflow` -#end - -4 ܥʻҥǡ (Voxel grids) - gnuplot ϡߥܥǡ (֥ԥǡ) 3 ʻѤ - 򥵥ݡȤޤ - -#start -#b `set vgrid $gridname size N` ϥܥ NxNxN ʻҤޤ -#b `set vxrange [vxmin:vxmax]` ϡ`set vyrange` `set vzrange` ȶ -## ˤγʻҤ֤Τɤΰͭ뤫ޤϡդ -## xyz ϰϤȤƱǤ⡢ƱǤʤƤ⹽ޤ -#b `voxel(x,y,z)` ġΥܥɤࡢ񤯤οȤƻȤޤ -#b `vfill DATA_SOURCE using x:y:z:radius:(<expression>)` ϡ줬 -## դϥǡγζ᤯Υܥͤä뤳Ȱ -## plot ޥɤƱͤ˺Ѥޤ -#b `vgfill` `vfill` Ѽǡ桼ɸ˳ʻҺɸȤޤ -#b `vclear $gridname` ¸ߤܥʻҤ򤹤٤ 0 ˥ꥻåȤޤ -#b ߤΰġޤϤʾΥܥʻҤϡusing `voxel` -## ȤȤǡ`splot` ޥɤǿ䤽¾°Ƥ뤿 -## Ȥ뤳ȤǤޤ -## ǥ `voxel.dem` 򻲾ȤƤ -#b `show vgrid` ǸƤ뤹٤ƤΥܥʻҤδŪ -## ϡ -#b ܥʻҤϡ`splot` ޥɤ襹 `dots`, `points`, -## `isosurface` ǡ̾ȤäǤޤ -## ǥ `vplot.dem` 򻲾ȤƤ -#end - -4 襹䥹륪ץ -#start -#b 3 襹 `with polygons` ϡե뤫¿Τ̥ǡ -## ɤ߹ߤޤϡ̤ꡢȤΤĤޤä֥ -## ΤѤǤޤʲ: `with polygons` -#b `splot $voxelgrid with {dots|points}` ϡꤷͥ٥ -## ͤΤ٤ƤΥܥ˰Ĥޤ -#b `splot $voxelgrid with isosurface` ϡꤷͥ٥ -## Τ٤ƤΥܥ⥶ 3 ̤ޤʲ -## : `isosurface` -#b ܥʻͤϡ3 `using` ǻȤǤޤ -#b `set spiderplot` ϡ㥰 (졼㡼ȤȤ) -## 뿷⡼ɤ򤷤ޤܼŪˤϡĤ¤٤ -## Ū֤ʿԺɸ (parallel axis) Ǥ -## ʲ: `spiderplot`, `set style spiderplot`, `set paxis` -#b 襹 `with circles` 3D Ǥǽˡ -#b 襹 `with boxes` 3D Ǥǽˡ -#b 2 襹 `with arrows` x:y:xdelta:ydelta Ǥʤ -## x:y:length:angle ǻꤹʳ `with vectors` Ʊ -#b splot FOO with pm3d fillcolor <colorspec> -#b pm3d ̤̤ fillstyle̡ξ岼 fillcolor Ƥ褦ˡ -#b pm3d Υץ `noclipcb` ϡcbrange Υѥåȥ顼ͤλ -## cbmin cbmax ˥åפɤ餺褷ޤ -#b Υޥʲ: `set cntrparam` -#b ̤ 3 ̤γѤˤĤʤľɽ ON/OFF Ǥ褦ˡ -## ʲ: `set cornerpoles` -#end - -4 ǡե륿 -#start -#b `zsort` 3 ܤͤ 2 򥽡Ȥޤʲ: `zsort` -## ϡȤƤ礭ǡξ̤̤˰ưƤ -## 餬ʤ褦ˤ뤿ˤͭѤǤ -#end - -4 ޥɤ䥳ޥɥץ -#start -#b ܥʻҥǡѥޥɡʲ: `set vgrid`, `set vxrange`, -## `vclear`, `vfill`, `vgfill`, `voxel` -#b 3D դ xy, xz, yz ʿ̤ɽ뿷ץ -##ʲ: `set walls`, `set grid vertical` -#b `set table separator {tab|comma|"char"}` ˤ CSV ե -##ʲ: `plot with table` -#b ץ `set view projection {xy|xy|yz}` ϡ3 splot -## 2 ͱѤλѡȥ٥֤Ĵ -##`set view projection xy` `set view map` Ʊ -#b `set rgbmax <value>` ˤ RGB ͤβ档 -#b ͤꤹХϰ۲ǽˡ: `Array A = [1,2,3]` -#b ˺ɸ⡼ɤǤƱ߷Υåԥ󥰡ʲ: `set clip` -#b `plot`, `splot` ޥɤΥե̾ؿ `keyentry` ֤ -## ȤΥޥѤ;ʬɲòǽˡ -##ϡб륰դˤѤ 1 Ԥޤ -##ʲ: `keyentry` -#b ޥɸѴؿ桼Ĥ (ʳ) -##map_projection ǥ򻲾ȡ -#b ޥ `load` ϡϥޥɤե뤫ɤ߹˥ǡ -## ֥åɤ߹ळȤǤޤ -#b `set datafile columnheaders` ϡϤƬԤ򡢥ǡͤǤϤʤʸ -## ȤɤޤޤϡԤˤϱƶͿʤȤ -## `set key autotitle columnheader` ƱǤΥץͭ -## ˤϡޥ `stats` ƬԤʸޤ -#end - -4 ϷϷץ -#start -#b `pcl5` Ϸ PCL5e/PCL5c ץ󥿤ȺǶ gnuplot Τ -##ǽ򥵥ݡȤ褦˳ĥ -#b `pstricks` ϷϡRGB 顼Ʃ¿ѷȢɤ٤ʤɡ -## gnuplot κǿ¿εǽ򥵥ݡȤ褦˳ĥƤޤ -#b Ϸ `pict2e` ϡLaTeX2e pict2e ĶǻѤΤǤ -## ϡϤǥեȤǤϥӥɤʤŤϷ `latex`, -## `emtex`, `eepic`, `tpic` ľ˼äΤǤ -#b `texdraw` ϷϡǤդؤʸ󡢲ѤС 5 -## Ȣ¿ѷɤ٤򥵥ݡȤ褦˳ĥޤ -## ϸߤ plain TeX ǤѤǤޤϤޤ˥顼ϥݡ -## Ƥޤ -#b `windows` ϷΡλŪ Direct2D ǤϡGDI Ǥ GDI+ -## ֤ޤϡD2D Ѥ䥫顼եȤʤɤ򥵥ݡ -## ȤƤޤ -#b `dospc` `svga` DOS ѽϷϹ졢ߤŪ˥ -## ɤޥ (svga Τ) ⥵ݡȤƤޤ -#end - -4 ֥ȤȤƤΥԥޥåײ -#start -#b `set pixmap` ϡɸŪʷ (png, jpeg, gif) βԥޥå -## ȤƼߡդڡǤդΰ֤֤뤳Ȥǽ -## ޤ`with image` ˤȤϰ㤤ԥޥåץ֥Ȥ -## Υڥ䥵򼴤ΥžȤΩݻޤ -## ʲ: `pixmap` -#end +3 С 5 Ƴ줿ǽ (3 Brief summary of features introduced in version 5) +?new version_5 +?version_5 -4 ¾οǽ +4 5.4 Ƴ줿ǽ (Features introduced in 5.4) +?new version_5 version_5.4 +?version_5 version_5.4 #start +#b ȴؿ 64 ӥå黻ѡʲ: `integer` +#b 2 襹 `polygons`, `spiderplot`, `arrows` +#b 3 襹 `boxes`, `circles`, `polygons`, `isosurface`, +## Ƥ¾ܥʻҥǡɽ +#b ǡե륿 `zsort` +#b ޥ (key) `keyentry` +#b LaTeX ϽϷ pict2e ϡŤϷ `latex`, `emtex`, +## `eepic`, `tpic` ǤŤϷϤϤǥեȤǤϥӥ +## ɤޤ +#b `set pixmap` ϡpng/jpeg/gif ԥޥåײȤƼߡ +## դڡǤդΰ֤֤Ѵǽ #b ĥʸ⡼ɤ \U+xxxx (xxxx 16 ͤ 4 ޤ 5 ʸ) -##Unicode ɥݥȤǤ褦ˡϽϻб -##UTF-8 ХʸѴޤ +## Unicode ɥݥȤǤ褦ˡϽϻб +## UTF-8 ХʸѴޤ +#b `with parallelaxes` ν񼰤βѤˤꡢ襹 `histogram` +## `spiderplot` Ʊͤ plot ޥǤʷ֤ǽ #end -4 ѹ (Changes) +4 5.2 Ƴ줿ǽ (Features introduced in 5.2) +?new version_5 version_5.2 +?version_5 version_5.2 #start -#b `pm3d filled area quadrangles` ϡߤ zrange ˽äƳ餫˥ -## åԥ󥰤ޤϡpm3d ̡ 3 boxes, polygons -## ˤƶͿޤ -#b 襹 `with parallelaxes` ν񼰤βɡʲ: `parallel` -## histgram, parallelaxis, spiderplot ǤϡǤ֤ -## Ϥ񼰤ѤǤޤ: -## `plot for [column=1:N] DATA using column` -#b 2 Ǥ using ˤäʣǿ value ϡμ¿ -##ʬ real(value) ɾΤǤϤʤ̤ (NaN) Ȥƽ -##ϡؿ plot 3 ǤϾˤʤäƤޤ㤨 -##Сʲ 2 Ĥ plot Ʊˤʤޤ -##plot [-1:1] sqrt(x); plot [-1:1] '+' using 1:(sqrt($1) -#b ޥ `set fontpath` 侩Ǥpostscript Ϸν -## ޤեȤθѥϲɤƤޤ -#end - -3 С 5.2 Ƴ줿ǽ (Features introduced in version 5.2) -4 襹䥹륪ץ -#start -#b 3 襹 `with zerrorfill`ʲ: `zerrorfill`, -## `fenceplots` -^ <a href="http://gnuplot.info/demo_5.2/zerror.html"> - zerror ǥ -^ </a> -## ⻲ȡ -#b ӡ॰աʲ: `set jitter`, `beeswarm` -^ <a href="http://gnuplot.info/demo_5.2/jitter.html"> - ӡ॰եǥ -^ </a> -## ⻲ȡ -#b դ (points) ǻȤġεϡǡͤǤޤ -## (ʲ: `pointtype variable`) -#end -4 ǡѤοե륿 (New data pre-processing filters) -#start -#b ǡǤνи (ʲ: `smooth fnormal`) +#b ɸ (ʲ: `set nonlinear`) #b ǡγƤμư (ʲ: `bins`) -#end -4 ˺ɸ⡼ɤβɤȳĥ (Polar mode improvements and extensions) -#start -#b ٥롢 (arrow)֥Ȥ˶˺ɸȤޤ -#b `set [m]ttics` ϶˺ɸ⡼ɤǤγ̼Υ٥ȹߤ֤ -## -^ <a href="http://gnuplot.info/demo_5.2/ttics.html"> - ˺ɸȹߥ٥ǥ -^ </a> -## 򻲾ȡ -#b `set rlabel` ư¼ (r ) ξ˥٥֤ޤ -#b ո `rrange` (: set rrange [90:0]) ŷʿɸ (celestial -## horizontal coordinates) Ȥ褦ˤʤޤ -^ <a href="http://gnuplot.info/demo_5.2/solar_path.html"> - ŷεƻǥ -^ </a> -## 򻲾ȡ -#b `set border polar` ϶˺ɸγβ˼ޤ -#b `set theta` ϶˺ɸդγ̼Ǥ theta = 0 ΰ֤ȡѤ -## (ײ꤫ȿײ꤫) 椷ޤ -#end -4 ɸ (Nonlinear coordinates systems) -#start -#b դǤդμˡϰϤؤμȤεռ̣ؿ -## Ƥ뤳ȤǤˤ뤳ȤǽǤ (ʲ: -## `set nonlinear`) -^ <a href="http://gnuplot.info/demo_5.2/nonlinear3.html"> - x,y ǥ -^ </a> -#b ʤ߿ޥ `set logscale` ϡߤϴؿ log(x), exp(x) -## ˤΰĤȤƺƼޤ -#end -4 ޥɤ䥳ޥɥץ -#start -#b ֤¹ʬ楫åǤϡ`continue` ϼη֤ˤ -## ư`break` Ϸ֤Ǥޤ -#b `toggle {<plotno> | "plottitle" | all}"` ϡŪ˸ߤΥդ -## Ǥɽ뤫äǤޤ -#b `save fit` 侩Υޥ `update` ֤ -#b `set table "outfile.name" append` ǡθ table Ϥ򡢴¸ -## ߤƥȥե񤭤ɲýϤˤޤ -#b `set pm3d lighting` ǡȿ͸ϥ饤ȤˤǥѤ -## (ʲ: `lighting`) -#b `set minussign` ϡοǤΥʸ '-' 򡢸ߤΥ󥳡 -## Ǥüʸ֤褦 gnuplot ˻ؼޤ -#b `set micro` ϡʳƬΡ֥ޥѤΥʸ 'u' -## ߤΥ󥳡ɤǤüʸ֤褦 gnuplot ˻ؼޤ -## micro, minussign üϡߥ٥ȡŪ gprintf() -## ʸˤΤ߻ѤޤʸɽΥХϡ -## Υ󥳡˰¸ޤ -#end -4 ǡ "array" (New data type "array") -#start -#b ΥС gnuplot ˤϡǡ `array name[size]` -## ƳƤޤϡѤʤФޤ󡣳 -## A[i] ϡʸ¿ʣǿΤǤ⹽ޤ -## Ĥ󤬰ۤʤ뷿ǤĤȤǽǤ黻 |A| -## Υ֤ޤʲ: `arrays` -#end - -4 ϷϷץ -#start -#b `sixelgd` Ϸϡvt340 ȸߴüߥ졼 -## gnuplot ¹ԤˡդϤ̿Υޥɥ饤ι -## ˥դ򶴤褦ʽϤ򥵥ݡȤޤʲ: `sixelgd` -#b `domterm` Ϸϡsvg ᤹üߥ졼 gnuplot -## ¹ԤˡդϤ̿Υޥɥ饤ι֤˥դ -## 褦ʽϤ򥵥ݡȤޤ -#b `windows` ϷϡߤΥդΥӥåȥޥåץեؤ¸ -## ݡȤޤ -#b `windows` Ϸϡեɥ wgnuplot ƥȥ -## ɥå󥰤Ǥޤ -#b `windows` Ϸ (Ū) Direct2D/DirectWrite Хåɡ -#b `wxt` ϷϡWindows Ǥ EMF եؤνϤȥץ󥿽 -## 򥵥ݡȡ -#b `dumb` Ϸϡΰɤ٤ ANSI 顼򥵥ݡȡ -#b `tkcanvas` ϷϡȡǶ gnuplot ¿εǽ -## ݡȤ褦˽ľƤޤ (5.0.3 ) -#end - -4 ¾οǽ (Other new features) -#start -#b 3 դθ˱ƶɲòž `azimuth`ϡޥɥ -## 󤫤 (ʲ: `set view azimuth`)ޤϱޥܥΥɥ -## åǤޤۥåȥ `z` azimuth 0 ˥ꥻåȤޤ -#b Windows gnuplot ǤϡUnicode (BMP) ץȤϤ -## `set encoding` ˤ븽ߤΥ󥳡 (UTF-8 ޤ) ѴƲ -## ޤ -#b ʸȤ˶طʿǤޤ (ʲ: `set style textbox`) -#b դɽΥޥ (ʲ: `plot title`, `set key`, -## `multiple keys`) -#b ե '+' ǤΥդΥץϰϻ˥ץ󥰶 -## Ǥޤ: -## plot sample [t=0:100:10] '+' using (t):(1):(label[t]) with labels -#b ե '++' ϡx, y Ǥʤ u, v ˱äץ󥰤 -## ޤϡ3 ˡ̡ΥǥȺɸΰ褦 -## ʣ޲ѿ̤֤ΤǤ礦 +#b 2 ӡ॰աʲ: `set jitter` +#b 3 襹 `zerrorfill` +#b 3 ǥDZƤȿ͸ϥ饤Ȥ (ʲ: `lighting`) +#b ǡȴϢ륳ޥɤ黻ҡʲ: `arrays` +#b Ϸ `sixelgd`, `domterm` #b л (ֳĹ) 뿷񼰻 tH tM tS ## ʲ: `time_specifiers` -#b ^R ǡȤ߹ readline (Windows ǤȤƤ) εո -## 򳫻Ϥޤʲ: `command-line-editing` -#b Windows Ǥ `set output "PRN"` ˤβɡʲ: -## `windows printing` #end -3 С 5.0 Ƴ줿ǽ (Features introduced in version 5.0) -?Features introduced in version 5.0 +4 5.0 Ƴ줿ǽ (Features introduced in 5.0) +?new version_5 version_5.0 +?version_5 version_5.0 #start -#b /ѥϡߤ¾°Ω˻Ǥޤ -## : `dashtype`, `set dashtype`, `set linetype` -#b Ĥ plot ǤϢ³Ǥ˻ѤǥեȤονϡ -## Ԥˤưפ˶̤ǤΤˤʤޤονϡ桼 -## Ǥޤ (ʲ: `set colorsequence`)λȤߤϡ -## դ뤳ȤǤԤޤ (ʲ: `set monochrome`)ʤ -## gnuplot ΥСǤ `monochrome` ϡߤνϷ -## `set temrinal` ѹȤˤΤߤˤǤޤǤ -#b 襹 `with parallelaxes``with table` -## ٥դ -#b ñĴ 3 ץ饤ˤǡοե륿 (ʲ: -## `smooth mcsplines`) -#b ʸνϡդդեȥ¾ͭ -## Τ˲ä (bold) ȼ (italic) ե⥵ݡ -## ȤƤޤΥ⡼ (ĥʸ) ϡߤϥǥեȤͭ -## ʤäƤޤʲ: `enhanced text`ʸǤȤǰϤळȤ -## Ǥޤ (ʲ: `set style textbox`) -#b ÷Ϸϡϥѡƥȥ٥򥵥ݡȤƤޤ -## ϥޥΥ٥ΥˤȤˤΤ߸ΤǤ -#b ɸ (١ʬ)ʲ: `set xtics geographic` -#b θФΥǥեȽѤ "% h" (LaTeX ϽϷǤ "$%h$") -## ν񼰤 C ɸ񼰤 %g ˻Ƥޤؿʬϡ -## 줬դʸȤƽ񤫤뤳Ȥ㤤ޤ㤨С1.2E05 Ǥʤ -## 1.2 x 10^5 Ȥʤޤ -#b 32-bit Υե + RGB ɽ (#AARRGGBB) 򥵥ݡȡʲ: -## `colorspec` -#b hsv2rgb(H,S,V) ȤѴؿˤ HSV ֤Υݡȡ -#b 2 (x2, y2) ϡбؿˤꡢ 1 ˸ǤޤǤñ -## ʤΤϡˤ 1 2 μϰϤפ뤳ȤǤ -## ̤ˡˤʼǤ褦ˤʤޤޤǤ -## Τ褦ʤȤпǤޤǤʲ: `set link` -#b plot ޥɤγƴؿ˥ץȤϰϤֻǤޤ -## ϡplot ΤϰϤˤϱƶδؿΥǡ򥵥ץ -## ϰϤǤޤ󡣰ʲ: `plot`, `piecewise.dem` -#b 饤֥ libcerf ѲǽǤСʣǿشؿ cerf, -## cdawson, erfi, faddeeva, Voigt ץե VP(x,sigma,gamma) -## 󶡤Τ˻Ȥޤ -#b ޥ `import` ϡ֥ͭ (ݡȤϥڥ졼ƥ -## ƥ¸) 󶡤ؿ˥桼ؿ̾ƤޤŬ -## ʳ֥ͭȤ뤿Υƥץ졼ȥإåե롢 -## 륽makefile ʤɤ demo ˤޤ -#b úȤľΥޥɤϡֹǺƼ¹ԤǤޤ㤨 -## `history !5` ϡ`history` ΰ 5 ֤ΥޥɤƼ¹Ԥޤ -#b ӥåȥեȱ黻 >> << -#b gnuplot ΥƤӽФ gnuplot ץȤ˥ѥ᡼Ϥޤ -## gnuplot -c scriptfile.gp ARG1 ARG2 ARG3 ... +#b Ϸ˰¸ʤ/ +#b ҤȤĤ plot Ǥΰ³Ǥ˻ѤǥեȤοϡ +## Ԥˤưפ˶̤ǤΤˡ +#b 襹 `with parallelaxes`, `with table` +#b ޥξˤȤͭˤʤϥѡƥȥ٥롣 +#b 2 3 ؿ䵿ե '+', '++' Ǥˤ +## Ūʥץϰϡ +#b ޥ `import` ˤץ饰Υݡȡζ֥ͭ +## Ȥ󶡤ؿ˥桼ؿ̾Ƥޤ #end -2 С 4 5 Ȥΰ㤤 (Differences between versions 4 and 5) -?changes -?differences - С 5 Ƴ줿ĤѹϡǤ gnuplot ѤΥ - ץȤεưѤǽޤ - - * NaN 䡢ʤǡޤ¾ͽʤΤޤϥǡ - νβɡ () ˤĤƤϡʲ: `missing` - - * ֺɸϡɸŪ Unix ݥå (1970 ǯ 1 1 ) ÿ - ¸ޤǤ gnuplot Ǥϡ̤Υݥå (2000 ǯ - 1 1 ) ǻѤƤޤѹϡgnuplot γǺ - ñ̤Υǡˤä̷⤬⤿餵褷ޤ󥹥ȡ - 뤵Ƥġ gnuplot ɤΥݥåѤƤ뤫ˤĤ - ϡޥ `print strftime("%F",0)` Τ뤳ȤǤޤߤϡ - ֤ϾʤȤߥä٤¸ޤ - - * ؿ `timecolumn(N,"timeformat")` ϡߤ 2 Ĥΰޤ - 2 ܤΰϤɤΥǡȤϢƤ餺äƤˤ - ؿ `timecolumn` x y ˻ꤹΤȤϰ㤦ǡ - ɤ߹ߤ˻Ȥ褦ˤʤޤεǽϡΥޥ˼äѤ - ޤ: `set xdata time; set timefmt "timeformat"`ϡʣΥե - 뤫ۤʤ񼰤ǡɤǡȤ߹碌 1 ĤΥ - դˤ뤳Ȥǽˤޤ - - * ޥ `set [axis]range` Υ `reverse` ϡư̼ - (autoscaling) ˤΤ߱ƶ`set xrange [0:1]` Τ褦ʥޥɤΰ̣ - դˤ¾ѹԤäϤޤ󡣤Τ褦ʾ x - ոˤС `set xrange [1:0]` ȤƤ - - * ޥ `call` ϡѿ ARGC, ARG0, ..., ARG9 󶡤ޤARG0 - ϡ¹Ԥ륹ץ̾ؤޤARG1 ARG9 ʸѿˤʤ - ΤǡľܻȤ뤫ޤ㤨 @ARG1 Τ褦˥ޥŸ - 򻲾Ȥ뤳ȤǤޤARG0 ... ARG9 Ƥϡ¾ˤѿ ARGV - ARGV[0] ... ARGV[ARGC] ȤƤǤޤŤ gnuplot Ǥ - call Υѥ᡼ȷ $0 ... $9 vergion 5 Ǥ侩Ǥ - - * ץ smooth kdensity Ρbandwidth ɲûǤϡǡ - Ǥʤ 1 ĤΥɤȤͤޤʲ: - `smooth kdensity` +2 С 5 6 Ȥΰ㤤 (2 Differences between versions 5 and 6) -2 侩ʽ (Deprecated syntax) + С 5 ƳĤѹϡgnuplot ΰΥС + ΥץȤԤ롢ޤϰۤʤ뿶񤤤򤵤뤳Ȥޤ + С 6 ƳѹǤϡȤϤȤƤ⾯ʤǤ + +3 侩ʽ (Deprecated syntax) ?deprecated syntax -?backwards compatibility -?compatibility - ǤǻȤƤĤν񼰤 gnuplot 4 侩Ȥʤޤ - ߴ뤿ΥѥΥץѰդƤ - Ť񼰤ΥݡȤϸߤϺƤޤ - - gnuplot 4 Ǥ侩ǡС 5 ǤϺ: - set title "Old" 0,-1 - set data linespoints - plot 'file' thru f(x) - plot 1 2 4 # y=1 Ǥοʿ - update - ߤƱεǽ: - TITLE = "New" - set title TITLE offset char 0, char -1 - set style data linespoints - plot 'file' using 1:(f(column(2))) - plot 1 linetype 2 pointtype 4 - С 5.0 Ǥ侩: - if (defined(VARNAME)) ... - set style increment user - call 'script' 1.23 ABC - (in script: print $0, "$1", "number of args = $#") - set fontpath - set clabel - fit control variables FIT_* - ߤƱεǽ: - if (exists("VARNAME")) ... - set linetype - call 'script' 1.23 "ABC" - (in script: print ARG1, ARG2, "number of args = ", ARGC - set cntrlabel - set fit <option> <value> - - С 5.4 Ǥ侩: + С 5.4 Ǥ侩6.0 ǤϺ: # ֤Ԥ `reread` ޤե N = 0; load "file-containing-reread"; file content: @@ -936,6 +640,19 @@ C pause -1 } + С 5.4 Ǥ侩6.0 ǤϺ + set dgrid3d ,,foo # foo ̣ؼΥɤʤ + ߤϰʲƱ + set dgrid3d qnorm foo # (Τߡqnorm ñȤΥץǤʤ) + + С 5.0 Ǥ侩6.0 ǤϺ + set style increment user + ߤϰʲƱ + ɬפϰϤ "set linetype" Ѥƺ + + С 5.0 Ǥ侩6.0 ǤϺ + show palette fit2rgbformulae + 2 ǥ⡢ͥåȾΥץ (Demos and Online Examples) ?demos ?online examples @@ -952,16 +669,16 @@ C 2 Хå/÷ (Batch/Interactive) ?batch/interactive - `gnuplot` ¿ΥƥǡХå뤤÷Τɤ - ηǤ¹ԤǤȤ߹碌뤳ȤǽǤ - - ޥɥ饤ϡץؤΥץ (ʲ: - `command-line-options`) `gnuplot` ޥɤޤե̾Ǥ - Ȳᤵޤƥեȥޥʸϡꤷ˼¹Ԥ - ̤ʥե̾ "-" ϡޥɤɸϤɤ߹ळȤ̣ - ޤǸΥե¹Ԥ `gnuplot` Ͻλޤɤ߹ - ե롢ӥޥʸꤷʤäϡ`gnuplot` - ɸϤ÷Ϥդޤ + `gnuplot` ϡХå뤤÷ΤɤηǤ¹ԤǤ + Ȥ߹碌뤳ȤǽǤ + + ޥɥ饤ϡץؤΥץ󤫡`gnuplot` ޥɤ + ޤե̾ǤȲᤷޤ + ƥեȥޥʸϡꤷ˼¹Ԥޤ + ̤ʥե̾ "-" ϡޥɤɸϤɹळȤ̣ޤ + ǸΥե¹Ԥ `gnuplot` Ͻλޤɤ߹ޤե + 롢ӥޥʸꤷʤäϡ`gnuplot` ɸ + ÷Ϥդޤ 3 ޥɥ饤󥪥ץ (command line options) ?command-line-options ?batch/interactive command-line-options @@ -992,7 +709,7 @@ C ä򳫻Ϥ: gnuplot - 2 ĤΥޥɥե "input1", "input2" ȤäƥХåԤʤ: + Хå⡼ɤ 2 ĤΥޥɥե "input1", "input2" ¹: gnuplot input1 input2 ե "header" θ塢÷⡼ɤưθ̤Υޥ @@ -1015,12 +732,6 @@ C : HTML5 canvas Ϸ˴ؤΤꤿϡʲ: `set term canvas` - gnuplot ΰǤǤϡ`set size` ͤ򡢽Ϥΰ ( - ) Υ椹ΤˤȤäƤϷ⤢ޤ٤Ƥ - Ϸä櫓ǤϤޤǤŪΤ - `set size` Ѥ뤳ȤϥС 4 侩ȤʤꡢߤϤۤȤ - νϷʲΥ롼˽ޤ: - `set term <terminal_type> size <XX>, <YY>` ϡϥեΥ ޤ "Х" Υ椷ޤǥեȤǤϡդϤ ХΤ褵ޤ @@ -1041,6 +752,10 @@ C Υޥɤϡ 600 ԥ롢⤵ 400 ԥνϥե "figure.png" ޤդϥХκ֤ޤ + : gnuplot ΰΥСǤϡ`set size` ϥХΥ + Τ椹Τ˻ѤϷޤϥС + 4 侩ȤʤäƤޤ + 2 ޥɥ饤Խ (Command-line-editing) ?line-editing ?editing @@ -1260,9 +975,14 @@ C Ƥޤϡʸɲäν񼰾ᤳߤޤ㤨 "x^2" x μ̾桹դ 2 Ĥǽ񤭽Фޤ ⡼ɤϡϷ˥ǥեȤȤ򤵤ޤθ - "set termoption [no]enhanced" ȤäƤεǽͭ/̵ˤǤޤ - "set label 'x_2' noenhanced" Τ褦˸ġʸŬѤ뤳Ȥ - Ǥޤ + `set termoption [no]enhanced` ȤäƤεǽͭ/̵ˤǤޤ + `set label "x_2" noenhanced` Τ褦˸̤ʸФ̵ˤ + 뤳ȤǤޤ + + : TeX ١νϷ (㤨 cairolatex, pict2e, pslatex, tikz) + νϤǤϡ٤ƤΥƥʸˤϡ TeX/LaTeX ν + Ѥ٤Ǥʲ: `latex` + @start table - ޤ÷ƥȷ 浭 @@ -1342,12 +1062,12 @@ C need @ in table, so end and restart the table ! {/"Times New Roman":Bold=20 A_{/:Normal{/:Italic i}}} ܥå (phantom box) a@^b_c ξդʸȲդʸ· - ͭѤǤʸ˥ȵŤͤˤϤޤƯޤ - ԤŪΤˤϡʥȤ䤽¾Υƥ - Τ¿ʸĥ󥳡 (㤨 iso_8859_1 utf8) - ѤǤ礦ʲ: `set encoding`Υܥåϥڡ - 󥰤ԤʤʤΤǡܥå (Ĥޤ @ θ) ξդʸ - դʸûϤΤŬƤޤ + ͭѤǤʸ˥ƥޡŤͤˤϤޤƯ + ޤ󡣤ŪΤˤϡȤ䤽¾Υƥ + Τʸĥ󥳡 (㤨 utf8) ѤǤ + ʲ: `set encoding`Υܥåϥڡ󥰤Ԥʤʤ + Τǡܥå (Ĥޤ @ θ) ξդʸ䲼դʸû + ΤŬƤޤ ʸƱĹΥڡʸ '&' ȤȤ뤳ȤǤ ޤʤ @@ -1368,11 +1088,8 @@ C need @ in table, so end and restart the table ! ȤǤޤ ('~a{.5 /*.2 o}'; 'a' 1/5 礭 'o'ξ ȥåδ֤ΥڡɬפǤ) ʸ󤬻Ϥޤä 뤳ȤϤǤޤ󡣤줾ʸǡ¾üʽ񼰤Ȥ - Ǥޤ󡣤'~a{\^}' Τ褦üʸ򥨥פ뤳 - () ϲǽǤ - - ʸϡ \\ \{ ʤɤΤ褦 \ ȤäƥפǤޤ - ʲ: `escape sequences` + ǤޤʸϥפʤȤޤ: ե + åդ a (\U+00E2) ˤ '~a{.8\^}' Ȥޤ ŰʸñʸȤϰۤʤäƲᤵ뤳Ȥ դƤʰ㤤ϡŰʸǤϥХåå @@ -1403,11 +1120,11 @@ C need @ in table, so end and restart the table ! \U+hhhh η Unicode ΥɥݥȤʸꤹ뤳ȤǤ hhhh 16 ͤ 4 ޤ 5 ʸǤ㤨С̵ε - ΥɥݥȤ \U+221E Ǥϡɬפʤнϻ UTF-8 Υ - ѴޤUTF-8 ĶǤϡǽüʸ¾ʸƱ - ͤʸǽǤΤǡλȤߤɬפޤ󡣤 - ʸȯ (㤨Х٥ȥ̣뤿ʸξ - ) ˤͭѤǤʲ: `set encoding`, `utf8`ޤ + ΥɥݥȤ \U+221E Ǥϡɬפʤнϻ UTF-8 + ХѴޤUTF-8 ĶǤϡǽüʸ¾ʸ + ƱͤʸǽǤΤǡλȤߤɬפޤ󡣤 + Ϸʸȯ (㤨Х٥ȥ̣뤿ʸξ + ʤ) ˤͭѤǤʲ: `set encoding`, `utf8`ޤ ^ <a href="http://www.gnuplot.info/demo_5.4/unicode.html"> 饤˥ɥǥ ^ </a> @@ -1415,30 +1132,22 @@ C need @ in table, so end and restart the table ! 2 Ķѿ (Environment) ?environment - `gnuplot` ¿ΥĶѿǧޤɬܤΤΤϤޤ󤬡 - Ȥˤʤ뤫Τޤ + `gnuplot` ¿ΥĶѿǧޤɬܤΤΤϤޤ - GNUTERM ϡ줬ƤСưνϷꤹΤ˻Ȥ - ޤС 5.2 ϡGNUTERM ʸ "set term" - Τǡ terminal ץ뤳ȤǤޤ: - GNUTERM="postscript eps color size 5in, 3in" + GNUTERM ϡ줬ƤСư "set term" Ϥޤ ϡƥࡢޤϸĿŪʽեˤ (ʲ: `startup`)䡢󤽤θŪ `set term` ޥɤˤ ѹǤޤ + terminal ץ뤳ȤǤޤ: + bash$ export GNUTERM="postscript eps color size 5in, 3in" - GNUHELP ˥إץե (gnuplot.gih) Υѥ̾ƤȤ - ޤ - - VMS Ǥϡ̾ GNUPLOT$HELP `gnuplot` Υإץ饤֥̾ - ޤ`gnuplot` ΥإפǤդ VMS ƥΥإץ饤 - 뤳ȤǤޤ + GNUHELP ϡ줬ƤСإץե (gnuplot.gih) Υ + ̾ꤷޤ - Unix ˤƤϡȥǥ쥯ȥ .gnuplot Ȥե뤬ʤ - ˤϡHOME 줿ǥ쥯ȥõޤɲäǡ.gnuplot - ɤ߹ˡgnuplot $XDG_CONFIG_HOME/gnuplot/gnuplotrc ⸡ - ޤMS-DOS, Windows, OS/2 Ǥ GNUPLOT 򤽤˻ȤޤWindows - ǤϡNT Ѥѿ USERPROFILE ⻲ȤޤVMS Ǥ SYS$LOGIN Ǥ - `help startup` ǤäƤߤƤ + ưνˤϡե $HOME/.gnuplot + $XDG_CONFIG_HOME/gnuplot/gnuplotrc õޤMS-DOS, Windows, OS/2 + Ǥ GNUPLOT USERPROFILE ǻꤵ줿եõޤܺ٤ˤĤ + Ƥϰʲ: `startup` Unix ˤƤϡPAGER إץåνѤΥե륿ȤƻȤ ޤ @@ -1458,9 +1167,8 @@ C need @ in table, so end and restart the table ! `save set` ޥɤǤ¸ޤ ϥɥ饤Фˤ gd 饤֥ͳ TrueType եȤ򰷤 - ⤤ĤޤΥɥ饤ФΥեȸѥϡĶѿ - GDFONTPATH ǤޤˡΥɥ饤ФǤΥǥեȤΥ - ȤϴĶѿ GNUPLOT_DEFAULT_GDFONT Ǥޤ + ⤤Ĥޤ (ʲ: `fonts`)νϷǤϡ + GDFONTPATH GNUPLOT_DEFAULT_GDFONT եȤ˱ƶͿޤ postscript ϥɥ饤ФϼʬǻäƤեȸѥȤޤ ϡĶѿ GNUPLOT_FONTPATH Ǥޤ @@ -1574,8 +1282,9 @@ Ffigure_E0 1.0 -10. 1e1 3.5e-1 # ¿ {1.2, -3.4} # ʣǿ "Line 1\nLine 2" # ʸ (\n ϲԤŸ) - '123\n456' # ʸ (\ n ϤΤޤޤʸ) + '123\na456' # ʸ (\ n ϤΤޤޤʸ) +#TeX \newpage 3 ؿ (Functions) ?expressions functions äդʤС`gnuplot` οشؿΰ¿ʣǿ @@ -1985,14 +1694,14 @@ C ?expressions functions ceil #erf(x) & ~~ & ~ & $\mbox{erf}(\mbox{real}(x))$, $x$ θؿ\\ %erf(x)@ ~~ @$erf ( roman real (x))$, $x$ μθؿ ؿ `erf(x)` ϰμθؿ֤ͤޤʣǿξ - ϵ̵뤵ޤʲ: `erfc`, `inverf`, `norm` + ϵ̵뤵ޤʲ: `cerf`, `erfc`, `inverf`, `norm` 4 erfc ?expressions functions erfc ?erfc #erfc(x) & ~~ & ~ & $\mbox{erfc}(\mbox{real}(x))$, 1.0 - ($x$ μθؿ) \\ %erfc(x)@ ~~ @$erfc ( roman real (x))$, 1.0 - ($x$ μθؿ) ؿ `erfc(x)` 1.0 顢μθؿͤΤ֤ - ޤʣǿξϵ̵뤵ޤʲ: `erf`, + ޤʣǿξϵ̵뤵ޤʲ: `cerf`, `erf`, `inverf`, `norm` 4 exp ?expressions functions exp @@ -2059,6 +1768,7 @@ C C 4 invibeta #invibeta(a,b,p) & ¿ & ~ & () Դ١ؿ \\ %invibeta(a,b,p)@ ¿ @ () Դ١ؿ +?? C C 4 invigamma #invigamma(a,p) & ¿ & ~ & () Դ޴ؿ \\ %invigamma(a,p)@ ¿ @ () Դ޴ؿ @@ -2214,10 +1924,11 @@ C C 4 zeta %c c l . %ؿ@@ %_ +# ~ & ~ & ~ & \hspace{9cm} \\ 4 cerf ?expressions functions cerf ?cerf -#cerf(z) & ʣǿ & \gpCX & ʣǸؿ \\ +#cerf(z) & ʣǿ & \gpCX & ʣǸؿ $cerf(z)={\frac{\sqrt{\pi}}{2}}{\int^{z}_{0}{e^{-t^2}dt}} $ \\ %cerf(z)@ʣǿ@ʣǸؿ `cerf(z)` ϸؿ erf(x) ʣǥСǤ 饤֥ libcerf ɬפǤ @@ -2234,9 +1945,9 @@ C C 4 zeta 4 faddeeva ?expressions functions faddeeva ?faddeeva -%faddeeva(z)@ʣǿ@ƥ벽ʣǸؿ w(z) = exp(-z^2) * erfc(-i*z) -#faddeeva(z)&ʣǿ& \gpCX &ƥ벽ʣǸؿ $w(z) = e^{-z^2}~ erfc(-iz) $ \\ - ؿ `faddeeva(z)` Ϻƥ벽ʣǸؿǤ +%faddeeva(z)@ʣǿ@벽ʣؿ w(z) = exp(-z^2) * erfc(-i*z) +#faddeeva(z)&ʣǿ& \gpCX &벽ʣؿ $w(z) = e^{-z^2}~ erfc(-iz) $ \\ + `faddeeva(z)` ϥ벽ʣؿǤ faddeeva(z) = exp(-z^2) * erfc(-i*z) ϡAbramowitz-Stegun μ 7.1.3, 7.1.4 бޤ 饤֥ libcerf ɬפǤ @@ -2310,7 +2021,6 @@ C C 4 FresnelS #\begin{tabular}{|lcl|} @end table -#TeX \newpage ^<!-- INCLUDE_NEXT_TABLE --> @start table #\begin{longtable}{@{\extracolsep{\fill}}|lcl|@{}} \hline @@ -2456,13 +2166,11 @@ C C 4 FresnelS ?? C C 4 time C ?expressions functions time -?time #time(x) & Ǥ & ߤΥƥ (ñ) \\ %time(x)@Ǥ@ߤΥƥ (ñ) ?? C C 4 timecolumn C ?expressions functions timecolumn -?timecolumn #timecolumn(N,"timeformat") & , ʸ & ϥǡ $N$ ܤν񼰲ǡ \\ %timecolumn(N,"timeformat")@, ʸ@ϥǡ $N$ ܤν񼰲ǡ ?? @@ -2827,9 +2535,9 @@ C C 4 weekdata_cdc #TeX \quad\quad ibeta$(a,b,x)=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\intop_{0}^{x}t^{a-1}(1-t)^{b-1}dt$ - ʣǿξ硢ʬ̵뤷ޤgnuplot 5.5 Ǥμϡ - Cephes 饤֥ [Moshier 1989, "Methods and Programs for - Mathematical Functions", Prentice-Hall] ΥɤѤƤޤ + ʣǿξ硢ʬ̵뤷ޤgnuplot ǤμϡCephes + 饤֥ [Moshier 1989, "Methods and Programs for Mathematical + Functions", Prentice-Hall] ΥɤѤƤޤ 4 Invibeta ?expressions functions invibeta @@ -2984,6 +2692,7 @@ C C 4 weekdata_cdc 5 weekdate_iso ?expressions functions weekdate_iso +?time_specifiers weekdate_iso ?weekdate_iso : time = weekdate_iso( year, week [, day] ) @@ -3036,10 +2745,9 @@ C C 4 weekdata_cdc ߤμϡCephes library (Moshier 2000) ˤΤǤϡ ¿ a>0, ¿ x>=0 ¤Ƥޤ - ʳ: - Τʣǰ֤Ǥ礦 4 using Ѵؿ (using specifier functions) +? ʲδؿϡǡϻΤͭǤ̾綠ϡ`plot`, `splot`, `fit`, `stats` Τ줫Υޥɾ `using` Ѥ ǻѤޤδؿŬϰϤϡºݤ plot ޥʸ @@ -3162,7 +2870,8 @@ C C 4 weekdata_cdc ?expressions functions join `join(array, "sep")` ϡʸǤ"sep" ʸǶڤ եɤȤưĤʸϢ뤷ޤʸǤʤǤϡ - Υեɤޤ + Υեɤޤεդ `split` ؿϰĤʸʣ + ΥեɤڤʬưĤޤ : array A = ["A", "B", , 7, "E"] print join(A,";") @@ -3194,11 +2903,15 @@ C C 4 weekdata_cdc Ƥα黻Ҥ¿ʣǿΰ뤳ȤǤޤޤ FORTRAN ǻȤ ** (߾) 黻Ҥ⥵ݡȤƤޤ + 黻Ҥ̤ͥ Fortran C ƱǤθƱ͡黻ɾ + Ѥ뤿ˤäȤޤä -2**2 = -4 ǡ + (-2)**2 = 4 Ǥ + 4 ñ黻 (Unary) ?expressions operators unary ?operators unary ?unary - ʲϡñ黻ҤȤλˡΰǤ: + ʲϡñ黻ҤΰǤ: @start table - ޤ÷ƥȷ @@ -3272,10 +2985,6 @@ C ... and restart the table: (*) ΤĤ黻ҤΰǤʤФʤޤ - 黻Ҥ̤ͥ Fortran C ƱǤθƱ͡黻ɾ - Ѥ뤿ˤäȤޤä -2**2 = -4 ǡ - (-2)**2 = 4 Ǥ - 黻ҤϡN! ʬ (64 ӥåǤ N <= 20) 礭 N ͤФƤϼ¿Ǥζ֤ͤޤ @@ -3285,7 +2994,7 @@ C ... and restart the table: 4 黻 (Binary) ?expressions operators binary ?operators binary - ʲϡ黻ҤȤλˡΰǤ: + ʲϡ黻ҤΰǤ: @start table - ޤ÷ƥȷ @@ -3468,12 +3177,11 @@ C ... and restart the table: x Ǥʤؿ: f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0 plot f(x) - `gnuplot` ̤ͤФƤϲɽˤ̵뤹ΤǡǸξ - δؿ (1/0) 򲿤ϤʤȤդƤޤ - ؿ襹뤬 lines () ξ硢Ϣ³ (x=1) ν - Ϣ³ؿȤФƤޤȤˤդƤϢ - ³ˤʤ褦ˤˤϡؿ 2 Ĥʬ줾ʬƤ ( - Τ褦ʾ硢޲ѿؿȤΤǤ) + `gnuplot` ̤ͤФƤϲɽˤ̵뤹Τǡ + Ǹξδؿ (1/0) ϤʤȤդƤ + δؿ襹뤬 lines () ξ硢Ϣ³ (x=1) + νϢ³ؿȤФ뤳ȤˤդƤϢ + ³ˤʤ褦ˤˤϡؿ 2 Ĥʬ줾ʬƤ ե 'file' Υǡǡ4 ܤΥǡǤʤȤ1 ܤ ǡ˴ؤ 2 ܤ 3 ܤΥǡʿͤ: @@ -3554,8 +3262,8 @@ C ... and restart the table: <expression> ϡѿ <dummy1> <dummy12> ɽ Ǥηδؿϡ1 ԤǤλѤ¤Ƥޤʣ - ʣԤʤؿϡؿ֥åλȤߤȤǤޤ (С - 5.5 Ǥοǽ)ʲ: `function blocks` + ʣԤʤؿϡؿ֥åλȤߤȤǤޤ (С + Ǥοǽ)ʲ: `function blocks` 桼ѿ: <variable-name> = <constant-expression> @@ -3614,8 +3322,9 @@ C ... and restart the table: ϡ桼ѿźդꥹȤȤƼƤޤĤ ǤϡĤѿˤϸꤵƤޤϡȤŪ ˺ƤʤФޤǡΥѹ - 뤳ȤϤǤޤ󡣤٤ƤǤϡǽ̤ (undefined) Ǥ - Ȥɤξ̤ǡ̾դ桼ѿǤѤǤޤ + 뤳ȤϤǤޤǤϡ󶡤Ƥʤ¤ꡢǽ̤ + (undefined) ǤۤȤɤξ̤ǡ̾դ桼ѿ + ǤѤǤޤ A ǿϡ |A| ǼǤޤ @@ -3627,6 +3336,7 @@ C ... and restart the table: A[4] = "four" A[6] = A[2]**3 array B[6] = [ 1, 2.0, A[3], "four", , B[2]**3 ] + array C = split("A B C D E F") do for [i=1:6] { print A[i], B[i] } 1 1 @@ -3637,8 +3347,8 @@ C ... and restart the table: 8.0 8.0 : ѿϡƱ֤̾ͭޤ㤨С餫 FOO - Ȥ̾󤬤硢FOO Ȥ̾ʸѿȤȡ - ˲ޤ + Ȥ̾󤬤硢FOO Ȥ̾ѿʸƤ + ˲ޤ ̾ `plot`, `splot`, `fit`, `stats` ޥɤͿ뤳Ȥ ޤξ硢źե 1 ܤͤ (1 size @@ -3663,7 +3373,7 @@ C ... and restart the table: ?arrays slice ?slice =split - gnuplot С 5.5 ꡢؿϤȤ⡢֤ͤˤ뤳 + gnuplot С 6 ꡢؿϤȤ⡢֤ͤˤ뤳 Ǥ褦ˤʤޤ㤨С2 ĤΥƱΥɥå () ϰʲΤ褦Ǥޤ @@ -3755,7 +3465,6 @@ C ... and restart the table: ¿Υƥǡlibgd ϡfontconfig ġ뤬󶡤Ūʥե ȽѤǤޤʲ: `fontconfig` - fontconfig ΤʤƥǤϡ Adobe ե (*.pfa) TrueType ե (*.ttf) ؤΥ󶡤Ƥޤξե ȼȤ̾ǤϤʤեȥե̾"<face> {,<size>}" @@ -3774,9 +3483,8 @@ C ... and restart the table: ǥեȤΥեȥƱ˻ꤹˤ: set term png font "arial,11" - TrueType Adobe Type 1 եȤϡ礭ѹžǽ - "set term" ޥɤǥեȤꤷʤä硢gnuplot ϴĶ - ѿ GNUPLOT_DEFAULT_GDFONT 򻲾Ȥޤ + "set term" ޥɤǥեȤꤷʤä硢gnuplot ϴĶѿ + GNUPLOT_DEFAULT_GDFONT 򻲾Ȥޤ 3 postscript (ץ벽 postscript *.eps ) ?fonts postscript =fonts @@ -3925,13 +3633,13 @@ Ffigure_newsyntax 2  (linetypes) ?linetypes ?colors - ŤǤ gnuplot ǤϡƽϷ " (linetype)" 򤢤Ѱդ - ƤơϿ/Υѥ󡢤ޤϿ/ - 礻ǰ㤤ɽƤޤο/Υѥϡ - ۤƱΤˤʤȤݾڤϲ⤢ޤǤ¿Ʊ - ////忧/ѤƤޤθŤưϡ - `set colorsequence classic` Ǥޤgnuplot С 5 - ΥǥեȤϡϷ̵ط˶̤ 8 Ѥޤ + ȤƤŤǤ gnuplot ǤϡƽϷ " (linetype)" 򤢤 + ѰդƤơϿ/Υѥ󡢤ޤϿ/ + ȹ礻ǰ㤤ɽƤޤο/Υѥϡ + ϷۤƱΤˤʤȤݾڤϲ⤢ޤǤ¿ + Ʊ////忧/ѤƤޤθŤưϡ + `set colorsequence classic` Ǥޤߤ gnuplot Υ + եȤϡϷ̵ط˶̤ 8 Ѥޤ (linetype) °¤ӤϡŪեΤ줫ˤ Ƥ˥ޥǽǤʲ: `set linetype`ۥѥå @@ -3966,9 +3674,8 @@ Ffigure_newsyntax `cbrange`ʲ⻲: `monochrome` (linetype) ˤϡ/ΥѥӤĤƤޤ - ٤ƤνϷǤ줬Ȥ櫓ǤϤޤgnuplot С 5 - ǤϡȤΩ/ѥǤޤʲ: - `dashtype` + ٤ƤνϷǤ줬Ȥ櫓ǤϤޤȤΩ/ + ѥǤޤʲ: `dashtype` 3 (colorspec) ?colorspec @@ -4128,15 +3835,11 @@ Ffigure_newsyntax 3 / (dashtype) ?dashtype =dashtype - gnuplot С 5 ǡ`linecolor` `linewidth` Ʊͤˡ/ - ѥ (`dashtype`) ƶ°ȤΩޤΤ褦 - ʡνϷ񤯤̤ʥ⡼ɤȤƻꤹɬפ - ޤ󡣤ʤ`set term <termname> {solid|dashed}` Τ褦ʥ - ޥɤϸߤ̵뤵ޤС 4 Ѥ˽񤤤ŤץȤؤ - ߴɬפʾϡʲΤ褦ʽѤǤޤ: - - if (GPVAL_VERSION >= 5.0) set for [i=1:9] linetype i dashtype i - if (GPVAL_VERSION < 5.0) set termoption dashed + `linecolor` `linewidth` Ʊͤˡ/ѥ (`dashtype`) + ƶ°ȤΩޤΤ褦ʡνϷ + 񤯤̤ʥ⡼ɤȤƻꤹɬפϤޤ󡣤ʤ + `set term <termname> {solid|dashed}` Τ褦ʸŤޥɤϸߤ̵ + ޤ ٤Ƥϡۤ˻ꤷʤС`dashtype solid` Ȥ° ޤΥǥեͤ򥳥ޥ `set linetype` ѹ @@ -4460,7 +4163,7 @@ Ffigure_newsyntax դѤǤؿϡͭ饤֥꤫¹Բǽʴؿ ץ饰λȤߤˤĥǤޤ㤨Сgnuplot ΥС 5.4 ǤϡԴ޴ؿ Q(a,x) Ȥ߹ߴؿȤƤϼ - Ƥޤ + ƤޤǤ #TeX \\ $Q(a,x)=\frac{1}{\Gamma(x)}\intop_{x}^{\infty}t^{a-1}e^{-t}dt$ .\quad\quad ϡgnuplot ľܰʲΤ褦ˤƶŪǤޤ Q(a,x) = 1. - igamma(a,x) @@ -4477,7 +4180,7 @@ Ffigure_newsyntax ˤϡοإ饤֥δؿθƤӽФޤޤƤޤ ǥ쥯ȥ demo/plugin ˤϡQ(a,x) ץ饰Υ - ޤդ褦ˡΥץ饰ϡߤγȯǤ gnuplot + ޤդ褦ˡΥץ饰ϡgnuplot С 6 ˴ޤޤ `uigamma` Ʊؿ򡢰ΥС˼뤳Ȥ ǽˤޤ import Q(a,x) from "uigamma_plugin" @@ -4513,11 +4216,11 @@ C func(x,y) = A + (x+y)/2. 㳰 3: ޥ `local` 줿ѿ - `local` (С 5.5 οǽ) ϡѿޤΥ - Ūǽˤˤꤽ줬Ĥ륳ɥ֥å - ͭϰϤ¤ΤǤΥɥ֥åȤϡ`load` - `call` оݡؿ֥åɾƾ `if`, `else`, `do for`, - `while` θ³ΥɤǤ + `local` (С 6 Ǥοǽ) ϡѿޤΥץ + Ūǽˤˤꤽ줬Ĥ륳ɥ֥åˤ + ͭϰϤ¤ΤǤΥɥ֥åȤϡ`load` `call` + оݡؿ֥åɾƾ `if`, `else`, `do for`, `while` + θ³ΥɤǤ ɽ (local) ѿ̾ (global) ѿȽŤʤä硢ζɽ ͭϰϤȴޤǤϡѿϱޤ @@ -4537,8 +4240,6 @@ C õޤ; Windows Ǥϡ`APPDATA` Ѥޤ)Unix ϤΥ Ǥϡɲä gnuplot $XDG_CONFIG_HOME/gnuplot/gnuplotrc ޤ - : 󥹥ȡ `gnuplot` ǽ˥ȥǥ쥯ȥõ - ǤޤƥʤΤǤϿ侩ޤ 2 ʸʸѿʸؿ (Strings) ?string ?strings @@ -4630,23 +4331,17 @@ C : ('\r') Ȳ ('\n') ʸϡִʸϤ - ޤ󡣤ϡversion 5.2 ѹǤ + ޤ ޥִϡñʸʳϡ`gnuplot` Υޥɥ饤 桢ɤǤǤѲǽǤ - : - - ʲϡ`leastsq` Ȥץ¹ԤνϷ̤ǡ - `leastsq` (ޤΰ䤳ߤ) ֤ޤ: - f(x) = `leastsq` - - VMS Ǥϡ - f(x) = `run leastsq` - - ʲϸߤդȥ桼̾Υ٥ޤ: + 㤨Сʲϸߤդȥ桼̾Υ٥ޤ: set label "generated on `date +%Y-%m-%d` by `whoami`" at 1,1 set timestamp "generated on %Y-%m-%d by `whoami`" + + ʲϡȥǥ쥯ȥΥե̾ʤޤ: + FILES = split( "`ls -1`" ) 3 ʸѿΥޥִ (Substitution macros) ?substitution macros ?macros @@ -4801,8 +4496,7 @@ C This is the first line of text.\nThis is the second line. ĥʸ (enhanced text processing) ŰФƤñ - ФƤⵡǽޤΥ⡼ɤ򥵥ݡȤƤϷ - ǤΤƯޤʲ: `enhanced text` + ФƤⵡǽޤʲ: `enhanced text` հ,ޥɥ饤ִΤ˥ƥॳޥɤϤΤ˻ ޤʲ: `substitution` @@ -4885,8 +4579,8 @@ C ?watch åݥȤϡʤѤ gnuplot configure ˥ץ --enable-watchpoints Ĥƺ줿ˤΤߥݡȤޤ - κϻʳǤ (ܺ٤ϡ꡼ǤФѹǽ - ޤ) + κϻʳǤ (ܺ٤ϡΥ꡼Ǥѹǽ + ޤ) : plot FOO watch {x|y|z|F(x,y)} = <value> @@ -4925,7 +4619,7 @@ Ffigure_watchpoints ľ plot ޥɤоݤ˥ҥåȤåݥȤϡWATCH_n Ȥ ̾¸ޤľ plot ޥɤҥåȤ٤Ƥ åݥȤɽ뤳ȤǤޤʲ: - `show watipoints` + `show watchpoints` gnuplot> show watchpoints Plot title: "DATA using 1:2 smooth cnormal" @@ -5028,6 +4722,21 @@ Ffigure_watchpoints ܤĹѤȤΩǤ褦ˤ褦Ȥޤ `angle` Ͼñ̤ǻꤷޤ +3 arrowstyle variable +?arrowstyle variable +?variable arrowstyle + 襹 `with arrows` `with vectors` ǡϥǡɲ + Ϳơ `set style arrow` arrow б륹 + ֹꤹ뤳ȤǤޤ + + : + set style arrow 1 head nofilled linecolor "blue" linewidth 0.5 + set style arrow 2 head filled linecolor "red" linewidth 1.0 + # 5 ͤ 1 2 Τ줫ǡ줬 + # ΤѤꤹ + plot DATA using 1:2:3:4:5 with arrows arrowstyle variable + +#TeX \newpage 2 ӡ (Bee swarm plots) ?beeswarm ?bee swarm @@ -5057,9 +4766,6 @@ Ffigure_jitter 4 : x y ylow yhigh (xdelta <= 0 boxwidth ) 5 : x y ylow yhigh xdelta (xdelta <= 0 boxwidth ) - 侩 - 4 : x y ylow yhigh # Ȣ == -2 - Ffigure_boxerrorbars y θ "ydelta" ηͿϡȢβ 4 ܤͤ "ylow yhigh" ηͿϡ 5 ܤͤѤޤ @@ -5072,9 +4778,11 @@ Ffigure_boxerrorbars ǻѤϡ`set bars` ȤäǤޤȤ ʤСȢζƱΤǸޤ - 侩: ̤ʾȤơ"ylow yhigh" θ 4 ΥǡФ - `boxwidth = -2.0` Ȥ꤬ޤξȢβϡܤ - ȢˤäĤ褦˼ưŪ˷׻ޤ + 侩: ŤС gnuplot Ǥϡ"ylow yhigh" θ 4 + ΥǡФ `boxwidth = -2.0` ̤˰äƤޤξ硢 + ܤȢδ֤˷֤Ǥʤ褦ȢĴᤷƤޤν + ϡߴΤ˻ĤƤޤΥСǤϺ + 礦 2 boxes ?plotting styles boxes @@ -5090,8 +4798,8 @@ Ffigure_boxerrorbars 3 դǤϡ `boxes` Ϳ줿 x, y ɸ濴Ȥ xy ʿ (z=0) Ϳ줿 z ɸޤǿФľΤȢ񤭤ޤ x Ȣϡ̤ `set boxwidth` ǻǤy Ȣ - Ԥϡ`set boxdepth` ǤޤȢϡ2 ξȤϰ㤤 - ưŪˤϤäĤ褦ˤϰФޤ + Ԥϡ`set boxdepth` ǤޤȢϡ2 ǤΤ褦ˡ + ưŪˤϤäĤ褦˰Фޤ 3 2 boxes (2D boxes) ?style boxes 2D ?boxes 2D @@ -5123,21 +4831,14 @@ Ffigure_boxes set style fill solid 1.0 plot 'file.dat' with boxes - ѥǤɤĤ֤Ȣ sin cos Υդ: + ɤ꿧ƥѥɤꥹȢ sin cos Υդ: set style fill pattern - plot sin(x) with boxes, cos(x) with boxes + plot sin(x) with boxes fc 'blue', cos(x) with boxes fc 'gold' sin ϥѥ 0 ǡcos ϥѥ 1 褵ޤɲä ϥɥ饤ФݡȤѥ۴Ū˻Ѥޤ - 줾ΥǡŪɤꥹ롢ɤ꿧: - - plot 'file1' with boxes fs solid 0.25 fc 'cyan', \ - 'file2' with boxes fs solid 0.50 fc 'blue', \ - 'file3' with boxes fs solid 0.75 fc 'magenta', \ - 'file4' with boxes fill pattern 1, \ - 'file5' with boxes fill empty 3 3 boxes (3D boxes) ?style boxes 3D ?boxes 3D @@ -5162,15 +4863,15 @@ Ffigure_boxes 4 ܤͤȢȤɤߡ5 ܤͤ򿧤󶡤Ȳᤷ ޤ +Ffigure_3Dboxes ǥեȤǤϡȢˤϤʤñ xz ʿ̤ʿԤ 1 Ĥ Ĺǹޤy Ȥ 0 Ǥʤͤꤹ 4 ̤ ŷȢѹǤޤʲ: `set boxdepth` -Ffigure_3Dboxes 3 Ȣϡ̤ǤϤʤ pm3d ĹȤƽƤޤäơɽ - ΢ϡ`set hidden3d` αƶޤƱͤˡȢɽ̤ - 񤭤ϡ`set style fill border` ǤϤʤ - `set pm3d border` Ȥɬפޤʲ: `set pm3d` + ΢ϡ`set hidden3d` αƶޤƱͤˡȢ̤˶ + ϡ`set style fill border` Ǥʤ `set pm3d border` + ȤäƤʲ: `set pm3d` ɤη̤ˤϡ`set pm3d depthorder base` `set pm3d lighting` Ȥ߹碌Ƥ @@ -5223,7 +4924,6 @@ Ffigure_boxplot ʲ: `set style boxplot`, `bars`, `boxwidth`, `fillstyle`, `candlesticks` -#TeX \newpage 2 boxxyerror ?plotting styles boxxyerror ?style boxxyerror @@ -5232,9 +4932,10 @@ Ffigure_boxplot Ffigure_boxxyerror `boxxyerror` 襹 2 ΥǡǤΤѲǽǤ ϡ`xyerrorbars` 뤬ʬθ򺹤ɽȤĹɽ - 뤳ȤСۤƱǤϡϥǡ 4 󡢤ޤ 6 - Ѥޤ;ʬϡvariable Ԥɤ٤ξ󶡤줿 - ΤȤƻѤޤ (ʲ: `rgbcolor variable`) + 뤳ȤФۤƱǤϥǡ 4 󡢤ޤ 6 + ޤ;ʬ (5 ܡޤ 7 ) ϡǡβѿ + (variable color) 󶡤Ȥưޤ (ʲ: `linecolor`, + `rgbcolor variable`) 4 : x y xdelta ydelta 6 : x y xlow xhigh ylow yhigh @@ -5247,10 +4948,6 @@ Ffigure_boxxyerror 6 ηΥޥɤϡǤդ x, y Ĺ񤯴ñˡ ޤ - ɲ (5,7 ) ȡϳƥǡ variable color - (ʲ: `linecolor`, `rgbcolor variable`) ǤȤƻȤ - - ȢϸߤɤĤ֤ (fillstyle) ˽äɤޤ ٤ϡʲ: `set style fill`, `boxes`plot ޥɾǿɤ Ĥ֤ꤹ뤳ȤǤޤ @@ -5306,8 +5003,9 @@ Ffigure_candlesticks ^ </a> Υǥ⡣ - : ͤɽεʤɤɲä硢ʲΤ褦ˡ - դդ¾襳ޥɤɲäɬפޤ: + : ȢҤվ˵ɲä֤ˤϡɲäǤɬ + ˤʤޤʲκǽϡ2 ܤǤǡȢ٤ͤξ + ֤ʬˤƤޤ # ǡ: X 'Ǿ' '1/4 ̤' '' '3/4 ̤' '' set errorbars 4.0 @@ -5341,19 +5039,23 @@ Ffigure_circles using x:y:radius:arc_begin:arc_end using x:y:radius:arc_begin:arc_end:color - ǥեȤǤϴʱߤ褷ޤ4 ܡ5 ܤ˳ϳѤȽλ - (ñ̤)ꤹ뤳ȤDZ߸̤ΰ褹뤳ȤǤޤ + ǥեȤǤϴʱߤ褷ޤ + η̤ `points` pointtype 7 ѤơΥդ + ȤƱͤǤαߤ x ϰϤǿ̤Ȥ㤤ޤ + 4 ܡ5 ܤ˳ϳѤȽλ (ñ̤)ꤹ뤳ȤDZ߸̤ΰ + 褹뤳ȤǤޤ using κǸǡοǤޤξ硢plot ޥ ɤˤ `lc variable` `fillcolor rgb variable` Τ褦ư ɬפޤ + ʲ: `set style circle`, `set object circle`, `set style fill` + 3 Ǥϡusing ˤϰʲΤΤɬפǤ splot DATA using x:y:z:radius:color ưϥץ (ά) Ǥ - ʲ: `set style circle`, `set style fill` : @@ -5365,6 +5067,9 @@ Ffigure_circles # ߤ˥ѥåޥ plot 'data' using 1:2:(10):(40):(320) with circles +Ffigure_piechart +=piechart + # ǡDZߥդ set xrange [-15:15] set style fill transparent solid 0.9 noborder @@ -5376,9 +5081,6 @@ Ffigure_circles 0 0 5 230 360 5 e - ϡpointtype 7 Υ variable Ȥ `points` ˤ - ȻƤޤcircles x ϰϤǿ̤ۤʤޤʲ - ⻲: `set object circle`, `fillstyle` 2 ellipses ?plotting styles ellipses ?style ellipses @@ -5517,7 +5219,7 @@ Ffigure_yerrorfill fillcolor ꤹ뤳ȤǤ˥ޥǤޤplot ޥ fillstyle (`fs`) ꤷʤСߤΥǥեȤ fill Ѥޤʲ: `set style fill`plot ޥɤ fillcolor - (`fc`) ꤷʤС̾ (linetype) ο˽ޤ + (`fc`) ꤷʤСߤȤޤ fillstyle ° {{no}border} ϡfilledcurves Υ⡼ɤǥե `closed` Ǥ˼դޤ @@ -5547,7 +5249,7 @@ Ffigure_financebars ^ <a href="http://www.gnuplot.info/demo/finance.html"> ͻǡǥ⡣ ^ </a> -#TeX \newpage + 2 fillsteps ?style fillsteps ?with fillsteps @@ -5607,16 +5309,25 @@ Ffigure_histeps gnuplot ΤĤ襹Dzʬۿ (heatmaps) 뤳Ȥ ޤɤΥȤϡǡηǷޤޤ -Ffigure_sparsematrix +Ffigure_heatmap + ԥ١βʬۿޤϡ٤ʬۿγƥԥ뤬˰Ĥ + ΥǡͤбȤäƤޤ ԥ١βϡǡͤ§ŪĹʻҤǤ뤳 - ׵ᤷޤʲ: `with image`Ĥγʻͤη礱 - 갷ȤϲǽǤ (ʲ: `sparse`)ʻҤΰɽ - ƾäƤޤȤǽǤ (ʲ: `masking`)Υԥ - ١βʬۿޤϡ٤ʬۿγƥԥ뤬˰Ĥθ - ǡͤбȤäƤޤʻǤۤ¿ʤ - ϡĹǤ̡ɤä (`with image pixels`)ʿ경 - հ̤ ̤β ("image")ŬѤʤ褦ˤ뤳Ȥ̾Ϥ - ͤǤ + ׵ᤷޤʲ: `with image`ʻͤη礱뤳 + ȤϲǽǤ (ʲ: `sparse`)ʻҤΰɽޥƾ + ƤޤȤǽǤ (ʲ: `masking`)ʻǤۤ¿ + ʤϡĹǤ̡ɤä (`with image pixels`)ʿ경 + ĵհ̤ ̤β ("image")ŬѤʤ褦ˤ뤳Ȥ̾ + Ǥ礦 + +Ffigure_sector_heatmap + ԥ١ʬۿޤβƱζ˷ΤΤϡ2 襹 + `sectors` ǤޤϡԥƱζ˺ɸʻҾΰ + ĤδľҤ˴бޤʲ˺ɸʻ̤Υץ + Ȥϰ㤤ʻҤθġҤǤո󶡤Ǥޤ襹 + ˺ɸա뤤ľɸդǤդξˡҤ֤褦 + ȤȤǤޤοޤϡľɸվǡʬۿޤζ˷ + 2 ĤȾʬ򡢸򶴤ǡަxΥ줿֤ľΤ򼨤ޤ Ffigure_mask ǡ§ŪĹʻҤʤϡ֤䥹ץ饤Ȥ @@ -5717,7 +5428,7 @@ Ffigure_polar_grid ɲäΥ륪ץ `set style histogram nokeyseparators` ϡ ʣΥҥȥޤ॰դˤΤŬڤʤΤǤξɲ - ˤĤƤϡʲ: `newhistgram` + ˤĤƤϡʲ: `newhistogram` : Ffigure_histclust @@ -5751,8 +5462,8 @@ Ffigure_histerrorbar plot for [COL=2:4:2] 'file.dat' using COL:COL+1 ʲϡƱǡѤ߾夲 (rowstacked) Υҥȥ - ˡ򼨤ƤޤޤǤȤϰ㤤ʲǤϷ֤Ȥ - ǤʤŪ̡ꤷޤ + ˡ򼨤ƤޤޤǤȤϰ㤤ʲ襳ޥɤǤϡ + ֤λѤǤϤʤ̡̤ꤷƤޤ set style histogram rowstacked plot 'file.dat' using 2, '' using 4:xtic(1) @@ -5891,6 +5602,7 @@ Ffigure_newhist histogram_colors.dem ^ </a> ˤޤ +D histogram_colors 1 2 image ?plotting styles image @@ -5975,6 +5687,7 @@ Ffigure_scaled_image ƩǤ٤ƤνϷϡ 2 Ĥξüͤ򥵥ݡ Ȥޤ0 < alpha < 255 ΥԥȾƩǡȾƩ򥵥ݡȤƤ ʤϷǤϡͤ 0 255 Τ줫˴ݤޤ +D argb_hexdata 2 3 image pixels ?plotting styles image pixels ?style image pixels @@ -6080,11 +5793,11 @@ Ffigure_lines (ʲ: `rgbcolor variable`) 2 ("using" ʤ) ξ - 1 : y # ֹˤۤ x - 2 : x y + 1 : y # ֹˤۤ x + 2 : x y 3 ("using" ʤ) ξ - 1 : z # x ϰۤιֹ桢y index - 3 : x y z + 1 : z # x ϰۤιֹ桢y index + 3 : x y z ʲ⻲: `linetypes`, `linewidth`, `linestyle` 2 linespoints @@ -6165,8 +5878,8 @@ Ffigure_mask ˤϼޤ󤬡ĤΥޥʣ¿ѷΰޤޤ - ޥ󥰥ޥɤϻʳǤܺ٤ϡ꡼Ǥ˼ޤ - ѹ뤫⤷ޤ + ޥ󥰥ޥɤϻʳǤܺ٤ϡΥ꡼ѹ뤫 + ⤷ޤ 2 parallelaxes Ffigure_parallel @@ -6291,7 +6004,8 @@ Ffigure_points ޤ¿ѷˤϡ3 ܤͤͿ `lc variable` ꤹ (ͤ linetype Ȳ) `lc rgb variable` ꤹ (ͤ 24 ӥå RGB Ȳ) Ȥǡ̤οƤ뤳Ȥ - ޤ¿ѷκǽĺοͤΤߤѤޤ + ޤ¿ѷκǽĺοͤΤߤѤޤϡ + ɤ٤ (fill style) ޤ 3 : @@ -6309,8 +6023,8 @@ Ffigure_points ɤ٤ȿϡsplot ޥɾǻǤޤǤʤ Ūɤ٤ `set style fill` Ѥޤpm3d 롼¤Τᡢ`set pm3d border` ˤĤζ뤬 - ٤Ƥ¿ѷŬѤޤ¤ϾǤ gnuplot Ǥϼ - Ǥ礦 + ٤Ƥ 3 ¿ѷŬѤޤ¤ϾǤ gnuplot + ϼǤ礦 ¿ѷˤϡ4 ܤͤͿ `lc variable` ꤹ (ͤ linetype Ȳ) `lc rgb variable` ꤹ (ͤ @@ -6340,6 +6054,66 @@ Ffigure_polygons ?style rgbimage ?with rgbimage ʲ: `image` +2 (sectors) +?plotting styles sectors +?with sectors +?sectors +?windrose +Ffigure_sector_definition + 2 襹 `with sectors` ϡϥǡ 1 ˰Ĥδľ + ("sector") 褷ޤҤηϡǡͤȤ׵᤹ 4 + ĤͤǷꤷޤҤδĤʬθ򡢥ǡͤɲûꤹ + ȤǤޤοɲȤƻꤹ뤳ȤǤޤ + + 襹ϡľɸǡޤ϶˺ɸ⡼ (`set polar`) θ + ǻѤǤޤ̳Ѥ濴Ѥñ̡ϡ`set angles` + `set theta` 椷ޤ + + ǡ 1,2 ܤϡҤΰĤγѤ (theta) Ⱦ (r) Ǥ +#TeX \newline + ǡ 3,4 ܤϡҤ̤Ѱ (濴; sector_angle) Ⱦ + ¤Ѱ (ư; annular_width) Ǥ +#TeX \newline + ǡ 5,6 ܤꤷϡ濴κɸ̣ ( + եȤ [0,0])ľɸǤ [x,y]˺ɸ⡼ɤǤ [theta,r] Ȳ + ᤷޤ + + : + plot DATA {using specifier} {units xy | units xx | units yy} + + using + 4 : azimuth radius sector_angle annular_width + 5 : azimuth radius sector_angle annular_width color + 6 : azimuth radius sector_angle annular_width center_x center_y + 7 : azimuth radius sector_angle annular_width center_x center_y + color + + x y 뤬ʤ硢x,y ɸδľΤγϱߤ + ϤʤʱߤȤʤäƸ뤳ȤդƤʤΥ + ˴ؤʱ (ellipse) ƱȤߤѤơľγ + γ碌뤳ȤǤޤޥɥ饤 `units xx` + ɲäȡߤ x Υ x, y ξŬѤΤ + ҤޤƱͤˡ`units yy` ϡߤ y Υ x,y + ξŬѤΤ褦Ҥޤ + ʲ: `set isotropic`, `set style ellipse` + +Ffigure_windrose + with sectors ǤϡľɸǤ襹Ǥ `boxes` ( + (wind rose) οޤ򻲾)`boxxyerror` `image pixels` (`heatmaps` + 򻲾) Ф˺ɸǤƱʤ󶡤ޤsector Ǥľ + ɸ⡼ɤǤΥե쥤ȤξΩ뤿ᡢĤΥվΰۤʤ + ʣΥդ֤뤳ȤǽǤ¾ζ˺ɸ⡼ɥ + եǤԲǽǤ + + ˼ƤΤϡsectors Ȥäۿ (wind rose) + Ǥ˺ɸʬۿޤޤ¾αȤƤϡ㡼ȡߥ + /ߴĥա ˺ɸǤΥǡФľΥ顼ܥå + Ǥ餹٤Ƥβù줿ϡ +^ <a href="http://www.gnuplot.info/demo/sectors.html"> + sector Υǥ +^ </a> + ֤Ƥޤ + 2 spiderplot ?plotting styles spiderplot ?with spiderplot @@ -6347,7 +6121,7 @@ Ffigure_polygons ?radar chart 㥰 (spiderplot) ϡܼŪˡʿԺɸ (parallel axis) ǡμľǤϤʤ;֤ΤǤϤ褯֥졼 - 㡼ȡ(`rader chart`) ȤƤФޤgnuplot Ǥϡ + 㡼ȡ(`radar chart`) ȤƤФޤgnuplot Ǥϡ ޥ `set spiderplot` dzΩɸϤǤκȤɬפȤʤޤ гѺɸʿԼֹˤäưۤ˷ޤ뤳Ȥ `set polar` ˻Ƥޤܤ䡢٥դ֤ϡ`set paxis` @@ -6367,6 +6141,11 @@ Ffigure_polygons ¿ѷޤ Ffigure_spiderplot + $DATA << EOD + A B C D E F + George 15 75 20 43 90 50 + Harriet 40 40 40 60 30 50 + EOD set spiderplot set style spiderplot fs transparent solid 0.2 border set for [p=1:5] paxis p range [0:100] @@ -6421,9 +6200,12 @@ Ffigure_steps `with surface` `with lines` ϰۤʤ륹ȤʤꡢƱ Ѥ뤳ȤǤޤ - 2 ˺ɸդǤϡ`with surface` ϡǡñɤʻɽ - Τ˻Ȥޤζ̤ϡޥ `set polar grid` - 椷ޤ + ʻȤǧʤ 3 硢ǽŬڤʳʻҤ˹碌 + 뤳ȤǽǤʲ: `set dgrid3d` + + 2 ˺ɸդǤϡ`with surface` ϡǡοɤʻɽ + Τ˻Ȥޤζ̤ϡޥ `set polar grid` + ޤ 2 vectors ?plotting styles vectors @@ -6465,7 +6247,6 @@ Ffigure_vectors 2 襹ΰʲ⻲: `with arrows`ϡ x:y:length:angle ηǻꤹʳ `with vectors` ƱǤ -#TeX \newpage 2 xerrorbars ?plotting styles xerrorbars ?style xerrorbars @@ -6477,13 +6258,14 @@ Ffigure_xerrorbars `points` ƱǤ (x,y) ˤ (xlow,y) (xhigh,y) ޤǡ ޤ (x-xdelta,y) (x+xdelta,y) ޤǤʬޤ ϤĤΥǡͿ뤫ˤäѤޤؼüι - ߤΰθܤϡ`set errorbars` ǤޤΥϴŪ - ˡ3 4 ΥǡɬפǤ: + ߤΰθܤϡ`set errorbars` Ǥޤ + ȸؼδ֤η֤ϡ`set pointintervalbox` 椷ޤ + ΥϴŪˡ3 4 ΥǡɬפǤ: 3 : x y xdelta 4 : x y xlow xhigh - ɲ (4,5 ) ȡvariable color ȤƻȤޤ + ɲ (4,5 ) Ȥ variable color ȤƻȤޤ ΥǤϡvariable point °ϻȤޤ 2 xyerrorbars @@ -6498,8 +6280,9 @@ Ffigure_xyerrorbars (x,y+ydelta) ޤǤ (x-xdelta,y) (x+xdelta,y) ޤǡޤ (x,ylow) (x,yhigh) ޤǤ (xlow,y) (xhigh,y) ޤǤʬ ޤϤĤΥǡͿ뤫ˤäѤޤ - ؼüιߤΰθܤϡ`set errorbars` Ǥޤ - 4 󤫡6 ΥǡɬפǤ + ؼüιߤΰθܤϡ`set errorbars` Ǥޤ + ȸؼδ֤η֤ϡ`set pointintervalbox` 椷ޤ + 4 󤫡6 ΥǡɬפǤ 4 : x y xdelta ydelta 6 : x y xlow xhigh ylow yhigh @@ -6511,10 +6294,10 @@ Ffigure_xyerrorbars plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars - ɲ (5,7 ) ȡ variable color ȤƻȤ - ޤ + ɲ (5,7 ) Ȥ variable color ȤƻȤޤ ΥǤϡvariable point °ϻȤޤ +#TeX \newpage 2 xerrorlines ?plotting styles xerrorlines ?style xerrorlines @@ -6531,7 +6314,7 @@ Ffigure_xerrorlines 3 : x y xdelta 4 : x y xlow xhigh - ɲ (4,5 ) ȡvariable color ȤƻȤޤ + ɲ (4,5 ) Ȥ variable color ȤƻȤޤ ΥǤϡvariable point °ϻȤޤ 2 xyerrorlines @@ -6558,8 +6341,7 @@ Ffigure_xyerrorlines plot 'data' using 1:2:($1-$3):($1+$3):4:5 with xyerrorlines - ɲ (5,7 ) ȡ variable color ȤƻȤ - ޤ + ɲ (5,7 ) Ȥ variable color ȤƻȤޤ ΥǤϡvariable point °ϻȤޤ 2 yerrorbars @@ -6750,7 +6532,7 @@ Ffigure_zerror ɽ뤳ȤǤޤ ޥȤʤϷǤ⡢Υ˥᡼򥵥ݡȤ - ޤʲ: `term sixelgd animate`, `term domterm animate` + ޤʲ: `term sixelgd`, `term kittycairo` ˥᡼եȤ¸ơǼ긵Ǻ Web ڡ ǤϷ 2 Ĥޤʲ: @@ -6832,20 +6614,20 @@ Ffigure_zerror ٤줿ѥ᡼ͤɤ߹ޤޤ ̾ѥ᡼ ARG1 ... ARG9 ʸͤȤ¸Τǡ - ŸƻȤ뤳ȤǤޤ (Ťν񼰤)¿ - ξ硢¾ѿƱͤѤ꼫Ǥ礦 + ŸƻȤ뤳ȤǤޤ¿ξ硢¾ + ƱͤѤ꼫Ǥ礦 - ʸѥ᡼ ARG1 ... ARG9 ʿԤơͿ줿ѥ᡼ϡ - ARGV[9] ˤ¸ޤʲ: `argv` + ѥ᡼ ARG1 ... ARG9 ʸɽʿԤơΥѥ᡼Ȥ + ARGV[9] ˤ¸ޤʲ: `ARGV` 侩: 5.0 ΥСǤϡ<param-1> ... Ƥ̤ʵ $0, $1, ..., $9 ޥΤ褦ִ뤳ȤɽƤޤθ - Ȥߤϡߤ侩Ǥ + ȤߤϡϤ䥵ݡȤƤޤ ʳ: ؿ֥å (ΥС󤫤οǽ) ϡ`call` ʵǽ󶡤ޤʲ: `function blocks` -3 argv[ ] +3 ARGV[ ] ?argv ?ARGV ?call argv @@ -6954,7 +6736,7 @@ Ffigure_zerror ޥɤ¹Ԥޤʸ˲ʸƤϤޤ evaluate "commands in a string constant" - evaluate <commands produced by a string-valued expression> + evaluate string_valued_function( ... arguments ... ) evaluate $functionblock( ... arguments ... ) ϡäƱͤΥޥɤη֤ͭѤǤ @@ -7012,7 +6794,9 @@ Ffigure_zerror Ϥ뤳ȤǤޤɲäǡǡνŤդѤ˸ɾ Ϥ뤳ȤǽǤ - `fit` κǤŪʻˡϡʲñ㤬Ƥޤ: + `fit` κǤŪʻˡϡʲñ㤬Ƥޤǡ + 뤫ɤ߹ x y η¬ (measured) νϡؿ y = f(x) + Υǥ벽˻Ȥޤ f(x) = a + b*x + c*x**2 fit f(x) 'measured.dat' using 1:2 via a,b,c @@ -7209,9 +6993,9 @@ Ffigure_zerror ƱǤϥǡȴؿͤȤμ뤤ϻĺ (SSR:Sum of the Squared Residuals) ¤Ƚꤵޤ̤̾() ȸƤФޤΥ르ꥺ SSR Ǿ뤳Ȥ򤷤褦 - ޤ⤦ܤȡǡ (ޤ 1.0) νŤߤĤĺ - (WSSR) κǾԤäƤޤܺ٤ϡʲ: - `fit error_estimates` + ޤ⤦ܤȡǡνŤߤĤĺμ (WSSR) + κǾԤäƤޤǡĺϡ褹ϥǡ + ŤߤŤޤܺ٤ϡʲ: `fit error_estimates` 줬() ǾƤϤˡȸƤФ椨Ǥ`` ̣ƤΤ򸫤뤿Ҳ𤷤ޤˤĤ @@ -7224,31 +7008,30 @@ Ffigure_zerror ޤ (Ū˽Ҥ٤ȡǾǤϡƤϤؿΥѥ᡼ ˤ 2 (ƹ˹ⳬ) Ƴؿ 0ȤȤˤʤޤ) - Ǿˡ (LLS) Ǥϡ桼ؿñʴؿ¤Ǥꡢ - ϰĤΥѥ᡼ܤ¾Υѥ᡼ޤޤʤˤʤޤ - Ǿˡ (NLLS) ǤϤʣʴؿ򰷤ѥ᡼Ͽ - Ȥ򤵤ޤաꥨκǾˡΰ㤤ɽ - ĤǤաꥨǤϰĤι + ǾˡǤϡ桼ؿñʴؿ¤Ǥꡢ줾ϰ + ĤΥѥ᡼ܤ¾Υѥ᡼ޤޤʤˤʤޤ + ˡǤϡʣʴؿ򰷤ѥ᡼򿧡ʻȤ򤷤ޤ + աꥨκǾˡΰ㤤ɽĤǤա + ǤϰĤι z=a*sin(c*x) + b*cos(c*x). Τ褦ɽޤ⤷a b ̤Τʥѥ᡼ c Ȥ ѥ᡼ɾǾˤʤޤc ̤Τʥѥ᡼ ʤФˤʤޤ ξ硢ѥ᡼ͤŪñľˡˤäƷ - ޤΤ褦 LLS üʾǤꡢ'gnuplot' Ѥ - ȿˡϡ󤽤ޤơŪ NLLS 򤯤ȤǤ - ޤ`fit` ϸԤȤǺǾͤõȤޤȿγƥƥå - ϡѥ᡼οͤȤФ WSSR ׻ޤMarquardt- - Levenberg Υ르ꥺϼΥƥåפΥѥ᡼ͤ򤷤ޤ - ƤϤ餫Ϳࡢʤ(1) ƤϤ᤬ "«" - (WSSR и³ͤ꾮ʤä硣ʲ: - `set fit limit`)ޤ (2) 餫ꤵ줿ȿθ³ã - (ʲ: `set fit maxiter`)Τ줫ޤ³ޤ - ܡɤ餽ƤϤȿǤǤޤ³ߤ - ȤǤޤ (ʲ: `fit`)桼ѿ FIT_CONVERGED ϡ ľ - fit ޥɤ«ˤ꽪λ 1 ʳͳ - 0 ޤFIT_NITER ϡľƤϤǹԤ줿 - βޤ + ޤ'gnuplot' Ѥȿˡϡ̤ξޤ + ơŪ򤯤ȤǤޤ`fit` ϸԤ + ȤǺǾͤõȤޤȿγƥƥåפϡѥ᡼οͤ + ȤФ WSSR ׻ޤMarquardt-Levenberg Υ르ꥺϼ + ƥåפΥѥ᡼ͤ򤷤ޤƤϤ餫Ϳࡢ + ʤ(1) ƤϤ᤬ "«" (WSSR и³ͤ꾮 + ʤä硣ʲ: `set fit limit`)ޤ (2) 餫 + 줿ȿθ³ã (ʲ: `set fit maxiter`)Τ + ޤ³ޤܡɤ餽ƤϤȿǤǤ + ޤ³ߤ뤳ȤǤޤ (ʲ: `fit`)桼 + FIT_CONVERGED ϡ ľ fit ޥɤ«ˤ꽪λ 1 + ʳͳǤ 0 ޤFIT_NITER ϡľ + ƤϤǹԤ줿֤βޤ ƤϤ˻ȤؿϤФФǥ (ޤϤ) 򸵤ˤ ơϥǡο򵭽Ҥꡢ뤤ͽ¬褦Ȥޤ @@ -7283,17 +7066,17 @@ Ffigure_zerror 4 Ūʳ (statistical overview) ?commands fit error statistical_overview ?statistical_overview - Ǿˡ (Non-Linear Least-Squares; NLLS) ϡ - ʬۤŪ˵ҤƤޤʤϥǡͿ줿 - ʿѤȤʿѤФͿ줿ɸкĥ () ʬۤ˽ - 콸ĤɸܤȲꤵޤʬ礭ɸܡ콸Ĥɸк - Τ뤳ȤФƤϡּʬפѤơּ֦̾פȸƤФ - ͤĴ٤뤳ȤˤƤϤɤפҤ٤뤳ȤǤޤ餵 - ͳ٤Φּ (ּμͳ٤ϡǡοƤϤѥ - ᡼θĿ) 1.0 ǤϡǡƤϤ줿 - ؿȤкνŤߤĤ¤ߤΥѥ᡼ͤФؿͿ - 줿ɸкˤäħդ줿콸ĤΡʥץФ - ¤ȤƱǤ뤳Ȥ̣ޤ + Ǿˡ (Non-Linear Least-Squares) ϡʬۤ + Ū˵ҤƤޤʤϥǡͿ줿ʿѤ + ʿѤФͿ줿ɸкĥ () ʬۤ˽콸 + ɸܤȲꤵޤʬ礭ɸܡ콸ĤɸкΤ + ȤФƤϡּʬפѤơּ֦̾פȸƤФͤĴ + ٤뤳ȤˤƤϤɤפҤ٤뤳ȤǤޤ餵줿ͳ + ٤Φּ (ּμͳ٤ϡǡοƤϤѥ᡼ + θĿ) 1.0 ǤϡǡƤϤ줿ؿ + ȤкνŤߤĤ¤ߤΥѥ᡼ͤФؿͿ줿 + ɸкˤäħդ줿콸ĤΡʥץФ뼫 + ¤ȤƱǤ뤳Ȥ̣ޤ ʬ = פǤ夲׳Ʊ͡콸ĤɸкǤʤ硢 ϴ¬к¤ȴԤк¤ӤȤ˸̤˽Ť @@ -7427,16 +7210,19 @@ Ffigure_zerror 3 顼 (error recovery) ?commands fit error_recovery ?fit error_recovery - gnuplot С 5.5 ꡢޥ `fit` ϡեåƥ󥰽 - Ԥ˴ؤ餺˥ޥϹԤμ褦ˤʤޤ - ϡfit Υ顼륹ץȤǽˤޤѿ FIT_ERROR - ϡ 0 ˡ顼ξ 0 ʳͤˤʤޤ - : + gnuplot С 6 ꡢޥ `fit` ϡեåƥ󥰽 + Ԥ˴ؤ餺˥ޥϹԤμ褦ˤʤޤϡ + fit Υ顼륹ץȤǽˤޤѿ FIT_ERROR ϡ + 0 ˡ顼ξ 0 ʳͤˤʤޤʲϡ5 + ΥǡΤɤ¿ΤΤ fit ǤƤ褷ޤ + 㤨 2 ܤΥǡǼԤƤ⡢줬 3 ܤ 5 ܤΥǡ + Ф fit ˸뤳ȤϤޤ do for [i=1:5] { DATA = sprintf("Data_%05d.dat", i) fit f(x) DATA via a,b,c if (FIT_ERROR || !FIT_CONVERGED) { + print "Fit failed for ", DATA continue } set output sprintf("dataset_%05.png", i) @@ -7501,6 +7287,37 @@ Ffigure_zerror ) ¸ߤʤȤξˤϤʤޤˤäƤϡƥѥ᡼ ΰ̣ΤϰϤ򥫥С褦͡ʽͤνФ `fit` 뤳Ȥ˾ޤΤޤ +3 ǡ (time data) +?commands fit time_data +?fit time_data + ǡƤϤǤϡgnuplot 1970 1 1 ÿȤƻ + ɽƤ뤳ȤפФȤפǤ㤨С2023 ǯΤ 1 + δ֤˷¬ʤ餫λ֤˰¸ǡФơ2 ؿǥ + ǤƤϤ򤷤硢ʲΤ褦ˤ줬ǤȴԤǤ礦: + T(x) = a + b*x + c*x*x + set xdata time + fit T(x) 'hits.dat' using 1:3 via a,b,c + + ¿ʬԤޤʤʤ餽ΤбǤ x + ͤ [1.67746e+09 : 1.67754e+09] Τ褦ϰϤˤʤäƤޤǤ + ¬ǡ x ξѹϤ鷺 1.e-05 ٤ʤΤǡ«ݾڤ + 뤿ˤϡѥ᡼ɾ¿ʬäξ貿̤٤ɬפ + ʤäƤޤǤ礦 + + Ĥβϡ֤¬γϻ֤λ֤ѹѤ + ƤޤȤǤ + set xdata time # ǡ񼰤 "27-02-2023 12:00:00 ¬" + timefmt = "%d-%m-%Y %H:%M:%S" + set timefmt timefmt + t0 = strptime( timefmt, "27-02-2023 00:00:00" ) + fit T(x) 'temperature.dat' using ($1-t0):3 via a,b,c + + ϥǡϰϤ [0 : 86400] Ѥ갷䤹ʤޤ + ξ¾ˡȤƤϡ1 ܤդ̵뤷2 ܤл + (tH/tM/tS) Ѥ뤳ȤǤ + set timefmt "%tH:%tM:%tS" + fit T(x) 'temperature.dat' using 2:3 via a,b,c + 3 ҥ (tips) ?commands fit tips ?fit tips @@ -7605,14 +7422,41 @@ Ffigure_zerror gnuplot> baz = $max( foo, 100. ) ؿ֥å򥵥ݡȤ֤Ūϡʣʴؿ gnuplot ľ - Ǥ褦ˤ뤳ȤǤƱؿ C Fortran ľ - ܥɤ¹®٤٤ʤޤϿŪ - 뤳Ȥǽˤޤ¹®٤פʾϡˤδؿ̤˥ - 饰ȤƼФǤ礦 (ʲ: `plugins`) + Ǥ褦ˤ뤳ȤǤƱؿ C Fortran ǥ + ɤ¹®٤٤ʤޤϿŪ뤳 + Ȥǽˤޤ¹®٤פʾϡˤδؿ̤˥ץ饰 + ȤƼФǤ礦 (ʲ: `plugins`) + + ؿ֥åȤ 2 ܤŪϡgnuplot ޥɤȤʳ + ˤ¸ߤǤʤ褦ʾǤμ¹Ԥǽˤ뤳ȤǤ㤨Фʤ + 2 Ĥ CSV ե뤫Υǡ褷ĤΥեϥե + ɤ޶ڤǡ⤦ϥߥڤǤȤޤ̾ + °ФƤϡ˥ޥ `set datafile` 򥻥åȤޤ + plot ޥɤѤ뤹٤ƤΥեŬѤƤޤޤ + 桹ϡƥե뤬 plot ޥɤǻȤľˤꤹ + 褦˸ƤӤ褦ʴؿ֥åǤޤ + + function $set_csv(char) << EOF + set datafile separator char + EOF + plot tmp=$set_csv(",") FILE1, tmp=$set_csv(";") FILE2 + + : +#start +#b ؿ֥åǡǡ֥åؿ֥å뤳ȤϤǤ +## +#b ʲΥޥɤϴؿ֥åǼ¹ԤǤޤ +## `reset`, `shell`, `!<shell command>` +#b ޥ `plot`, `replot`, `splot`, `refresh`, `stats`, `vfill`, +## `fit` ϡΤ⤬¹ǤʤΤߡؿ֥åǤ +## Ǥޤ㤨Сޥ `plot` ƤӽФؿ֥å `stats` +## ȤȤϤǤޤ󤷡ޥ `fit` 椫 `plot` ƤӽФ +## ȤϤǤʤ +#end ؿ֥åȤǤʤȤơʣп޴ؿ lngamma 15 Lanczos μȥդǥ⥳쥯ˤޤ -^ <a href="http://www.gnuplot.info/demo_5.5/function_block.html"> +^ <a href="http://www.gnuplot.info/demo_6.0/function_block.html"> function_block.dem ^ </a> δؿ֥åˤϡƱ르ꥺ C ľܥɤ @@ -7620,10 +7464,16 @@ Ffigure_zerror Ǥ÷Ǥ 3 դβžˤϽʬʰ̤®Ǥ #TeX ǥˤؿϰʲ̤ꡣ #TeX \newline -#TeX {\small +#TeX \begin{center} +#TeX \begin{minipage}{5in} +#TeX { +#TeX 15 Lanczos Ѥ $log\Gamma(z)$ δؿ֥åˤ +#TeX \hrule +#TeX ~\newline +#TeX \small #TeX \begin{verbatim} #TeX array coef[15] = [ ... ] -#TeX +#TeX #TeX function $Lanczos(z) << EOD #TeX local Sum = coef[1] + sum [k=2:15] coef[k] / (z + k - 1) #TeX local temp = z + 671./128. @@ -7631,16 +7481,19 @@ Ffigure_zerror #TeX temp = temp + log( sqrt(2*pi) * Sum/z ) #TeX return temp #TeX EOD -#TeX +#TeX #TeX function $Reflect(z) << EOD #TeX local w = $Lanczos(1.0 - z) #TeX local temp = log( sin(pi * z) ) #TeX return log(pi) - (w + temp) #TeX EOD -#TeX +#TeX #TeX my_lngamma(z) = (z == 0) ? NaN : (real(z) < 0.5) ? $Reflect(z) : $Lanczos(z) #TeX \end{verbatim} +#TeX \hrule #TeX } +#TeX \end{minipage} +#TeX \end{center} ؿ֥åλѤϻʳǤ ܺ٤ϡ꡼Ǥ˴ޤޤѹǽޤ @@ -7702,20 +7555,13 @@ Ffigure_zerror λ֥åޤǤΤ٤Ƥʸ (ʣϹԤ) ˾Ūʼ¹ԤŬ Ѥޤif ޥɤҤˤ뤳ȤǤޤ - С 5 θŤ 1 Է if/else ʸޤݡȤƤ - ֥åν񼰤ȤϺƤϤޤ󡣰ʲ: - `if-old` -3 if-old -?if if-old -?if-old + С 5 gnuplot Ǥϡif/else ޥɤϰϤ 1 + αޤäƤޤߤʣԤ楫å { } ǰϤǽ񤯤Ȥ + ǤޤŤĤƤޤ楫åΥ֥å + ȤȤϤǤޤ + ν: if (<>) <ޥɹ> [; else if (<>) ...; else ...] - - gnuplot С 4.4 ޤǤϡif/else ޥɤϰϤ 1 α - ޤäƤޤߤʣԤ楫å { } ǰϤǽ񤯤ȤǤ - ŤĤƤޤ楫åΥ֥åǻȤ - ȤϤǤޤ -  `if` "{" Ȥʤʤϡ<> (Ǥʤ) ʤ <ޥɹ> Υޥ (ʣ) ¹Ԥ졢 () ʤ åפޤξϹԤκǸˤʤ뤫`else` @@ -7723,16 +7569,6 @@ Ffigure_zerror ǽǤդΥޥ (`if` ιʸ) ϤǤϽʤ ȤդƤ - : - pi=3 - if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi - ¹Ԥȡ - ?Fixing pi! - 3.14159265358979 - ɽޤ - if (1==2) print "Never see this"; print "Or this either" - Ȥȡɽޤ - 2 for ?for `plot`, `splot`, `set`, `unset` ޥɤǤϡ֤ȤȤ @@ -7804,8 +7640,8 @@ Ffigure_zerror ĤΥޥɤɸϤդ뤳Ȥ̣ޤܺ٤ˤĤ ϡʲ: `batch/interactive` - Unix Τ褦 popen ؿ򥵥ݡȤ褦ʥƥǤϡ'<' ǻϤޤ - ե̾ˤ뤳Ȥǡϥեѥפɤ߹ळȤǤޤ + popen ؿ򥵥ݡȤ褦ʥƥǤϡ'<' ǻϤޤե̾ˤ + 뤳Ȥǡϥեѥפɤ߹ळȤǤޤ : load 'work.gnu' @@ -7818,7 +7654,7 @@ Ffigure_zerror ʳ: ¸ƥȤιԤ饳ޥɤ¹Ԥ뤳Ȥǽ ʲ: `function blocks`ؿ֥åϡޥɥ饤ǡ - 뤤ϳեǤޤٴؿ֥åɤ߹СΥ + 뤤ϳեǤޤٴؿ֥åСΥ ޥɤϡ餿ƥե뤫ɤ߹ΤǤʤΥԡФ `evaluate` ȤȤǷ֤¹ԤǤޤ @@ -7847,7 +7683,7 @@ Ffigure_zerror ѿ "file" ܼŪ˶ɽŪǡϤ줬֤ѿǤ (ʲ: `scope`) ¾ 3 Ĥϡݸˤϥ `local` ɬפǤ - + plot_all_data.gp: local files = system("ls -1 *.dat") do for [file in files] { @@ -7938,6 +7774,19 @@ Ffigure_zerror bind all "alt-End" "exit gnuplot" pause mouse close +3 pause εޥ (pseudo-mousing during pause) +?commands pause pseudo-mousing +?pseudo-mousing + `dumb`, `sixel`, `kitty`, `domterm` ϷΤ褦ˡʸϤȥ + եåɽƱɥǹԤϷޤνϷ + ǤϡΤȤ¼Ū˥ޥư򥵥ݡȤƤޤ󤬡ޥ + `pause mouse` δ֤ϡޥưǽʽϷξƱȤߤǥ + ᤷޤ㤨С///ϡ3 դǤ + Ѳ2 դǤϻư/ʬƥåפ¹Ԥ + ޤ`l` пΥȥ롢`a` ϸߤΥդư̼ܤˡ`h` ϥ + Ƥΰɽޤԥ `pause` λ̾Υ + ɥ饤ޤ + 2 plot ?commands plot ?plot @@ -8329,15 +8178,15 @@ Ffigure_zerror {every <every list>} {skip <number-of-lines>} {using <using list>} + {convexhull} {concavehull} {smooth <option>} {bins <options>} {mask} - {convexhull} {volatile} {zsort} {noautoscale} Ҥ `binary`, `index`, `every`, `skip`, `using`, `smooth`, `bins`, - `mask`, `convexhull`, `zsort` 򤽤줾ʬޤñ˸ - Ȱʲ̤ꡣ + `mask`, `convexhull`, `concavehull` `zsort` 򤽤줾ʬ + ñ˸Ȱʲ̤ꡣ #start #b `skip N` ϥեƬ N Ԥ̵뤹褦 gnuplot ˻ؼ #b `binary` ϥե뤬ƥȤǤʤХʥǡĤȻؼ @@ -8358,8 +8207,7 @@ Ffigure_zerror #end `splot` 褯񼰤Ȥޤ`bins` ϥݡȤƤޤ󤷡 - ʿ경ˤĤƤϡ`smooth csplines` `smooth acsplines` ˸ꤵ - ޤ + ʿ경ˤĤƤϡ2,3 `smooth` ץ󤷤ݡȤƤޤ  `noautoscale` ϡưŪ˼ϰϤꤵ뵡ǽͭ ˡǡˤĤƤϡ̵뤵 ( @@ -8367,8 +8215,8 @@ Ffigure_zerror ƥȥǡե: - ǡեζǤʤƹԤϡĤΥǡ򵭽Ҥޤ`#` (VMS - Ǥ `!`) ǻϤޤԤ㳰ǡϥȤȤư̵뤵ޤ + ǡեζǤʤƹԤϡĤΥǡ򵭽Ҥޤ`#` ǻ + ޤԤ㳰ǡϥȤȤư̵뤵ޤ 襹Ȼꤷץ˰¸ƹԤ 1 İʾ 8 İʲ ͤɤ߹ߡñΥǡ˴Ϣդޤʲ: `using` @@ -8570,11 +8418,11 @@ Ffigure_zerror ?filters ϥǡɤ߹ľ塢¾ smooth 䥹ͭνץ ŬѤˡե륿 (filters) ľŬѤޤ - ˥ե륿ŪϡΤ򡢤ȴФʬ - ֤뤳Ȥǡǽʤкƥ롼ײ󲽤Ԥޤ - ߥݡȤƤե륿 `bins`, `convexhull`, `mask`, `zsort` - Ǥ -5 bins + ˥ե륿ŪϡΤ¿ʬѷƥ롼ײ + 󲽤ԤȴФʬ֤ޤ + ߥݡȤƤե륿 `bins`, `convexhull`, `concavehull`, + `mask`, `sharpen`, `zsort` Ǥ +5 ٿʬ (bins) ?commands plot datafile filters bins ?plot datafile filters bins ?plot filters bins @@ -8588,45 +8436,46 @@ Ffigure_zerror {binvalue={sum|avg}} `plot` ޥɤФ륪ץ `bins` ϡǽ˸Υǡx - ĤĤȢ (ӥ) ˳ơȢ˰Ĥ - Τߤ褷ޤȢοΥǥեͤϡ`set samples` Ƿꤷޤ - plot ޥɤǥӥοŪ˻ꤹ뤳ȤѹǤޤ + ĤĤγ (ӥ) ˳ơƳ˰ + ͤΤߤ褷ޤοΥǥեͤϡ`set samples` Ƿꤷ + ޤ plot ޥɤǥӥοŪ˻ꤹ뤳ȤѹǤ + ޤ binrange ꤷʤȡϰϤ 'DATA' ͤξüޤ - ȢϡꤷϰϤȢο鼫ưŪ˷׻ 0 - NBINS-1 ޤǤȢ˳Ƥޤ: + ϡꤷϰϤȳο鼫ưŪ˷׻ 0 + NBINS-1 ޤǤγ˳Ƥޤ: BINWIDTH = (HIGH - LOW) / (NBINS-1) xmin = LOW - BINWIDTH/2 xmax = HIGH + BINWIDTH/2 first bin holds points with (xmin <= x < xmin + BINWIDTH) - ǽȢ (xmin <= x < xmin + BINWIDTH) ϰϤݻ - ǸȢ (xmax-BINWIDTH <= x < xman) ϰϤݻ - i = floor(NBINS * (x-xmin)/(xmax-xmin)) ֤Ȣ˳ + ǽγ (xmin <= x < xmin + BINWIDTH) ϰϤݻ + Ǹγ (xmax-BINWIDTH <= x < xman) ϰϤݻ + i = floor(NBINS * (x-xmin)/(xmax-xmin)) ֤γ˳ - Ȥ̤ˡȢꤹ뤳ȤǽǤξ硢Ȣο - (nbins) ϡϰΤˤ錄ǾȢοȤʤޤ + Ȥ̤ˡγꤹ뤳ȤǽǤξ硢ο + (nbins) ϡϰΤˤ錄ǾγοȤʤޤ - ȢνϤϡ衢ޤɽˤޤ㤨 gnuplot - 褦Ȣ׻硢ǽȢ x ɸνϤ x=LOW Ǥꡢ - x=xmin ǤϤޤ + νϤϡ衢ޤɽˤޤ㤨 gnuplot + Τ褦˳׻硢ǽγ x ɸνϤ x=LOW Ǥ + ꡢx=xmin ǤϤޤ using ̿ǰĤΤߤꤷ硢ƥǡϡ x ɸͤ - ФȢιͤ 1 Ϳޤ2 ܤꤹȡȢι - ͤˤ 2 ܤͤɲäޤäơʲ 2 Ĥ plot ޥɤ - Ʊˤʤޤ: + Ф볬ιͤ 1 Ϳޤ2 ܤꤹȡγ + ͤˤ 2 ܤͤɲäޤäơʲ 2 Ĥ plot ޥ + ɤƱˤʤޤ: plot 'DATA" using N bins=20 set samples 20 plot 'DATA' using (column(N)):(1) - ǥեȤǤϡȢФ褵 y ͤϡȢΤ٤Ƥ - ˴ؤ y ͤ¤ˤʤޤϡץ `binvalue=sum` - ޤФơ`binvalue=avg` ǤϤȢΤ٤ƤФ - y ͤʿѤ褷ޤ + ǥեȤǤϡƳФ褵 y ͤϡγΤ٤ + ˴ؤ y ͤ¤ˤʤޤϡץ `binvalue=sum` + бޤФơ`binvalue=avg` ǤϤγΤ٤Ƥ + Ф y ͤʿѤ褷ޤ Ϣץ˴ؤƤϡʲ: `smooth frequency`, `smooth kdensity` -5 convexhull +5 (convexhull) ?commands plot datafile filters convexhull ?commands plot datafile convexhull ?plot datafile filters convexhull @@ -8637,27 +8486,83 @@ Ffigure_zerror ?convexhull convexhull 襹ǤϤޤ󡣤ϡե륿 - ȤñȤǡޤϥ `smooth` ΥץȤƻȤޤ + ȤñȤǡޤ `smooth path` `expand <increment>` ȤȤ߹ + 碌ȤƻȤޤ plot FOO using x:y convexhull - plot FOO using x:y smooth convexhull {expand <scale>} + plot FOO using x:y convexhull smooth path + plot FOO using x:y convexhull expand <increment> {smooth path} Ffigure_convex_hull - ǡ FOO 򡢤ޤ¿ѷʬ - ޤ¿ѷĺ硢ʤ (convex hull) ϡ - ĶȤʤ褦ޤäƤζλȽϰפ - `with lines` `with filledcurves` ŬڤǤ褦ˤƤޤ - ϡ丵Υǡ٤Ƥޤ pm3d ̤ΤΰŪ - 褹ݤˤ˻Ȥޤ - ʲ: `with mask` + ϡFOO 򡢤ޤ¿ѷŪʬ硢 + ʤ (convex hull) ֤ޤ¿ѷĺϡ + ײĶȤʤ褦˽ϤޤäƤζλȽϰ + `lines` `polygons`, `filledcurves` 襹Ŭڤ + 褦ˤƤޤϡ丵Υǡ٤Ƥޤ pm3d + ̤ΤΰŪ褹ޥȤƤ˻Ȥޤʲ: + `masking`  `smooth` Ĥȡĺϳ餫ʶ뤿 ȤƻȤޤ (ʲ: `smooth path`)ǥեȤǤϡ - ʿ경ϥ̤ޤץο̰ <scale> ϡ - 濴˴ؤưưΤǡscale ͤ 1 ξϤ٤Ƥ - γʤĶ˼ޤ뤳Ȥˤʤޤ - -5 mask + ʿ경ϥ̤ޤ + + ץΥ `expand` ʬ (<increment>) ϡդ + ʬʬͤεΥ󤶤ޤưưʬαѤ + (mitered) ǤĤʤޤϡγĺ 2 Ĥĺ֤ + Ѥ뤳Ȥ̣ޤܤդȤδ֤˷֤ǤƤޤ + Ǥ + +5 (concavehull) +?commands plot datafile filters concavehull +?commands plot datafile concavehull +?plot datafile filters concavehull +?datafile filters concavehull +?plot filters concavehull +?filters concavehull +?concavehull + + ʳ (ξܺ٤ϾΥ꡼ѹ뤫⤷ޤ)ʤ + gnuplot --enable-chi-shapes դǥӥɤ줿ΤѲǽ + + (concavehull) ϡ襹ǤϤޤ󡣤ϡϥǡ + ζ¿ѷ(hull) 򸫤Ĥե륿ΰĤǡϡ + 򡢤¿ѷμνŤ줿ʬ֤ޤ + ǤդФưդ˷ꤷޤϤȤϰ㤤ʣα + 񤬤ꤨޤĤα򤹤ȤߤϤޤޤޤ + gnuplot Duckham (2008; Patttern Recognition 41:3224-3236) ˤ + 줿-ޤ + +Ffigure_concave_hull_1 + Ϳ줿Фɥ͡ѷʬ䤫黰ѷȿ뤳 + Ǧ-ޤȿǤϡʲδ˽äƻѷĺ + ޤ: (1) ܿ붭Ϣ٤򸺤餵ʤϺ˾ + (2) ѷΰĤդߤμϤκǤĹʬǤ硢(3) + դ򤷤-˷ꤹĹѥ᡼Ĺ + 硣gnuplot ǤϡĹѥ᡼ϡ桼ѿ `chi_length` + ޤȿϡ뻰ѷʤʤäߤޤ + `chi_length` 礭硢ѷϰĤ-ϸμ + ˤʤޤ`chi_length` 򾮤Ȥʬ¿λѷ + 졢ǽŪʷ㤯ʤޤ `chi_length` + ˾ޤޤ + +Ffigure_concave_hull_2 + `chi_length` Ŭڤϡϥǡʬ̩ۤ٤˶¸ޤ + 桼 `chi_length` ꤷʤСgnuplot ϤưŪ + ޤ줬ʤΥǡФŬڤǤݾڤϤޤ󡣤οޤ + ƤǡФƤϡgnuplot chi_length=22.6 ǥեȤ + 򤷡κĹդ 0.6 ܤĹǤǥեȤǻѤ + κĹդФΨϡޥ `set chi_shape fraction <value>` + ѹǤޤ + + ߤΥդǻȤä桼 gnuplot 򤷤 `chi_length` + ͤϡѿ GPVAL_CHI_LENGTH ¸ޤ + + ץ󥭡 `expand` ʬ (<increment>) ϡγդ + ꤷΥ󤶤ޤϡΤ٤Ƥγ¦ˤ + Ķ롢ޤϡ`smooth path` + ߹碌뤳ȤǽǤ + +5 ޥ (mask) ?commands plot datafile filters mask ?plot datafile filters mask ?plot filters mask @@ -8671,7 +8576,31 @@ Ffigure_convex_hull 򤹤ΤˤѤǤޤ ʲ: `masking` -5 zsort +5 Բ (shapen) +?plot filters sharpen +?filters sharpen +?sharpen + + ե륿 `sharpen` ϡؿˤΤŬѤޤ褹ؿ + ˤõޤϡΥդʬǤɸΤ + 줫 x ͤξäƤȤϸ¤ޤ󡣤ϡζˤ + ʬˡˤäơĤƤɸνɲäޤϡԡ + αԤüڤΤƤ򸺤餷ޤƤɸܲǤϤˤϼ + ޤ + + : + set samples 150 + set xrange [-8:8] + plot abs(sqrt(sin(x))) sharpen + +  "sharpen" ʤǤϡ̤ΥդϢ³ǡ˶˾ + ʤꡢζ˾ͤ 0 ã٤ΤǤͰŪڤΤƤ졢 + y ζ˾ͤϸܤˤ 0.02 0.20 δ֤ˤʤޤ +  "sharpen" Ĥ뤳ȤǡδؿܤǤ롢 + ŪDZԤ y=0 ã˾ͤĥդޤ +D sharpen 1 + +5 z (zsort) ?commands plot datafile filters zsort ?plot datafile filters zsort ?plot filters zsort @@ -8775,9 +8704,9 @@ Ffigure_convex_hull : smooth {unique | frequency | fnormal | cumulative | cnormal - | csplines | acsplines | mcsplines | path | bezier | sbezier + | csplines | acsplines | mcsplines bezier | sbezier + | path | kdensity {bandwidth} {period} - | convexhull {expand} | unwrap} ץ `unique`, `frequency`, `fnormal`, `cumulatie`, `cnormal` ϡ @@ -8806,7 +8735,8 @@ Ffigure_convex_hull ׵᤹ʿ경ץŬѤˤϥǡʤϡ 顼åɽޤ - `smooth` ץϡؿΤȤˤ̵뤵ޤ + `smooth` ץϡؿΤȤˤ̵뤵ޤ˺ɸ⡼ + Ǥϡ`smooth path` ΤͭǤ 3 plot (splot) Ǥʿ경ϡߤ 3 ν̤뼫 3 ץ饤˸ꤵƤޤŪˤϡƻ @@ -8877,11 +8807,6 @@ Ffigure_convex_hull ?datafile smooth bins ?smooth bins `smooth bins` `bins` ƱǤʲ: `bins` -5 convexhull -?data-file smooth convexhull -?datafile smooth convexhull -?smooth convexhull - ʲ: `convexhull` 5 csplines ?commands plot datafile smooth csplines ?plot datafile smooth csplines @@ -8936,12 +8861,12 @@ Ffigure_smooth_path ǥȤꤻˡ3 ץ饤ǰ³Ĥʤޤ ϡĶ䡢롼פޤ൰ƻγ餫ʥץ饤ޤ ʿ⡼ɤϡ2 , 3 ξ襳ޥɤǥݡȤƤ - ĤΤ褦ˡϥեζԤǶڤ줿Фơ - ζޤ`smooth path with filledcurves closed` ˤ - ϡ礫ĶȤݾڤ`smooth path with lines` - ϡȽƱǤĶ򡢤Ǥʤг - Ȥݾڤޤʲ⻲ȤƤ -^ <a href="http://www.gnuplot.info/demo_5.5/smooth_path.html"> + ϥեζԤǶڤ줿Ф̡ζޤ + `smooth path with filledcurves closed` ˤϡ礫Ķ + Ȥݾڤ`smooth path with lines` ˤϡȽ + ƱǤĶ򡢤ǤʤгȤݾڤ + ʲ⻲ȤƤ +^ <a href="http://www.gnuplot.info/demo_6.0/smooth_path.html"> smooth_path.dem ^ </a> 5 sbezier @@ -9131,8 +9056,8 @@ Ffigure_smooth_path `set trange` ꤷϰΤϤޤtrange ꤵƤʤ `set xrange` ϰΤϤޤ - : trange λѤϡǤ gnuplot λͤȤϰۤʤޤ - ˤ x ϰϤȤϰۤʤɸϰϤѤǤ뤳Ȥˤʤޤ + : trange λѤϡΤǤ gnuplot λͤȤϰۤʤޤ + ˤ x ϰϤȤϰۤʤɸϰϤѤǤ뤳Ȥˤʤޤ plot '+' using ($1):(sin($1)):(sin($1)**2) with filledcurves @@ -9162,10 +9087,9 @@ Ffigure_smooth_path Τߤޥɤ³ޤäơ`plot` ޥɤФե ȥ롢饤󥹥Ȥäץϡ`plot` Υޥ 饤˽񤫤ʤȤޤ󡣤ϡunix 륹ץȤˤ - << (ҥɥ)뤤 VMS DCL ˤ $DECK ƱͤǤ - Υǡϡ餬ե뤫ɤ߹ޤ줿Τ褦ˡ1 ԤˤĤ - 1 ĤĤΥǡϤޤƥǡνϡ1 ܤλϤ - ʸ "e" ֤Ȥǻؼޤ + << (ҥɥ) ƱͤǤΥǡϡ餬ե뤫 + ɤ߹ޤ줿Τ褦ˡ1 ԤˤĤ 1 ĤΥǡϤޤ + ƥǡνϡ1 ܤλϤʸ "e" ֤Ȥǻؼޤ `'-'` ϡǡȥޥɤ˻ĤȤͭѤǤΤˤ ޤ㤨С̡Υץꥱ󤫤 `gnuplot` ˤξѥ @@ -9356,8 +9280,7 @@ C using (a) `plot 'file'` ȡ(b) `plot 'file' using 1:2` (c) `plot 'file' using ($1):($2)` ˤ̯ʰ㤤뤳ȤդƤ - ٤ưϡС 5 ѹƤޤʲ: - `missing` + ʲ: `missing` ǽñ @@ -9460,15 +9383,6 @@ C using ?using zticlabels ?plot using zticlabels ʲ: `plot using xticlabels` -5 cbticlabels -?using cbticlabels - ʳεǽ (٤ʬϾΥ꡼ѹβǽ) - 2 : "lc palette z" ˤѿۿǤϡ (colorbar) - ٥򡢥դǻѤѥåȺɸ֤ޤ - 3 : ܤΥ٥ z ɸ֤ޤ - z ˤϰפʤѿۿǤ 3 Ͽޤξ硢٥ - Ϥʤʤǽ뤳ȤդƤ - ʲ⻲: `plot using xticlabels` 4 volatile ?datafile volatile ?data volatile @@ -9738,10 +9652,16 @@ C using Ǥ : - plot for [i=2:*] 'datafile' using 1:i with histogram + plot for [file in "A.dat B.dat"] for [column=2:*] file using 1:column splot for [i=0:*] 'datafile' index i using 1:2:3 with lines plot for [i=1:*] file=sprintf("File_%03d.dat",i) file using 2 title file + ٹ: + κǽΤ褦ˡ֤ϤäʤηǤҤˤǤޤ + äΤʤ֤¾ΤäΤʤ֤Ҥˤ + ¿ʬͭפǤϤޤ󡣤ϡǡĤʤäξԤƱ + ˽λƤޤǤgnuplot Ϥ줬ȷٹȯޤ + 3 title ?commands plot title ?commands splot title @@ -10100,10 +10020,10 @@ C using Ūʷ֤ (iteration) ٻΥޥɤ侩Ȥޤ ʲ: `iterate` `reread` ޥɤϡ`load` ޥɤǻꤷ `gnuplot` Υޥɥ - 򡢤μΥޥɤɤޤˡ˺ꤷޤϡ - ޥɥեκǽ餫 `reread` ޥɤޤǤΥޥɤ̵¥롼 - ܼŪ˼Ƥ뤳Ȥˤʤޤ÷ (ɸϤ) κ - ϡ`reread` ޥɤϲθϤޤ + 뤫μ¹ԤľˤΥեƬƤӳϤ뤳ȤԤ + ޤϡޥɥեκǽ餫 `reread` ޥɤޤǤΥޥ + ɤ̵¥롼פܼŪ˼Ƥ뤳ȤˤʤޤɸϤ÷ + Ϥκݤϡ`reread` ޥɤϲθϤޤ 2 reset ?commands reset ?reset @@ -10709,7 +10629,7 @@ C using Ū 2 ˤˤ set boxwidth 2 absolute -3 boxdepth +3 3 ȢαԤ (boxdepth) ?commands set boxdepth ?commands show boxdepth ?set boxdepth @@ -10720,6 +10640,23 @@ C using Τ߱ƶޤϡy γȢαԤ (Ȣ) ꤷޤ `set boxdepth square` ϡy αԤx y μν̼ܤȤ̵ طˡܤ̤ˤʤ褦򤷤褦Ȥޤ +3 - (chi_shapes) +?command set chi_shapes +?set chi_shapes +?command unset chi_shapes +?unset chi_shapes +?chi_shapes + set chi_shapes fraction <value> + unset chi_shapes + + (concave hull) ե륿ϡĹ chi_length - + (chi-shapes) ޤchi_length ѿꤵƤʤС + ϶¿ѷ () ˤĹդΨͤ򤷤ޤ + ΨΥǥեȤ 0.6 ǤϤΥޥɤѹǤޤ + ͤ 1.0 ˤȷ̤˽̤ޤޤ꾮ȡ + ʬˤʤޤʲ: `concavehull` + ޥ `unset chi_shapes` Ψ 0.6 chi_length ѿ̤ + ˤޤ 3 顼⡼ (color) ?commands set color ?set color @@ -11035,6 +10972,8 @@ C using ^ <a href="http://www.gnuplot.info/demo/discrete.html"> 桼٥Υǥ (discrete.dem). ^ </a> +D contours 5 +D discrete 3 3 顼ܥå (colorbox) ?commands set colorbox ?commands show colorbox @@ -11055,8 +10994,7 @@ C using { origin x, y } { size x, y } { front | back } - { noborder | bdefault | border <linestyle> } - {cbtics <linestyle>} + { noborder | bdefault | border [line style] } } show colorbox unset colorbox @@ -11090,9 +11028,6 @@ C using 褷ޤ`bdefault` (ǥե) ϡ顼ܥåζ˥ եȤζ line style Ȥޤ - `cbtics` ϡ顼ܥå (cbtics) ФơΥ饤 - ȤϰۤʤꤹΤ˻Ȥޤ - 顼ܥåμ `cb` ȸƤФ졢̾μΥޥɤ椵ޤ ʤ `set/unset/show` `cbrange`, `[m]cbtics`, `format cb`, `grid [m]cb`, `cblabel` ʤɤ¿ʬ `cbdata`, `[no]cbdtics`, @@ -11127,10 +11062,11 @@ Ffigure_colornames ?contour ?contours ?nocontour - ޥ `set contour` ϶̤ȤؼޤΥ - `splot` ǤΤͭǤϡʻҾǡ (grid data) ɬ - פȤޤܺ٤ϡʲ: `grid_data`ʻҾǡ - ϡʻҤ뤿 `set dgrid3d` Ѥޤ + ޥ `set contour` Ƕ̤褬ǽˤʤޤΥץ + `splot` ΤߤͭǤϳʻҾǡ (grid data) ɬפ + ޤܺ٤ϰʲ: `grid_data`ʻҾǡɬפʾ + ϡŬڤʳʻҾǡ뤿 `set dgrid3d` Ѥ뤳 + Ǥޤ : set contour {base | surface | both} @@ -11146,11 +11082,11 @@ Ffigure_colornames `set cntrparam`Υ٥˴ؤƤϡʲ: `set cntrlabel` - ΤߤΥդ뤿ˡ̼Ȥ򤷤ʤ褦ˤ뤳Ȥ - Ǥޤ (ʲ: `unset surface`)`set size` Ȥäơդ - ̰դ褹뤳ȤǽǤäϷ⡢Υ - ǡ֥å˽񤭽ФƤ 2 ǡȤɤ߹ - 褹Ф褤椬ǽˤʤޤ: + ̤ϡΤߤΥդͿ뤿˥åդˤ뤳Ȥǽ + (ʲ: `unset surface`)Υդ򥹥꡼Τ˳礹뤿 + `set size` Ѥ뤳ȤϲǽǤǡ֥å + ˽񤭽Ф 2 ǡեȤƺɤ߹ߤ뤳Ȥ + ʤϽ񼰤˴ؤ뤳ȤǤޤ: unset surface set contour @@ -11158,15 +11094,15 @@ Ffigure_colornames set table $datablock splot ... unset table - # ξϺ $datablock ˤ + # ξϸߤ $datablock set term <whatever> plot $datablock - ˤϡǡϳʻҾǡ ("grid data") Ǥɬפ - ޤΤ褦ʥեǤϡĤ y-ΩƤ - ¤٤Ƥޤ٤ y-Ω¤٤졢١ - ³Ƥޤy-ΩƱΤʬΥˤϰԤζ ( - ԰ʳʸޤޤʤ) 򶴤ߤޤ + ˡǡϡֳʻҾǡ (grid data)פȤȿ + ٤ǤΤ褦ʥեǤϰĤ y-ΩФ뤹٤Ƥ + ¤ӡƼ y-ΩФ뤹٤Ƥ¤ӡʲƱͤǤñ + ζ (ΥڡԤʸʳϲʸޤޤʤ) + Ĥ y-Ω򼡤ΤΤʬΥޤ `set contour` ͭʾ硢`splot with <style>` points, lines, impulses, labels Ǥ˱ä֤Ǥޤ`with pm3d` @@ -11175,16 +11111,16 @@ Ffigure_colornames ʤɤΤ¾Ǥ⺮ϡsplot ޥΤ̿ ˥ `nocontours` ɲäʤȤޤ - ʲ: `splot datafile` + ʲ⻲: `splot datafile` - ʲ⻲ȤƤ -^ <a href="http://www.gnuplot.info/demo/contours.html"> + ^ <a href="http://www.gnuplot.info/demo/contours.html"> Υǥ (contours.dem) -^ </a> - -^ <a href="http://www.gnuplot.info/demo/discrete.html"> - 桼٥Υǥ (discrete.dem). -^ </a> + ^ </a> + + ^ <a href="http://www.gnuplot.info/demo/discrete.html"> + 桼٥Υǥ (discrete.dem) + ^ </a> + ⻲ȡ 3 ճѤλ (cornerpoles) ?command set cornerpoles ?set cornerpoles @@ -11207,13 +11143,17 @@ Ffigure_colornames set linetype 5 dt 5 # Υѥ linetype 5 Ǿ˻Ȥ set dashtype 66 "..-" # ʸǿ dashtype ʲ: `dashtype` +D dashtypes 2 3 datafile ?set datafile ?show datafile ޥ `set datafile` ϡ`plot`, `splot`, `fit` ޥɤϥǡ ɤˡ (field) βλ椹륪ץ ޤ - ߤϡΤ褦ʥץ󤬤ĤƤޤ + ߤϡΤ褦ʥץ󤬤ĤƤޤϡ + θΥޥɤɤ߽Ф뤹٤ƤΥǡե˰ͤŬѤޤ + Ȥ̷⤹񼰤ǥեƱʤФʤ硢 + 򤹤ˡ˴ؤƤϡʲ: `functionblocks` 4 set datafile columnheaders ?set datafile columnheaders =columnheaders @@ -11267,65 +11207,15 @@ Ffigure_colornames դˡ`set datafile missing NaN` ȤȡǡοͤǤϤ (NaN) Ϥ٤Ʒ»ǡȤưޤ - - ʲǡgnuplot С 4 ȥС 5 Ǥΰ㤤򼨤ޤ -Ffigure_missing -^<table class="center"><tr><td> - : - set style data linespoints - plot '-' title "(a)" - 1 10 - 2 20 - 3 ? - 4 40 - 5 50 - e - set datafile missing "?" - plot '-' title "(b)" - 1 10 - 2 20 - 3 ? - 4 40 - 5 50 - e - plot '-' using 1:2 title "(c)" - 1 10 - 2 20 - 3 NaN - 4 40 - 5 50 - e - plot '-' using 1:($2) title "(d)" - 1 10 - 2 20 - 3 NaN - 4 40 - 5 50 - e -^ </td><td><img src="figure_missing.png"></td></tr></table> - - (a) Υդϡ3 ܤˤͭͤҤȤĤʤᡢgnuplot 4 - gnuplot 5 ǰ㤤ޤС 4 Ǥϡ 1 Ԥ 1 Ĥ - ǡʤäε§ŬѤֹ "x" ˡǡ "y" ȸ - ʤäƤ (2,3) 褷Ƥޤ - - ʸ '?' »ạ̇̄ΤȤƻꤵƤ (b) ǤϡŤ - Ǥ gnuplot Ǥ⿷ǤǤƱǡޤ - - (c), (d) Υդ˸褦ˡŤ gnuplot Ǥ NaN using λ - λˤäưۤʤä򤷤Ƥޤߤϡgnuplot - N ȻꤵƤƤ ($N) ȻꤵƤƤ NaN ФƤƱ - ԤޤʲΥǥ⻲ȤƤ -^ <a href="http://www.gnuplot.info/demo/mgr.html"> - imageNaN ǥ⡣ +^ <a href="http://www.gnuplot.info/demo/imageNaN.html"> + imageNaN ǥ ^ </a> + 򻲾ȤƤ - gnuplot С 5.4 ꡢplot ޥɤ using ꤬ľͤ - `using N`, `using ($N)`, `using (function($N))` Τ褦˻Ȥ - N ˷»ͥե饰ΤޤľܻȤˤ뤽Τ褦ʾϡ - 㤨 func($N) ϰɾޤ󡣤ϡư顼¾ - Ѥˤ gnuplot 顼ߤƤޤͤʤȤ̤ɤ - ΤΤǤ + gnuplot plot ޥɤ using ꤬ľͤ `using N`, + `using ($N)`, `using (function($N))` Τ褦˻Ȥ N ˷» + ͥե饰Τޤξϡ㤨 func($N) ϰɾ + ޤ ߤΥС gnuplot ϡ(column(N)) ηľܻȤΤ "missing" (») Υե饰Ĥͤ˴Ū˰¸ @@ -11491,12 +11381,12 @@ Ffigure_missing ǥեȤǤ `dgrid3d` ̵ˤʤäƤޤͭʾϡե ɤ߹ޤ 3 ΥǡϡʻҶ̤ƤϤΤ˻Ѥ ֻߤץǡ (ʻҾǡ) ǤȸʤޤʻҤˡϡ - `set dgrid3d` ʸˤѥ᡼ row_size/col_size ǻꤹԿ - Ǻʬ䤹뻶ߥǡϤ (bounding box) ޤʻҤ - x () y () ֳ֤Ǥz ͤϻߤǡ z - ͤνŤդʿѡޤϥץ饤֤ȤƷ׻ޤѤС - §Ūʴֳ֤γʻҤƤγʻǸǡγ꤫ʶͤɾ - ޤƸǡˤζ̤褷ޤ + `set dgrid3d` ʸͿѥ᡼ row_size/col_size ιԿǺ + ʬ䤹뻶ߥǡϤ (bounding box) ޤʻҤ x + () y () ֳ֤Ǥz ͤϻߤǡ z ͤ + Ťդʿѡޤϥץ饤֤ȤƷ׻ޤѤС + §Ūʴֳ֤γʻҤƤγʻǸǡγ꤫ʶͤɾ + ޤƸǡˤζ̤褷ޤ dgrid3d ⡼ɤͭʴ֤ϡѤ˳ʻҶ̤ġ ʬϡб splot ޥɤ˥ `nogrid` @@ -11550,21 +11440,25 @@ Ffigure_missing `smooth kdensity` ץ󤬹ԤȤȤޤˤƱǤ ˴ؤƤϡkdensity2d.dem, heatmap_points.dem 򻲾ȤƤ +Ffigure_dgrid3d ץ `dgrid3d` ϡߤǡŤդʿѤǵ§ŪʳʻҤ ֤ѤñʻȤߤ˲᤮ޤ󡣤Ф줿ˡ ¸ߤޤΤǡñˡԽʬǤС`gnuplot` γǤ 褦ˡǥǡ٤Ǥ礦 ͥåȾΰʲΥǥ⻲ -^ <a href="http://www.gnuplot.info/demo/dgrid3d.html"> + ^ <a href="http://www.gnuplot.info/demo/dgrid3d.html"> dgrid3d -^ </a> -^ <a href="http://www.gnuplot.info/demo/scatter.html"> + ^ </a> + ^ <a href="http://www.gnuplot.info/demo/scatter.html"> scatter -^ </a> + ^ </a> ^ <a href="http://www.gnuplot.info/demo/heatmap_points.html"> heatmap_points ^ </a> +D heatmap_points 1 +D heatmap_points 2 +D heatmap_points 3 3 ѿ (dummy) ?commands set dummy @@ -12414,6 +12308,7 @@ Ffigure_missing ̤ɽ򤷤ˤΤˤޤǥեȤ `bentover` ץϡΤ褦ʾ礽ɽ褦ˤޤ⤷ ʤʤ顢`nobentover` 򤷤Ƥ +D hidden 6 ʲ⻲ ^ <a href="http://www.gnuplot.info/demo/hidden.html"> Υǥ (hidden.dem) @@ -12422,14 +12317,6 @@ Ffigure_missing ^ <a href="http://www.gnuplot.info/demo/singulr.html"> ʣʱΥǥ (singulr.dem). ^ </a> -3 historysize -?commands set historysize -?set historysize -?unset historysize -?historysize - (侩) - `set historysize N` ϡ`set history size N` ƱǤ - `unset historysize` ϡ`set history size -1` ƱǤ 3 ޥ (history) ?commands set history ?set history @@ -12511,7 +12398,7 @@ Ffigure_missing ˻Ȥޤ: `set size ratio -1; set view equal xyz` ϡ2 3 դξ˱ƶޤ - `unset isotoropic` ϡ2 3 դξǤ« + `unset isotropic` ϡ2 3 դξǤ« ϰʲθŤޥɤƱͤǤФˤϤñǤ 礦: `set size noratio; set view noequal_axes` 3 jitter @@ -12610,9 +12497,10 @@ Ffigure_missing ޥɤȤȤǡ;ʬ˹Ԥɲä뤳ȤǤޤʲ : `keyentry` - βȤ򡢥桼°ȤǤޤ (`\box {...}`) + βȤ򡢥桼°ȤǤޤ (`box {...}`) `height` `width` ʬϡʸñ̤ǻꤷϤʬ - ȢΥ礭꾮ꤷޤ + ȢΥ礭꾮ꤷޤϡΥ + Ϥත礭ΤͭѤǤ ǥեȤǤϡϰĤΥդƱ˺ޤʤ ȥȥϡб륰դƱޤϡ @@ -12666,7 +12554,7 @@ Ffigure_missing set key below horizontal ʲϡ򥰥ΰκ֤ʸϺ·Ȥ - ȥͿȤǰϤߤޤ + ȥͿȤǰϤߤޤ set key left bottom Left title 'Legend' box lw 3 4 Ԥɲ (extra key entries) @@ -12776,7 +12664,7 @@ Ffigure_keyentry ?commands set key placement ?set key placement ?key placement - ѥץ + ѥץ: set key {inside | outside | fixed} {lmargin | rmargin | tmargin | bmargin} {at <position>}} @@ -12989,7 +12877,7 @@ Ffigure_multiple_keys `tc lt <n>` ϡʸ <n> (line type)ƱΤˤޤ `tc ls <n>` ϡʸ line style <n> ƱΤˤޤ `tc palette z` ϡФ z ΰ֤бѥåȿˤʤޤ - `tc palette cb <val>` ϡ (colorbar) <val> οˤʤޤ + `tc palette cb <val>` ϡ (colorbox) <val> οˤʤޤ `tc palette fraction <val>` (0<=val<=1) ϡ[0:1] `palette` Ĵ/顼ؤμбˤʤޤ `tc rgb "#RRGGBB"`, `tc rgb "0xRRGGBB"` ϡǤդ 24-bit RGB @@ -13097,7 +12985,7 @@ Ffigure_multiple_keys åȤΥϥѡƥȤåץܡɤ˥ԡޤ ^ <br><table class="button"><tr><td> -^ <a href="http://www.gnuplot.info/demo_svg_5.5/hypertext.html" +^ <a href="http://www.gnuplot.info/demo_svg_6.0/hypertext.html" ^ class="button"> ^ hypertext demo 򸫤ˤϥåƤ</a> ^ </td></tr></table> @@ -13532,11 +13420,10 @@ Ffigure_multiple_keys Υץϥɥ饤Хɥ `6` ǤĤȤ ON/OFF åǤޤǥեȤǤ `verbose` OFF ˤʤäƤޤ - ɥ饤Хɥ 'h' ǤĤȡޥȥûɽ - ޤϡ桼Υʤ `bind` ޥɤˤ - `hotkeys` (ʲ: `bind`) ɽޤ桼 `hotkeys` - ǥեȤΥ̵ˤޤ - ʲ⻲: `bind`, `label` + ɥ饤Хɥ 'h' ǤĤȡޥȥƤɽ + ޤϡ桼Υơʤ `bind` ޥɤˤ + `hotkeys` ɽޤ桼ΥƤϥǥեȤΥ + Ƥ̵ˤ뤳ȤդƤʲ⻲: `bind` 4 doubleclick ?set mouse doubleclick ?mouse doubleclick @@ -13570,7 +13457,7 @@ Ffigure_multiple_keys ǥ򻲾ȤƤ : - `set mouse mouseformat "mouse x,y = %5.2g, %10.3f"`. + set mouse mouseformat "mouse x,y = %5.2g, %10.3f" ʸޤդˤˤϡ`set mouse mouseformat ""` Ȥޤ ʲν񼰤ѲǽǤ: @@ -13590,32 +13477,30 @@ Ffigure_multiple_keys ?mouse wheel ?scrolling ?mousewheel - 2 դ 3 դξǡX Y ο̤ϥޥۥ - ȤȤĴǤޤ<wheel-up> ϥ륢åפ (YMIN YMAX - ξ Y ϰϤ 10 ѡȤäY2MIN Y2MAX ˤƱ - ΤȤԤޤ)<wheel-down> ϥ󤷤ޤ - <shift-wheel-up> Ϻ뤷 (XMIN XMAX ξ X2MIN - X2MAX ξ򸺾)<shift-wheel-down> ϱ뤷ޤ - <control-wheel-up> ϥդ濴˥।󤷡 - <control-wheel-down> ϥॢȤޤ<shift-control-wheel-up> - X X2 Τߤ˱äƥ।󤷡<shift-control-wheel-down> X - X2 ˱äƤΤߥॢȤޤ -4 X11 ǤΥޥ (X11 mouse) -?mouse x11_mouse -?x11_mouse -?x11 mouse - x11 νϷΥץ `set term x11 <n>` Ȥäʣ X11 - ɥƤ硢ޥޥɤȥۥåȥεǽ - ȤΤϸߤ襦ɥΤߤǤ¾Υɥ⺸ - ޥκɸɽ̤ϤƤǤ礦 + ޥۥϡ2 3 ξΥդǡx y ϰϤĴ + ᤷޤĴϡǥեȤǤϸߤϰϤ 10% äǤ + ϡ`set mouse zoomfactor <x-multiplier>,<y-multiplier>` ѹǤ + ޤ +#start +#b <wheel-up> y y2 ϰϤ򸽺ߤϰϤ鷺˾她 +#b <wheel-down> y y2 ϰϤ򸽺ߤϰϤ鷺˲ +#b <shift+wheel-up> Ϻ (x x2 ϰϤ򸺾) +#b <shift+wheel-down> ϱ (x x2 ϰϤ) +#b <control+wheel-up> ϸߤΥޥ濴˥। +#b <control+wheel-down> ϸߤΥޥ濴˥ॢ +#b <shift+control+wheel-up> x, x2 Τߤ򥺡। +#b <shift+control+wheel-down> x, x2 Τߤ򥺡ॢ +#end 4 zoom ?mouse zoom ?zoom - (zoom) ϡ̾Ϻޥܥ򲡤ȤǹԤ졢ϰϤ - ϥޥΥɥåǹԤޤȤϰۤʤޥܥ׵᤹ - ¹ԴĶ⤢뤫⤷ޤ󡣸Υդϡեɥǥۥå - 'u' 򥿥פ뤳ȤǤޤۥåȥ 'p' 'n' ϡ - ˤɤޤ + ߤΥޥ濴Υ।/ॢȤΨϡޥۥ + 椷ޤ (ʲ: `scrolling`) + + 2 դ򤷤ΰ򹭤ˤϡޥΥɥådzϰϤ + Ԥƺޥܥ򲡤ȤǹԤޤեɥ + ǥۥåȥ 'u' 򥿥פ뤳ȤǸΥդǤޤۥå + 'p' 'n' ϡˤɤޤ ץ `zoomcoordinates` ϡκݤˡȤüˤκɸ 񤯤ɤꤷǥեȤǤ ON ˤʤäƤޤ @@ -13863,17 +13748,17 @@ Ffigure_multiple_keys : set mxtics time <N> {seconds|minutes|hours|days|weeks|months|years} - ϡgnuplot С 5.5 Ƴ줿ޥɥץ - ϡιߤ֤Фʬ֤ǤϤʤ - ñ̤ΤֹξΤ֤ޤ + ϡgnuplot С 6 Ƴ줿ޥɥץǤ + ϡιߤ֤Фʬ֤ǤϤʤñ + ̤ΤֹξΤ֤ޤ ꤬⡼ (`set xdata time` `set xtics time`) ξϡ ʤΤǥեȤǤ - `set mxtics` `set mxtics <freq>` ǡ5.5 ΥСεư - ᤻ޤˤϾƤޤ㤨С72 ǯֳ֤Ф - Ƽưʬ䵡ǽ 12 ǯֳ֤ˡ 5 ǯֳ֤ˤƤ - äƤޤ + `set mxtics` `set mxtics <freq>` ǡ6 ΥСεư + ޤˤϾƤޤ㤨С72 ǯֳ֤Ф + ưʬ䵡ǽ 12 ǯֳ֤ˡ 5 ǯֳ֤ˤƤޤ + Ƥޤ `set mxtics time 2 years` ȤСΤ 1 ǯ֤ǯϤΤ ˾ߤ֤ޤ`set mxtics time 1 month` ϡƷ @@ -13990,11 +13875,11 @@ Ffigure_multiple_keys ϡߤ `rectangle` (Ĺ)`circle` ()`ellipse` (ʱ) ݡȤƤޤĹϡޥ `set style rectangle` ˤä ꤵ줿° (ɤ٤) ǥեȤȤƼ - ѤޤġΥȤ̡Υ°褹뤳Ȥ - ǽǤߤʱߤϡ`set style fill` ˤɤ٤ - Ѥޤ2 դΥ֥Ȥϡɸպɸ (`graph`), - ˺ɸ꡼ɸ (`screen`) ΤȤ߹碌ǤǤޤ + ѤޤġΥȤϡޤϸ夫Υޥɤ̡ + °Ϳ뤳ȤǽǤ + 2 դΥ֥Ȥϡɸպɸ (`graph`)˺ɸ + ꡼ɸ (`screen`) ΤȤ߹碌ǤǤޤ 3 դΥ֥ȻǤϡպɸϻȤޤ3 Ĺ ʱߤϡ꡼ɸ¤Ƥޤ @@ -14225,19 +14110,22 @@ Ffigure_multiple_keys ?show output ?output ?output file - ǥեȤǤϡդɸϤɽޤޥ `set output` - νϤꤵ줿եǥХ˥쥯Ȥޤ - : set output {"<filename>"} + unset output show output - ե̾ϰǰϤޤʤФʤޤ󡣥ե̾ά줿 - ϡľ `set output` dz줿ե뤬졢ʽϤ - ɸ (STDOUT) ޤ(⤷`set output "STDOUT"` Ȥ - Ϥ "STDOUT" Ȥ̾Υե뤫⤷ޤ ! [" - ʤ" ȤΤϡ㤨 `x11` `wxt` ʤɤ terminal (Ϸ) - Ǥ `set output` ̵뤵뤫Ǥ]) + ÷ϷǤϡǥեȤǤդ `stdout` + ޥ `set output` ϡνϤꤷեǥХ˥ + 쥯ȤޤΥޥɤdzեϡ set/unset + output ޥɡޤϼνϷѹޤ gnuplot λ + dzޤޤˤʤäƤޤ + + ÷ϷǤϡ`set output` ̵뤷ޤ + + ե̾ϰǰϤޤʤФʤޤ󡣥ե̾ά硢 + Υޥɤ `unset output` Ʊˤʤꡢľ `set output` + dzǤդνϥեĤϤ `stdout` ޤ `set terminal` `set output` ξꤹ硢`set terminal` ˻ꤹǤϡ terminal ǤϡOS ɬפ @@ -14251,7 +14139,6 @@ Ffigure_multiple_keys set term png; set output "|display png:-" MS-DOS Ǥϡ`set output "PRN"` ȤɸΥץ󥿤˽Ϥޤ - VMS ǤϽϤǤդΥסǽʥǥХ뤳Ȥޤ 3 overflow ?overflow ?commands set overflow @@ -14453,8 +14340,8 @@ Ffigure_palette2 : set palette defined { ( <gray1> <color1> {, <grayN> <colorN>}... ) } - <grayX> [0,1] ˳Ƥ٤ͤǡ<colorX> Ϥб - RGB Ǥ顼ͤ 3 ˡǻꤹ뤳ȤǤޤ: + N 2 ǡ<grayN> [0,1] ˳Ƥ볥ͤǤб + RGB <colorN> ϡ3 ˡǻǤޤ: <color> := { <r> <g> <b> | '<color-name>' | '#rrggbb' } @@ -14562,6 +14449,7 @@ Ffigure_palette2 Ƥޤ "Viridis - Colorblind-Friendly Color Maps for R", Garnier et al (2021) https://CRAN.R-project.org/package=viridis +D viridis 1 4 colormap ?commands set palette colormap ?palette colormap @@ -14838,11 +14726,23 @@ Ffigure_palette2 4 顼ޥåפ pixmap (pixmap from colormap) ?pixmap colormap ?set pixmap colormap - pixmap Τ⤦ĤŪϡͭʥѥåȤФƼưŪ˺ - 륫顼ܥåȤ̤ˡ̾դ顼ޥåפФ륫顼ܥå - 뤳ȤǤ +?gradient + : + set pixmap <index> colormap <name> + +Ffigure_gradient + + pixmaps ¾ˡϡ̾դѥåȤǵҤǡ¸ + 뤳ȤǤϡĹΰФ륰ǡɤꤹ + ñˡǤϡ̾դѥåȤФ̤Υ顼ܥ + 䡢˥Τطʡ뤤ϥХΤɤΤ˻Ȥ + ȤǤޤ + set palette defined (0 "beige", 1 "light-cyan") + set colormap new Gradient + set pixmap 1 colormap Gradient behind + set pixmap 1 at screen 0,0 size screen 1,1 + plot <something> - set pixmap <index> colormap <name> at <position> size <width>, <height> 3 pm3d ?commands set pm3d ?commands show pm3d @@ -14863,7 +14763,7 @@ Ffigure_palette2 | depthorder {base} } { flush { begin | center | end } } { ftriangles | noftriangles } - { clip {z} | clip1in | clip4in } + { clip | clip1in | clip4in } { {no}clipcb } { corners2color { mean|geomean|harmean|rms|median|min|max|c1|c2|c3|c4 } @@ -15003,26 +14903,24 @@ Ffigure_palette2 : set pm3d lighting primary 0.8 spec 0.4 spec2 0.4 set pm3d spot rgb "blue" +D spotlight 1 4 pm3d ΰ (position) ?pm3d position ?set pm3d position - ζ̤̤ŷ (ξϳ/顼ʿϿ) ̾ - z ɸ (/顼) ȤǤޤϡץ - `at` ˡ`b`, `t`, `s` 6 ĤޤǤȹ礻ʸĤƻꤹ뤳 - ǹԤޤ㤨 `at b` ̤Τߤ褷ޤ`at st` Ϻǽ˶ - ̤Ƽŷ̤˿Ͽޤޤ`at bstbst` ... ܤ - áʤΤϻȤޤ - - ɤ줿ͳѷϡ鼡ؤ褵ƹԤޤ̤褹 - (`at s`)λͳѷΤΤ˽Ťʤ (񤭤) ޤ (gnuplot ɤ - 줿¿ѷ֤νŤʤߺѤ׻褦ʲ۸¥ġǤϤ - ޤ) ǽǡǽǸؤ륹 - åץ `scansforward` `scansbackward` ƤߤƤ - ǥեȤ `scansautomatic` ǡ gnuplot Ȥν - ¬ޤǡץ `depthorder` ϻͳѷν˺ - ޤɤĤ֤Ͽ¤Ѥ줿ǹԤ졢ˤ꤫ - ʤʣʶ̤ǤŪʤΤˤ뤳ȤǤޤܺ٤ϡʲ: - `pm3d depthorder` + pm3d οդ̤ϡζ̤ z ΰ֡ޤ̤ŷʿ + ˼ͱƤȤǤޤϡץ `at` ˡ`b`, `t`, `s` + 6 ĤޤǤȹ礻ʸĤƻꤹ뤳ȤǤޤ㤨 + `at b` ̤Τߤ褷ޤ`at st` Ϻǽ˶̤Ƥ줫 + ŷ̤ޤ`at bstbst` ... ˤΩʤǤ礦 + + ɤ줿ͳѷϡ鼡ؤ褵ƹԤޤϡͳ + ͳѷʤäꡢŤʤäꤷޤǽ + ǡǽǸڤؤ륹åץ + `scansforward` `scansbackward` ƤߤƤǥեȤ + `scansautomatic` ǡ gnuplot Ȥν¬ޤ + `depthorder` ϻͳѷνεΥǥȤ뤳ȤǴ + ˺ƹޤˤ꤫ʤʣʶ̤ǤŪʤΤˤ뤳 + Ǥޤܺ٤ϡʲ: `pm3d depthorder` 4 ν (scanorder) ?pm3d scanorder ?pm3d depthorder @@ -15321,23 +15219,23 @@ Ffigure_palette2 {theta [min:max]} {r [min:max]} ˺ɸʻҤϡ襹 `with surface` Ȥ߹碌ƶ˺ɸ - 礫鲹ʬۿ (heat map) Τ˻Ȥ롣̤ϡߤ - ԤʻҤʤꡢˤߤϦȤ r ΥŪϰϤǷ - ʬʬ䤵롣 + 礫鲹ʬۿ (heat map) Τ˻Ȥޤ̤ϡߤ + ԤʻҤʤꡢˤȤ r ΥŪϰϤǷʬDZߤ + ʬ䤷ޤ ʬˤϡġλ [x,y,z] Ͻ礫ե륿ŬѤˤ - ƳͤƤ롣ǥեȤΥե륿 `qnorm 1` ǡ - ϳΡʻʬ濴餽ޤǤεΥεտǽŤߤŤ줿 - z ͤʿѤ뤳Ȥ̣롣 + ƳͤƤޤǥեȤΥե륿 `qnorm 1` ǡ + ϳΡʻʬ濴餽ޤǤεΥεտǽŤߤŤ줿 z + ͤʿѤ뤳Ȥ̣ޤ ¾Υե륿 gauss, cauchy, exp, box, hann ˴ؤƤϡۤξ - ǾܤƤ롣ʲ: `dgrid3d` + ǾܤƤޤʲ: `dgrid3d` `kdensity`: Υɤϡgnuplot ˡŤߤĤʿѤˡ - ٤ƤδͿνŤդ¤Ѥ뤳Ȥؼ롣 + ٤ƤδͿνŤդ¤Ѥ뤳Ȥؼޤ `scale`: Υ (ǥեȤ 1.0) ϡŤ߷׻ͤȤ - ˡ٤ƤεΥФƥ󥰤ŬѤ롣 + ˡ٤ƤεΥФƥ󥰤ŬѤޤ ޥ: ٤Ƥ򡢳ʻͤ׻Τ˻Ѥޤ ʻҤĥ줿̤ϡ˦Ȥϰ [0:360] Ӽư̼ܡޤ @@ -15503,34 +15401,34 @@ Ffigure_polar_grid <xscale> <yscale> ΤγΨǡΤȤϥդȥ ٥;ʬޤߤޤ - פ: - gnuplot ΰǤǤϡ`set size` ͤ򡢽Ϥΰ - (Х) Υ椹ΤˤȤäƤϷ⤢ - ٤ƤνϷä櫓ǤϤޤǤ - ߤϡۤȤɤνϷʲΥ롼˽ޤ: + `Ū`: gnuplot ΰǤǤϡ`set size` ͤ򡢽Ϥ + ΰ (Х) Υ椹ΤˤȤäƤϷ⤢ + ٤ƤνϷä櫓ǤϤޤǤߤϡ + `'set size'` `'set term ... size'` 2 ĤϡϤä㤦° + ꤷޤ - `set term <terminal_type> size <XX>, <YY>` ϡϥեΥ - ޤ "Х" Υ椷ޤѥ᡼ͭͤ - ĤƤϡġνϷΥإפ򻲾ȤƤǥեȤǤϡ - դϤΥХΤ褵ޤ + `set term <terminal_type> size <x ñ>, <y ñ>` ϡϥե + ޤ "Х" Υ椷ޤѥ᡼ͭ + ñ̤ˤĤƤϡġνϷΥإפ򻲾ȤƤǥե + ȤǤϡդϤΥХΤ褵ޤ - `set size <XX>, <YY>` ϡ輫Τ򥭥ХΥФŪ - ̤ޤ1 꾮ͤꤹȡդϥХΤ - ᤺1 礭ͤꤹȡդΰʬΤߤХ - Τ˹礦褦褵ޤ1 礭ͤꤹȡ - Ǥ꤬뤫⤷ʤȤդƤ + `set size <xscale>, <yscale>` ϡ輫Τ򥭥ХΥФ + Ū˿̤ޤ1.0 꾮ͤꤹȡդϥ + ХΤ᤺1.0 礭ͤꤹȡդΰʬΤ + ХΤ˹礦褦褵ޤ1 礭ͤꤹ + ȡϷǤ꤬뤫⤷ޤ `ratio` ϡꤷ <xscale>, <yscale> ϰǡդΥ (IJ) <r> ˤޤ (<r> x ĹФ y Ĺ) <r> ͤˤȤΰ̣ϰäޤ<r>=-1 ΤȤx y - ñ (Ĥޤ 1) ĹƱ졢ʤĹ (isotoropic) - ˤʤ褦ꤷޤʲ⻲: `set isotoropic` + ñ (Ĥޤ 1) ĹƱ졢ʤĹ (isotropic) + ˤʤ褦ꤷޤʲ⻲: `set isotropic` ϡ3 ѤΥޥ `set view equal xy` 2 ǤƱʪǤ <r>=-2 ΤȤy ñĹ x ñĹ 2 ꤵޤ<r> ͤ˴ؤưʲƱͤǤʲ⻲: - `set isotoropic` + `set isotropic` `gnuplot` ꤵ줿ڥΥդȽ񤱤뤫򤵤 Ϸ˰¸ޤդΰϽϤλꤵ줿ʬˤȼ @@ -15610,10 +15508,10 @@ Ffigure_polar_grid ?unset style arrow ?show style arrow ?arrowstyle - ƽϷηΥǥեȤνäƤơϥޥ - `test` ǻȤǤޤ`set style arrow` ηη - ǻȤȤˤƱ򷫤֤ƻꤷʤ - Ƥ⥤ǥåǻȤǤ褦ˤޤ + (arrow) Υν `set style arrow` Ȥä뤳 + Ǥޤƥϡ켫ȤʤɤΤ᤽ + ǻȤȤˤƱ򷫤֤ƻꤷʤƤ⡢ + ֹ <index> ǻȤǤޤ : set style arrow <index> default @@ -15884,7 +15782,7 @@ Ffigure_polar_grid ?set style increment ǥեȤǤϡƱվμϡǹԤޤ `set style increment userstyles` Ϥѹ˥桼 - 󥹥ֹ˱äƹԤ褦ˤޤ + 󥹥ֹ˱äƹԤ褦ˤƤޤ 侩: gnuplot ѤϰϤͭѤʤΤ˺ˤϡ `set linetype` ѤƤʲ: `set linetype` @@ -16252,10 +16150,9 @@ Ffigure_polar_grid ɽǡѴϥǡФ襹˰¸ (ʿ αĹ2 ϰϤΥå) 򤱤뤿ᡢ뤤ɽǡ ѴǤο䤹ˤϡ̾襹 "table" - ɤȤäƤξ硢ϰ/ϰϳ/̤̣ - `i`, `o`, `u` ֤ǸɲϡϤˤϤĤޤ󡣤ν - ϡǽ `set table <where>` ǻꤹɬפޤ - : + ɤȤäƤξ硢ϰ/ϰϳ/̤̣ + 饰 `i`, `o`, `u` ޤɲϡϤˤϤĤޤ󡣤νϡ + ǽ `set table <where>` ǻꤹɬפޤ: set table $DATABLOCK1 plot <file> using 1:2:3:4:($5+$6):(func($7)):8:9:10 with table @@ -16279,8 +16176,8 @@ Ffigure_polar_grid [ʳεǽ] ɽǡΤ˥ǡʬΤߤ򤹤ˤ ϥե륿 (`if <expression>`) 򥳥ޥɤκǸ˻ꤹ뤳Ȥ ޤϥե륿ϡϤϤʤǡ⻲ȤǤ뤳Ȥ - դƤεǽϡgnuplot Υ꡼Ǥѹ - ǽޤ + դƤεǽξܺ٤ϡgnuplot ξǤѹǽ + ޤ plot <file> using 1:2:($4+$5) with table if (strcol(3) eq "Red") plot <file> using 1:2:($4+$5) with table if (10. < $1 && $1 < 100.) @@ -16349,7 +16246,8 @@ Ffigure_polar_grid set termoption {no}enhanced set termoption font "<fontname>{,<fontsize>}" set termoption fontscale <scale> - set termoption {linewidth <lw>}{lw <lw>} + set termoption {linewidth <lw>}{lw <lw>} {dashlength <dl>}{dl <dl>} + set termoption {pointscale <scale>} {ps <scale>} 3 ˺ɸ (theta) ?commands set theta @@ -16611,7 +16509,8 @@ Ffigure_polar_grid %p "am" "AM" ֤硢12 0 Ȳᤷޤ %p "pm" "PM" ֤硢12 ̤λˤ 12 ɲäޤ - ¾ξˤĤƤϡʲ⻲: `set xdata`, `time/date` + ¾ξˤĤƤϡʲ⻲: `set xdata`, `time/date`, + `time_specifiers` : set timefmt "%d/%m/%Y\t%H:%M" @@ -16673,15 +16572,17 @@ Ffigure_polar_grid ?trange : set trange [tmin:tmax] ޲ѿ t ϰϤϡʲ 3 ĤξͭǤ - 1) ޲ѿ⡼ɤǤϡ줬ޥ `plot` ξؿɸ - Ϥ¤ޤʲ: `set parametric`, `set samples` - 2) ˺ɸ⡼ɤǤϡ줬ޥ `plot` гѿȤε - ǽϰϤ¡ޤޤϰϳΦȤĥǡϡ - 줬趭¦äƤȤƤ⡢դϽޤ - ʲ: `polar` - 3) `plot` ޤ `splot` ޥɤǤϡե "+" ˤ 1 - ǡɸܲ˻Ѥޤʲ: `sampling 1D`, - `special-filenames` +#start +#b ޲ѿ⡼ɤǤϡ줬ޥ `plot` ξؿɸϰ +## ¤ޤʲ: `set parametric`, `set samples` +#b ˺ɸ⡼ɤǤϡ줬ޥ `plot` гѿȤεƲ +## ǽϰϤ¡ޤޤϰϳΦȤĥǡϡ +## 줬趭¦äƤȤƤ⡢դϽޤ +## ʲ: `polar` +#b `plot` ޤ `splot` ޥɤǤϡե "+" ˤ 1 +## ɸܲ˻Ѥޤ +## ʲ: `sampling 1D`, `special-filenames` +#end 3 ttics ?commands set ttics ?commands show ttics @@ -16700,6 +16601,7 @@ Ffigure_polar_grid set ttics -180, 30, 180 set ttics add ("Theta = 0" 0) set ttics font ":Italic" rotate +D ttics 3 3 urange ?commands set urange ?commands show urange @@ -17021,8 +16923,8 @@ Ffigure_walls `ydata`, `zdata`, `x2data`, `y2data`, `cbdata` ˤƱ񼰤ƤϤ ޤ - `time` ץϥǡñ̤ǡǤ뤳Ȥޤ - ߤ gnuplot ϻߥä¸ޤ + `time` ץϥǡñ̤ǡǤ뤳Ȥޤ + gnuplot С 6 ϻߥä¸ޤ  `time` ʤ `set xdata` ϡǡβˡ̾η ᤷޤ @@ -17205,7 +17107,7 @@ Ffigure_walls ץ `reverse` ϡư̼ܤμդˤޤ㤨Сǡ ͤϰϤ 10 100 ǤȤϡset xrange [100:10] Ȥ ΤƱ褦˼ư̼ܤޤ`reverse` ϡư̼ܤǤϤʤФ - Ƥϵǽޤ: ѹϡС 4.7 Ƴޤ + Ƥϵǽޤ ư̼ܵǽ: <min> (ƱͤΤȤ <max> ˤŬѤޤ) ꥹ "*" ξϼư̼ܵǽˤʤޤξΤͤˡ @@ -17989,8 +17891,8 @@ C ?commands shell ?shell `shell` ޥɤŪʥưޤ`gnuplot` ˤϡ - VMS Ǥ `logout` Unix ʤ `exit` ⤷ END-OF-FILE ʸ - MS-DOS OS/2 ʤ `exit` ϤƲ + Unix ʤ `exit` ⤷ END-OF-FILE ʸMS-DOS OS/2 ʤ + `exit` ϤƲ ޥ `shell` ϡʳ gnuplot ޥɥ饤ΤΤ򤹤٤ ̵뤷ޤǤʤľ˥ޥʸϤϡ @@ -18046,7 +17948,6 @@ C show palette show palette palette {<ncolors>} {{float | int | hex}} show palette gradient - show palette fit2rgbformulae show palette rgbformulae test palette @@ -18061,15 +17962,6 @@ C ˴Ťޤͤν˴ŤϡΥޥɤϲ ⤷ޤ -4 show palette fit2rgbformulae -?commands show palette fit2rgbformulae -?show palette fit2rgbformulae - [侩] `show palette fit2rgbformulae` ϡ`set palette rgbformulae` - γƴؿǸߤΥѥåȤ˶ᤤΤõޤ⤷ߤ - ѥåȤºݤˤΤǤСΤˤʤޤ - ʳξϡζɤΤ鰭Τޤǿꤨޤ - ϡ¿ʬʤԤΤǤϤʤǤ礦 - 4 show palette palette ?commands show palette palette ?show palette palette @@ -18381,12 +18273,12 @@ Ffigure_sparsematrix matrix ǡιԤֹϡ0 Ϥޤꡢäֹ N ϡ (N+1) ܤǤ뤳ȤդƤ : - plot 'file' every {<column_incr>} - {:{<row_incr>} - {:{<start_column>} - {:{<start_row>} - {:{<end_column>} - {:<end_row>}}}}} + plot 'file' matrix every {<column_incr>} + {:{<row_incr>} + {:{<start_column>} + {:{<start_row>} + {:{<end_column>} + {:<end_row>}}}}} : plot 'file' matrix every :::N::N # N ֤ιԤΤ٤Ƥͤ plot 'file' matrix every ::3::7 # ٤ƤιԤ 3-7 @@ -18407,8 +18299,8 @@ Ffigure_sparsematrix ޤ `plot` Ǥλˡ: - plot `a.dat` matrix - plot `a.dat` matrix using 1:3 + plot 'a.dat' matrix + plot 'a.dat' matrix using 1:3 plot 'a.gpbin' {matrix} binary using 1:3 ιԤ褷using 2:3 Ȥ衢using 1:2 ϡκɸ褷ޤ (¿ʬ̵̣Ǥ)ץ `every` ŬѤ @@ -18488,8 +18380,10 @@ Ffigure_sparsematrix ƱǤС"Ω" ϥ֥åӡ"ǸΩ" ϳƥ åбƱΤӡ"" Ȥޤɤξ ⡢ӱ⡼ɤտޤեޥåȤǤä - ȤϰäͿ뤳ȤˤʤޤФĤΤǡ - `set dgrid3d` ˤä{ۤʤ}ʻҾǡѴ뤳ȤǤޤ + ȤϰäͿ뤳Ȥˤʤޤ + + ФĤΤǡϡ˳ʻҤ˹碌뤳ȤǽǤʲ: + `set dgrid3d` ˴ؤ륳ɤϡy-Ωȡб٤ y-Ω δ֤ʬ˱äƤ z ĥϤ¬ޤäơx-Ωˡ @@ -18857,6 +18751,7 @@ Ffigure_sparsematrix ޤRGB 򳥿Ĵ˼ NTSC ѤƷ׻줿٤ ޤˤΥޥɤϤбط $PALETTE Ȥ̾Υǡ ֥å˼ߤޤ +D viridis 1 2 toggle ?commands toggle ?toggle @@ -18937,10 +18832,13 @@ Ffigure_sparsematrix 3 warnings ?unset warnings ?set warnings - ٹå (̿Ūʥ顼ǤϤʤ) ϡ̾Ϥηٹ - ޥɥ饤򥨥 stderr ˽Ϥޤηٹϡ - `unset warnings` ǤŪ `set warnings` ͭˤ - ޤ³ޤ + set warnings + unset warnings + + ̿ŪǤϤʤ顼Фٹåϡ̾Ϥηٹ + ޥɥ饤򥨥 stderr ˽Ϥޤηٹϡ + `unset warnings` ǤޤŪ `set warnings` + ͭˤޤ³ޤ 2 update ?commands update ?update @@ -19039,45 +18937,3 @@ Ffigure_sparsematrix ^ </a> <3 -- Ƥνϥɥ饤Фιܤϡ.trm ե뤫ĥäޤ -1 Х (Bugs) -?bugs - ХݡȤ e-mail gnuplot-bugs ᡼󥰥ꥹȤ뤫ޤ - SourceForge gnuplot ֥ȤˤƤƤ - ݡʤѤƤ gnuplot ΥСδʾ󡢤Ʋǽ - ʤФΥХ¾ڤƥȥץȤäƤʲ: - `seeking-assistance` - -2 ΤƤ (limitations) - `do` `while` 롼פǥ饤ǡ (: plot '-' ...) - ȤȤϤǤޤ - - X11 Ϸ: UTF-8 եȤ򤬺Ǥ - ٤Ƥ x11 襦ɥФơ٤ˤ 1 ĤΥ顼ѥåȤΤ - ͭǤϡۤʤѥåȤѤޤ multiplot - x11 ǤɽʤȤ̣ޤ - - Qt Ϸ: 3 Ǥ¿ѷ̤βž٤ʤǽޤ - Qt Υ󥰥⡼ (Qt 򻲾ȤƤ) ˶ - ¸ޤ - - ޥ `raise` `lower` ϤޤƤˤǤޤ - -2 饤֥ (External libraries) -?bugs external_libraries -=libgd -=locale -=internationalization - 饤֥ GD (PNG/JPEG/GIF/sixelgd Ϸpixmap ǻ): - С 2.0.33 ޤǤ libgd ˤϡAdobe Symbol եȤʸ - ޥåԥ󥰤˴ؤ뤤ĤΥХޤ - -ѥϡνϷǤϥݡȤƤޤ - - ݲ (): - gnuplot ϡϤοʸΥ˰¸񼰤 - C 󥿥饤֥˴ޤޤ setlocale() ѤƹԤΤǡ - ͭ䡢뵡ǽΥݡȤΥ٥ (㤨п 3 - ζڤʸʤ) ʤɤϡʤΥԥ塼󶡤ݲΥݡ - Ȥٹ礤˰¸ޤ - - 饤֥ libcerf ΥС 1.8, 1.9, 1.10 ϡvoigt ؿ - ʷ̤֤ΤǡȤʤǤ diff --git a/docs/gnuplot.doc b/docs/gnuplot.doc index 7a9cd0381..02bd4548a 100644 --- a/docs/gnuplot.doc +++ b/docs/gnuplot.doc @@ -4,7 +4,7 @@ C ?gnuplot ^<h2 align="center"> An Interactive Plotting Program </h2> ^<p align="center"> Thomas Williams & Colin Kelley</p> -^<p align="center"> Version 5 organized by Ethan A Merritt and others</p> +^<p align="center"> Version 6 organized by Ethan A Merritt</p> ^<p align="center">Major contributors (alphabetic order):<br> ^<br> ^ Hans-Bernhard Broeker, John Campbell,<br> @@ -15,12 +15,12 @@ C ^ Ed Kubaitis, Russell Lang, Timothée Lecomte,<br> ^ Alexander Lehmann, Alexander Mai, Bastian Märkisch,<br> ^ Tatsuro Matsuoka, Ethan A Merritt, Petr Mikulík,<br> -^ Carsten Steger, Shigeharu Takeno,<br> +^ Hiroki Motoyoshi, Carsten Steger, Shigeharu Takeno,<br> ^ Tom Tkacik, Jos Van der Woude,<br> ^ James R. Van Zandt, Alex Woo, Johannes Zellner<br> ^</p> ^<p align="center"> Copyright (C) 1986 - 1993, 1998 - 2004 Thomas Williams, Colin Kelley<br> -^ Copyright (C) 2004 - 2022 various authors</p> +^ Copyright (C) 2004 - 2023 various authors</p> ^<p align="center"> Mailing list for comments: <tt>gnuplot-info@lists.sourceforge.net</tt><br> ^ Gnuplot <a href="http://gnuplot.info"> home page </a><br> ^ Issue trackers:   @@ -72,7 +72,7 @@ C ?introduction ? `Gnuplot` is a portable command-line driven graphing utility for Linux, OS/2, - MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted + MS Windows, macOS, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses @@ -225,9 +225,12 @@ C ## function. Anywhere outside a function block `return` acts like `exit`. #end - Please see `function_block.dem` for an example of using this mechanism - to define and plot a non-trivial function that is too complicated for a - simple one-line definition `f(x) = ...`. + For an example of using this mechanism to define and plot a non-trivial + function that is too complicated for a simple one-line definition `f(x) = ...` + please see +^ <a href="http://www.gnuplot.info/demo_6.0/function_block.html"> + `function_block.dem` +^ </a> 3 Special and complex-valued functions ?new math @@ -278,6 +281,36 @@ C ## of the Voigt profile. See `VP`, `VP_fwhm`. #end +3 New plot styles +?new styles +#start +#b The plot style `with surface` works in 2D polar coordinates to produce +## a solid-fill gridded representation of the plane, colored by weighted +## contributions from an arbitrary set of input points. This is analogous to +## the use of `dgrid3d` and style `with pm3d` to produce a 3D gridded surface. +## See `set polar grid` and `polar heatmap`. +#b New 2D plot style `with sectors` is an alternative to generating a full +## polar gridded surface. For each input data point it generates a single +## annular wedge in a conceptual polar grid. Unlike polar mode `with surface` +## it can be used in either a polar or cartesian coordinate graph. +#b Plot style `with lines` now has a filter option `sharpen`. This filter +## detects spikes in a function plot that appear truncated in the output +## because the peak lies between two x-coordinates at which the function has +## been sampled. It adds a new sample point at the location of each such peak. +## See `filters`. +#b Although it is not strictly speaking a new plot style, the combination +## of the concave hull filter with along-path smoothing of filled areas +## allows creation of 'blobby region' plots showing, for example, +## the extents of overlapping data clusters. See `concavehull`. +#end +D polargrid 4 +DB +D windrose 1 +D sectors 4 +DB +D sharpen 1 +D iris 2 + 3 Hulls, masks, and smoothing ?new hulls #start @@ -285,6 +318,10 @@ C ## new filter `convexhull`. A path-smoothed bounding curve can be plotted ## as a filled area using "convexhull smooth path with filledcurves". ## See `convexhull`. +#b An alternative filter `concavehull` generates a bounding polygon that +## is not necessarily convex; instead it forms a χ-shape determined by a +## characteristic length parameter that controls the degree of concavity. +## This essentially draws a blob around the data points. See `concavehull`. #b A convex hull or other polygon can be used as a mask to display only ## selected portions of a pm3d surface or an image plot. ## See new plot style `with mask` (defines a mask) and keyword `mask` @@ -296,6 +333,9 @@ C #b Smoothing options apply to plotting `with filledcurves` {above|below|between}. #b New keyword `period` for smoothing periodic data. See `smooth kdensity`. #end +D convex_hull 2 +D mask_pm3d 3 +D smooth_path 2 3 Named palettes ?new colormaps @@ -312,21 +352,8 @@ C #b Palettes read from a file or datablock (`set palette file`) may be specified ## either using fractional color components or 24-bit packed RGB values. #end - -3 New plot styles -?new styles -#start -#b The plot style `with surface` works in 2D polar coordinates to produce -## a solid-fill gridded representation of the plane, colored by weighted -## contributions from an arbitrary set of input points. This is analogous to -## the use of `dgrid3d` and style `with pm3d` to produce a 3D gridded surface. -## See `set polar grid` and `polar heatmap`. -#b Plot style `with lines` now has a filter option `sharpen`. This filter -## detects spikes in a function plot that appear truncated in the output -## because the peak lies between two x-coordinates at which the function has -## been sampled. It adds a new sample point at the location of each such peak. -## See `filters`. -#end +D named_palettes 4 +D viridis 1 3 New data formats ?new data_formats @@ -381,12 +408,21 @@ C 3 New terminals and terminal options ?new terminals #start +#b New terminals `kittygd` and `kittycairo` provide in-window graphics for +## terminal emulators that support the kitty protocol. Kitty is an alternative +## to sixel graphics that offers full 24-bit RGB color. See `kittycairo`. #b New terminal `block` for text-mode pseudo-graphics uses Unicode ## block or Braille characters to offer improved resolution compared ## to the `dumb` or `caca` terminals. #b New terminal `webp` generates a single frame or an animation sequence ## using webp encoding. Frames are generated using pngcairo, then ## encoded through the WebPAnimEncoder API exported by libwebp and libwebpmux. +#b Terminals that use the same window for text entry and graphical display, +## including `dumb`, `sixel`, `kitty`, and `block` now respond to keyboard +## input during a `pause mouse` command. While paused, they interpret keystrokes +## in the same way that a mousing terminal would. See `pseudo-mousing`. +## For example the left/right/up/down arrow keys change the view angle of 3D +## plots and perform incremental pan/zoom steps for 2D plots. #end 3 Watchpoints @@ -404,13 +440,14 @@ C ## crosses a threshold value #b Use the mouse to track values along multiple plots simultaneously #end +D watchpoints 2 3 Week-date time support ?new week-date time - The Covid-19 pandemic of 2020/2021 generated increased interest in plotting - epidemiological data, which is often tabulated using a "week date" reporting - convention. Deficiencies with gnuplot support for this convention were - remedied and the support for week-date time was extended. + The Covid-19 pandemic that began in 2020 generated increased interest in + plotting epidemiological data, which is often tabulated using a "week date" + reporting convention. Deficiencies with gnuplot support for this convention + were remedied and the support for week-date time was extended. #start #b Time specifier format %W has been brought into accord with the ## ISO 8601 week date standard. @@ -422,6 +459,7 @@ C #b New function `weekdate_cdc(year, week, day)` converts CDC standard week date ## to calendar time. #end +D epi_data 1 3 Other new features ?new features @@ -432,18 +470,21 @@ C ## See `set xtics`, `set mxtics time`. #b The character sequence $# in a `using` specifier evaluates to the total ## number of columns available in the current line of data. For example -## "plot FOO using 0:(column($# - 1))" plots the last-but-one field of each row. -#b keyword `binvalue=avg` plots average, rather than sum, of binned data. -#b `set colorbox bottom` places the color box underneath the plot. +## `plot FOO using 0:(column($# - 1))` plots the last-but-one field of each row. +#b keyword `binvalue=avg` plots the average, rather than the sum, of binned data. +#b `set colorbox bottom` places a horizontal color box underneath the plot +## rather than a vertical box on the right. #b `set colorbox cbtics <linestyle>` affects cbtics but not other tics. #b Improved rendering of intersecting pm3d surfaces - overlapping surface tiles ## are split into two pieces along the line of intersection so that tiles ## from one surface do not incorrectly protrude though the other surface. +#b User-controlled spotlight added to the pm3d lighting model. +## See `set pm3d spotlight`. #b New options to force total key width and number of columns. See `key layout`. #b `set pm3d border retrace` draws a border around each pm3d quadrangle in the ## same color as the filled area. In principle this should have no visible ## effect, but it prevents some display modes like glitchy pdf or postscript -## viewers from introducing antialiasing artifacts. +## viewers from introducing aliasing artifacts. #b `set isotropic` adjusts the axis scaling in both 2D and 3D plots such that ## the x, y, and z axes all have the same scale. #b Change: Text rotation angle is not limited to integral degrees. @@ -470,7 +511,7 @@ C #b Data preprocessing filter `zsort` #b Construction of customized keys using `keyentry` #b New LaTeX terminal pict2e supersedes older terminals `latex`, `emtex`, `eepic`, -## and `tpic`, which are no longer built by default +## and `tpic`. The older terminals are no longer built by default #b `set pixmap` imports a png/jpeg/gif image as a pixmap that can be scaled and ## positioned anywhere in a plot or on the page #b Enhanced text mode accepts \U+xxxx (xxxx is a 4 or 5 character hexadecimal) @@ -490,7 +531,7 @@ C #b 3D plot style `zerrorfill` #b 3D lighting model provides shading and specular highlighted (see `lighting`). #b Array data type, associated commands and operators. See `arrays`. -#b New terminals `sizelgd`, `domterm` +#b New terminals `sixelgd`, `domterm` #b New format descriptors tH tM tS handle relative times (interval lengths). ## See `time_specifiers`. #end @@ -1003,7 +1044,7 @@ C need @ in table, so end and restart the table ! You can specify a character by its Unicode code point as \U+hhhh, where hhhh is the 4 or 5 character hexadecimal code point. For example the code point for - the infinity symbol is \U+221E. This will be converted to a UTF-8 byte + the infinity symbol ∞ is \U+221E. This will be converted to a UTF-8 byte sequence on output if appropriate. In a UTF-8 environment this mechanism is not needed for printable special characters since they are handled in a text string like any other character. However it is useful for combining forms @@ -1105,7 +1146,7 @@ C need @ in table, so end and restart the table ! arguments. Complex constants are expressed as {<real>,<imag>}, where <real> and <imag> must be numerical constants. Thus {0,1} represents 'i'. The program predefines a variable I = {0,1} on entry that can be used to - generate complex values in terms of other variables. + generate complex values in terms of other variables. Thus `x + y*I` is a valid expression but `{x,y}` is not. The real and imaginary components of complex value z can be extracted as real(z) and imag(z). The modulus is given by abs(z). @@ -2215,7 +2256,7 @@ C 4 weekdata_cdc See `splot voxel-grids`, `vgrid`. @end table -4 integer conversion functions: int floor ceil round +4 integer conversion functions (int floor ceil round) ?integer conversion ?integer ?precision @@ -2640,10 +2681,9 @@ C 4 weekdata_cdc The current implementation is from the Cephes library (Moshier 2000). The domain is restricted to real a>0, real x>=0. - EXPERIMENTAL: - To be replaced by an implementation that handles complex arguments. 4 using specifier functions +? These functions are valid only in the context of data input. Usually this means use in an expression that provides an input field of the `using` specifier in a `plot`, `splot`, `fit`, or `stats` command. However the @@ -3223,8 +3263,9 @@ C ... and restart the table: Arrays are implemented as indexed lists of user variables. The elements in an array are not limited to a single type of variable. Arrays must be created explicitly before being referenced. The size of an array cannot be changed - after creation. All elements are initially undefined. In most places an array - element can be used instead of a named user variable. + after creation. Array elements are initially undefined unless they are + provided in the array declaragion. + In most places an array element can be used instead of a named user variable. The cardinality (number of elements) of array A is given by the expression |A|. @@ -3236,6 +3277,7 @@ C ... and restart the table: A[4] = "four" A[6] = A[2]**3 array B[6] = [ 1, 2.0, A[3], "four", , B[2]**3 ] + array C = split("A B C D E F") do for [i=1:6] { print A[i], B[i] } 1 1 @@ -3246,8 +3288,8 @@ C ... and restart the table: 8.0 8.0 Note: Arrays and variables share the same namespace. For example, assignment - of a string variable named FOO will destroy any previously created array with - name FOO. + of a string to a variable named FOO will destroy any previously created array + with name FOO. The name of an array can be used in a `plot`, `splot`, `fit`, or `stats` command. This is equivalent to providing a file in which column 1 holds the @@ -3270,7 +3312,7 @@ C ... and restart the table: ?arrays slice ?slice =split - Starting with gnuplot version 5.5, an array can be passed to a function or + Starting with gnuplot version 6, an array can be passed to a function or returned by a function. For example a simple dot-product function acting on two equal-sized numerical arrays could be defined: @@ -3360,7 +3402,6 @@ C ... and restart the table: On many systems libgd can also use generic font handling provided by the fontconfig tools (see `fontconfig`). - On most systems without fontconfig, libgd provides access to Adobe fonts (*.pfa *.pfb) and to TrueType fonts (*.ttf). You must give the name of the font file, not the name of the font inside it, in the form "<face> {,<size>}". @@ -3377,7 +3418,6 @@ C ... and restart the table: To request a default font size at the same time: set term png font "arial,11" - Both TrueType and Adobe Type 1 fonts are fully scalable and rotatable. If no specific font is requested in the "set term" command, gnuplot checks the environmental variable GNUPLOT_DEFAULT_GDFONT. 3 postscript (also encapsulated postscript *.eps) @@ -3520,13 +3560,13 @@ Ffigure_newsyntax 2 linetypes, colors, and styles ?linetypes ?colors - In older gnuplot versions, each terminal type provided a set of distinct + In very old gnuplot versions, each terminal type provided a set of distinct "linetypes" that could differ in color, in thickness, in dot/dash pattern, or in some combination of color and dot/dash. These colors and patterns were not guaranteed to be consistent across different terminal types although most used the color sequence red/green/blue/magenta/cyan/yellow. You can select this old behaviour via the command `set colorsequence classic`, but by default - gnuplot version 5 uses a terminal-independent sequence of 8 colors. + gnuplot now uses a terminal-independent sequence of 8 colors. You can further customize the sequence of linetype properties interactively or in an initialization file. See `set linetype`. Several sample initialization @@ -3561,8 +3601,8 @@ Ffigure_newsyntax See also `set monochrome`. Linetypes also have an associated dot-dash pattern although not all terminal - types are capable of using it. Gnuplot version 5 allows you to specify the - dot-dash pattern independent of the line color. See `dashtype`. + types are capable of using it. You can specify the dot-dash pattern + independent of the line color. See `dashtype`. 3 colorspec ?colorspec @@ -3719,15 +3759,10 @@ Ffigure_newsyntax 3 dashtype ?dashtype =dashtype - In gnuplot version 5 the dash pattern (`dashtype`) is a separate property - associated with each line, analogous to `linecolor` or `linewidth`. It is not - necessary to place the current terminal in a special mode just to draw dashed - lines. I.e. the command `set term <termname> {solid|dashed}` is now ignored. - If backwards compatibility with old scripts written for version 4 is required, - the following lines can be used instead: - - if (GPVAL_VERSION >= 5.0) set for [i=1:9] linetype i dashtype i - if (GPVAL_VERSION < 5.0) set termoption dashed + The dash pattern (`dashtype`) is a separate property associated with each line, + analogous to `linecolor` or `linewidth`. It is not necessary to place the + current terminal in a special mode just to draw dashed lines. + I.e. the old command `set term <termname> {solid|dashed}` is now ignored. All lines have the property `dashtype solid` unless you specify otherwise. You can change the default for a particular linetype using the command @@ -4039,7 +4074,7 @@ Ffigure_newsyntax ?plugins The set of functions available for plotting or for evaluating expressions can be extended through a plugin mechanism that imports executable functions - from a shared library. For example, gnuplot versions through 5.4 do not + from a shared library. For example, gnuplot versions through 5.4 did not provide a built-in implementation of the upper incomplete gamma function Q(a,x). #TeX \\ $Q(a,x)=\frac{1}{\Gamma(x)}\intop_{x}^{\infty}t^{a-1}e^{-t}dt$ .\quad\quad @@ -4060,7 +4095,7 @@ Ffigure_newsyntax The demo/plugin directory also contains source for a plugin that implements Q(a,x). As noted above, this plugin allows earlier versions of gnuplot to - provide the same function `uigamma` as the current development version. + provide the same function `uigamma` as version 6. import Q(a,x) from "uigamma_plugin" uigamma(a,x) = ((x<1 || x<a) ? 1.0-igamma(a,x) : Q(a,x)) @@ -4094,7 +4129,7 @@ Ffigure_newsyntax func(x,y) = A + (x+y)/2. Exception 3: Variables declared with the `local` command. - The `local` qualifier (new in this version) allows optional declaration of a + The `local` qualifier (new in version 6) allows optional declaration of a variable or array whose scope is limited to the execution of the code block in which it is found. This includes `load` and `call` operations, evaluation of a function block, and the code in curly brackets that follows @@ -4114,11 +4149,9 @@ Ffigure_newsyntax and is reported by `show loadpath`. The program then looks in the user's HOME directory for a file called `.gnuplot` on Unix-like systems or `GNUPLOT.INI` on other systems. (OS/2 will look for it in the directory named in - the environment variable `GNUPLOT`; Windows will use `APPDATA`). On Unix-like - systems gnuplot additionally checks for the file + the environment variable `GNUPLOT`; Windows will use `APPDATA`). + On Unix-like systems gnuplot additionally checks for the file $XDG_CONFIG_HOME/gnuplot/gnuplotrc. - Note: The program can be configured to look first in the current directory, - but this is not recommended because it is bad security practice. 2 String constants, string variables, and string functions ?string ?strings @@ -4209,7 +4242,7 @@ Ffigure_newsyntax is returned in variables GPVAL_SYSTEM_ERRNO and GPVAL_SYSTEM_ERRMSG. Note: Internal carriage-return ('\r') and newline ('\n') characters are not - stripped from the substituted string. This is a change from version 5.2. + stripped from the substituted string. Command-line substitution can be used anywhere on the `gnuplot` command line except inside strings delimited by single quotes. @@ -4373,8 +4406,7 @@ Ffigure_newsyntax This is the first line of text.\nThis is the second line. Enhanced text processing is performed for both double-quoted text and - single-quoted text, but only by terminals supporting this mode. - See `enhanced text`. + single-quoted text. See `enhanced text`. Back-quotes are used to enclose system commands for substitution into the command line. See `substitution`. @@ -4454,7 +4486,7 @@ Ffigure_newsyntax ?watch Support for watchpoints is present only if your copy of gnuplot was built with configuration option --enable-watchpoints. This feature is EXPERIMENTAL - [details may change before it appears in a release version]. + [details may change in a subsequent release version]. Syntax: plot FOO watch {x|y|z|F(x,y)} = <value> @@ -4542,6 +4574,7 @@ Ffigure_watchpoints set y2tics format "%.2f°" set style watchpoint labels point pt 6 plot FOO axes x1y2 watch mouse +D watchpoints 2 1 Plotting styles ?plotting styles @@ -4592,6 +4625,21 @@ Ffigure_watchpoints so that the visual length is independent of the orientation angle. `angle` is always specified in degrees. +3 arrowstyle variable +?arrowstyle variable +?variable arrowstyle + For plot styles `with arrows` and `with vectors`, you can provide an extra + column of input data that provides an integer arrow style corresponding to + style previously defined using `set style arrow`. + + Example: + set style arrow 1 head nofilled linecolor "blue" linewidth 0.5 + set style arrow 2 head filled linecolor "red" linewidth 1.0 + # column 5 is expected to contain either 1 or 2, + # determining which of the two previous defined styles to use + plot DATA using 1:2:3:4:5 with arrows arrowstyle variable + +#TeX \newpage 2 Bee swarm plots ?beeswarm ?bee swarm @@ -4788,7 +4836,6 @@ Ffigure_boxplot These default properties may be changed using the `set style boxplot` command. See `set style boxplot`, `bars`, `boxwidth`, `fillstyle`, `candlesticks`. -#TeX \newpage 2 boxxyerror ?plotting styles boxxyerror ?style boxxyerror @@ -5000,6 +5047,7 @@ Ffigure_ellipses See also `set object ellipse`, `set style ellipse` and `fillstyle`. +#TeX \newpage 2 dots ?plotting styles dots ?style dots @@ -5114,7 +5162,7 @@ Ffigure_financebars ^ <a href="http://www.gnuplot.info/demo/finance.html"> finance demo. ^ </a> -#TeX \newpage + 2 fillsteps ?style fillsteps ?with fillsteps @@ -5173,16 +5221,27 @@ Ffigure_histeps Several of gnuplot's plot styles can be used to create heat maps. The choice of which style to use is dictated by the type of data. -Ffigure_sparsematrix +Ffigure_heatmap + Pixel-based heat maps all have the property that each pixel in the map + corresponds exactly to one original data value. The pixel-based image styles require a regular rectangular grid of data values; - see `with image`. However it is possible to deal with some missing grid values + see `with image`. However it is possible to handle missing grid values (see `sparse`) and it is also possible to mask out only a portion of the grid - for display (see `masking`). These pixel-based heat maps all have the property - that each pixel in the map corresponds exactly to one original data value. - Unless there are a large number of grid elements, it is usually a good idea to + for display (see `masking`). + Unless there are a large number of grid elements, it is usually good to render each rectangular element separately (`with image pixels`) so that smoothing or lossy compression is not applied to the resulting "image". +Ffigure_sector_heatmap + A polar equivalent to image pixel-based heat maps can be generated using 2D + plot style `sectors`. Each input point corresponds to exactly one annular + sector of a polar grid, equivalent to a pixel. Unlike the polar grid surface + option described below, any number of individual grid sectors may be provided. + This plot style can be used in either polar or cartesian coordinate plots + to place polar sectors anywhere on the graph. The figure here shows two halves + of a polar heat map displaced across the origin by +/- Δx on a cartesian + coordinate plot. See `with sectors`. + Ffigure_mask If the data points do not constitute a regular rectangular grid, they can often be used to fit a gridded surface by interpolation or by splines. Alternatively @@ -5454,6 +5513,7 @@ Ffigure_newhist ^ <a href="http://www.gnuplot.info/demo/histogram_colors.html"> histogram_colors.dem ^ </a> +D histogram_colors 1 2 image ?plotting styles image @@ -5537,6 +5597,7 @@ Ffigure_scaled_image extreme cases. A pixel with 0 < alpha < 255 is partially transparent. Terminal types that do not support partial transparency will round this value to 0 or 255. +D argb_hexdata 2 3 image pixels ?plotting styles image pixels ?style image pixels @@ -5845,6 +5906,7 @@ Ffigure_points specifier and the keywords `lc variable` (value is interpreted as a linetype) or `lc rgb variable` (value is interpreted as a 24-bit RGB color). Only the color value from the first vertex of the polygon is used. + The border line type, if any, is taken from the fill style. 3D plots: @@ -5861,7 +5923,7 @@ Ffigure_points The fill style and color may be specified in the splot command, otherwise the global fillstyle from `set style fill` is used. Due to limitations in the pm3d code, a single border line style from `set pm3d border` is applied to all - polygons. This restriction may be removed in a later gnuplot version. + 3D polygons. This restriction may be removed in a later gnuplot version. Each polygon may be assigned a separate RGB color by providing a fourth using specifier and the keywords `lc variable` (value is interpreted as a linetype) @@ -5891,13 +5953,76 @@ Ffigure_polygons ?style rgbimage ?with rgbimage See `image`. + +#TeX \newpage +2 sectors +?plotting styles sectors +?with sectors +?sectors +?windrose +Ffigure_sector_definition + The 2D plotting style `with sectors` renders one annular segment ("sector") + for each line of input data. The shape of each sector is described by four + required data values. An additional pair of data values can be included to + specify the origin of the annulus this sector is taken from. + A per-sector color may be provided in an additional column. + + The plot style itself can be used in either cartesian or polar mode + (`set polar`). The units and interpretation for the azimuth and the + sector angle are controlled using `set angles` and `set theta`. + + Columns 1 and 2 specify the azimuth (theta) and radius (r) of one corner + of the sector. +#TeX \newline + Columns 3 and 4 specify the angular and radial extents of the sector + ("sector_angle" and "annular_width"). +#TeX \newline + Columns 5 and 6, if present, specify the coordinates of the center of the + annulus (default [0,0]). The interpretation is [x,y] in cartesian mode + and [theta,r] in polar mode. + + Syntax: + plot DATA {using specifier} {units xy | units xx | units yy} + + using specifier + 4 columns: azimuth radius sector_angle annular_width + 5 columns: azimuth radius sector_angle annular_width color + 6 columnd: azimuth radius sector_angle annular_width center_x center_y + 7 columns: azimuth radius sector_angle annular_width center_x center_y color + + Note that if the x and y axis scales are not equal, the envelope of the full + annulus in x/y coordinates will appear as an ellipse rather than a circle. + The annulus envelope and thus the apparent sector annular width can be adjusted + to correct for unequal axis scales using the same mechanism as for ellipses. + Adding `units xx` to the command line causes the sector to be rendered as if + the current x axis scale applied equally to both x and y. + Similarly `units yy` causes the sector to be rendered as if the current + y axis scale applied equally to both x and y. + See `set isotropic`, `set style ellipse`. + +Ffigure_windrose + Plotting with sectors can provide polar coordinate equivalents for the + cartesian plot styles `boxes` (see wind rose figure), `boxxyerror` and + `image pixels` (see example in `heatmaps`). Because sector plots are + compatible with cartesian mode plot layout, multiple plots can be placed + at different places on a single graph, which would not be possible for + other polar mode plot styles. + + An example of using sectors to create a wind rose in shown here. + Other applications include polar heatmaps, dial charts, pie/donut charts, + and annular error boxes for data points in polar coordinates. + Worked examples for all of these are given in the +^ <a href="http://www.gnuplot.info/demo/sectors.html"> + sectors demo. +^ </a> + 2 spiderplot ?plotting styles spiderplot ?with spiderplot ?spiderplot ?radar chart Spider plots are essentially parallel axis plots in which the axes are arranged - radially rather than vertically. Such plots are sometimes called `rader charts`. + radially rather than vertically. Such plots are sometimes called `radar charts`. In gnuplot this requires working within a coordinate system established by the command `set spiderplot`, analogous to `set polar` except that the angular coordinate is determined implicitly by the parallel axis number. The appearance, @@ -6032,6 +6157,8 @@ Ffigure_xerrorbars (x,y), a line is drawn from (xlow,y) to (xhigh,y) or from (x-xdelta,y) to (x+xdelta,y), depending on how many data columns are provided. The appearance of the tic mark at the ends of the bar is controlled by `set errorbars`. + The clearance between the point and the error bars is controlled by + `set pointintervalbox`. The basic style requires either 3 or 4 columns: 3 columns: x y xdelta @@ -6052,7 +6179,9 @@ Ffigure_xyerrorbars from (x-xdelta,y) to (x+xdelta,y) or from (x,ylow) to (x,yhigh) and from (xlow,y) to (xhigh,y), depending upon the number of data columns provided. The appearance of the tic mark at the ends of the bar is controlled by - `set errorbars`. Either 4 or 6 input columns are required. + `set errorbars`. The clearance between the point and the error bars is + controlled by `set pointintervalbox`. + Either 4 or 6 input columns are required. 4 columns: x y xdelta ydelta 6 columns: x y xlow xhigh ylow yhigh @@ -6085,6 +6214,7 @@ Ffigure_xerrorlines An additional input column (4th or 5th) may be used to provide variable color. This style does not permit variable point properties. +#TeX \newpage 2 xyerrorlines ?plotting styles xyerrorlines ?style xyerrorlines @@ -6295,7 +6425,7 @@ Ffigure_zerror or from a script. Several non-mousing terminals also support some form of animation. - See `term sixelgd animate`, `term domterm animate`. + See `term sixelgd`, `term kittycairo`. Two terminals can save an animation to a file for later playback locally or by embedding it a web page. See `term gif animate`, `term webp`. @@ -6554,7 +6684,9 @@ Ffigure_zerror dependent variable, and any number of parameters can be fitted. Optionally, error estimates can be input for weighting the data points. - The basic use of `fit` is best explained by a simple example: + The basic use of `fit` is best explained by a simple example where a set of + measured x and y values read from a file are used to be modeled by a + function y = f(x). f(x) = a + b*x + c*x**2 fit f(x) 'measured.dat' using 1:2 via a,b,c @@ -6756,9 +6888,9 @@ Ffigure_zerror squared differences or 'residuals' (SSR) between the input data points and the function values, evaluated at the same places. This quantity is often called 'chisquare' (i.e., the Greek letter chi, to the power of 2). The - algorithm attempts to minimize SSR, or more precisely, WSSR, as the residuals - are 'weighted' by the input data errors (or 1.0) before being squared; - see `fit error_estimates` for details. + algorithm attempts to minimize SSR, or more precisely the weighted sum of + squared residuals (WSSR), for which the residuals are weighted by the input + data errors before being squared; see `fit error_estimates` for details. That's why it is called 'least-squares fitting'. Let's look at an example to see what is meant by 'non-linear', but first we had better go over some @@ -6772,10 +6904,10 @@ Ffigure_zerror second {and higher} derivatives of the fitting function with respect to the parameters are zero for a linear least-squares problem). - For linear least-squares (LLS), the user-defined function will be a sum of - simple functions, not involving any parameters, each multiplied by one - parameter. NLLS handles more complicated functions in which parameters can - be used in a large number of ways. An example that illustrates the + For linear least-squares the user-defined function will be a sum of simple + functions, not involving any parameters, each multiplied by one parameter. + Nonlinear least-squares handles more complicated functions in which parameters + can be used in a large number of ways. An example that illustrates the difference between linear and nonlinear least-squares is the Fourier series. One member may be written as z=a*sin(c*x) + b*cos(c*x). @@ -6784,8 +6916,8 @@ Ffigure_zerror c is an unknown parameter, the problem is nonlinear. In the linear case, parameter values can be determined by comparatively - simple linear algebra, in one direct step. However LLS is a special case - which is also solved along with more general NLLS problems by the iterative + simple linear algebra, in one direct step. However the linear special case + is also solved along with more general nonlinear problems by the iterative procedure that `gnuplot` uses. `fit` attempts to find the minimum by doing a search. Each step (iteration) calculates WSSR with a new set of parameter values. The Marquardt-Levenberg algorithm selects the parameter values for @@ -6833,7 +6965,7 @@ Ffigure_zerror 4 statistical overview ?commands fit error statistical_overview ?statistical_overview - The theory of non-linear least-squares (NLLS) is generally described in terms + The theory of non-linear least-squares is generally described in terms of a normal distribution of errors, that is, the input data is assumed to be a sample from a population having a given mean and a Gaussian (normal) distribution about the mean with a given standard deviation. For a sample of @@ -6882,9 +7014,9 @@ Ffigure_zerror in the same way as the standard errors (standard deviation of each parameter) of a linear least-squares problem, even though the statistical conditions for designating the quantity calculated to be a standard deviation are not - generally valid for the NLLS problem. The asymptotic standard errors are - generally over-optimistic and should not be used for determining confidence - levels, but are useful for qualitative purposes. + generally valid for a nonlinear least-squares problem. The asymptotic + standard errors are generally over-optimistic and should not be used for + determining confidence levels, but are useful for qualitative purposes. The final solution also produces a correlation matrix indicating correlation of parameters in the region of the solution; The main diagonal elements, @@ -6957,11 +7089,11 @@ Ffigure_zerror of parameter uncertainties or evaluate the significance of the correlation matrix. - Note that `fit`, in common with most NLLS implementations, minimizes the - weighted sum of squared distances (y-f(x))**2. It does not provide any means - to account for "errors" in the values of x, only in y. Also, any "outliers" - (data points outside the normal distribution of the model) will have an - exaggerated effect on the solution. + Note that `fit`, in common with most nonlinear least-squares implementations, + minimizes the weighted sum of squared distances (y-f(x))**2. It does not + provide any means to account for "errors" in the values of x, only in y. + Also, any "outliers" (data points outside the normal distribution of the model) + will have an exaggerated effect on the solution. 3 control ?commands fit control ?fit control @@ -6986,16 +7118,18 @@ Ffigure_zerror 3 error recovery ?commands fit error_recovery ?fit error_recovery - Starting with gnuplot version 5.5, the `fit` command always returns to the + Starting with gnuplot version 6, the `fit` command always returns to the next command input line regardless of the success or failure of fitting. This allows scripted recovery from fit errors. The variable FIT_ERROR is - set to 0 on success, non-zero on error. - Example: + set to 0 on success, non-zero on error. This example plots however many + of five data sets can be successfully fit. Failure for data set 2 would + not prevent fitting data sets 3 through 5. do for [i=1:5] { DATA = sprintf("Data_%05d.dat", i) fit f(x) DATA via a,b,c if (FIT_ERROR || !FIT_CONVERGED) { + print "Fit failed for ", DATA continue } set output sprintf("dataset_%05.png", i) @@ -7058,6 +7192,37 @@ Ffigure_zerror criterion, or a physical sense, with a solution more consistent with the model.) Depending on the problem, it may be desirable to `fit` with various sets of starting values, covering a reasonable range for each parameter. +3 time data +?commands fit time_data +?fit time_data + In fitting time data it is important to remember that gnuplot represents + time as seconds since 1 January 1970. For example if you wanted to fit a + quadratic model for the time dependence of something measured over the course + of one day in 2023, you might expect that it could be done using + T(x) = a + b*x + c*x*x + set xdata time + fit T(x) 'hits.dat' using 1:3 via a,b,c + + This will probably fail, because internally the x values corresponding to + that one day will have a range something like [1.67746e+09 : 1.67754e+09]. + The fractional change in x across the measured data will be only about + 1.e-05 and to guarantee convergence you would probably need many + decimal places of accuracy in the initial parameter estimates. + + One solution is to recast the problem as change in time since the start + of measurement. + set xdata time # data format "27-02-2023 12:00:00 measurement" + timefmt = "%d-%m-%Y %H:%M:%S" + set timefmt timefmt + t0 = strptime( timefmt, "27-02-2023 00:00:00" ) + fit T(x) 'temperature.dat' using ($1-t0):3 via a,b,c + + This shifts the range of the data to [0 : 86400], which is more tractable. + Another possibility in this case is to ignore the date in column 1 and use + relative time formats (tH/tM/tS) applied to column 2. + set timefmt "%tH:%tM:%tS" + fit T(x) 'temperature.dat' using 2:3 via a,b,c + 3 tips ?commands fit tips ?fit tips @@ -7161,9 +7326,33 @@ Ffigure_zerror The primary motivation for function block support is to allow definition of complicated functions directly in gnuplot. Execution is of course slower - than if the same function were coded directly in C or Fortran, but this is - acceptable for many purposes. If execution speed matters then the function - can be implemented later as a plugin instead (see `plugins`). + than if the same function were coded in C or Fortran, but this is acceptable + for many purposes. If execution speed matters then the function can be + implemented later as a plugin instead (see `plugins`). + + A second use for function blocks is to allow execution of gnuplot commands in + a context they otherwise could not appear. Suppose for example you want to + plot data from two csv files, but one file uses comma-separated fields while + the other uses semicolon-separated fields. Normally this property would have + been set by a previous `set datafile` command and would have to match all + files used by the plot command. However we can define a function block to + invoke as a definition immediately before each file is referenced in the plot. + + function $set_csv(char) << EOF + set datafile separator char + EOF + plot tmp=$set_csv(",") FILE1, tmp=$set_csv(";") FILE2 + + Limitations: +#start +#b Data blocks and function blocks cannot be defined inside a function block. +#b These commands cannot be executed inside a function block: +## `reset`, `shell`, `!<shell command>`. +#b A `plot`, `replot`, `splot`, `refresh`, `stats`, `vfill`, or `fit` command +## is accepted in a function block only if none of those commands is already +## in progress. E.g. you cannot use `stats` in a function block called by a +## `plot` command, you cannot invoke `plot` from inside a `fit` command, etc. +#end A non-trivial example of using function blocks to implement and plot a 15-term Lanczos approximation for the complex lngamma function is @@ -7176,7 +7365,13 @@ Ffigure_zerror Nevertheless it is still fast enough for 3D interactive rotation. #TeX The function definitions used in that demo are show below. #TeX \newline -#TeX {\small +#TeX \begin{center} +#TeX \begin{minipage}{5in} +#TeX { +#TeX Function block implementation of $log\Gamma(z)$ using a 15-term Lanczos approximation +#TeX \hrule +#TeX ~\newline +#TeX \small #TeX \begin{verbatim} #TeX array coef[15] = [ ... ] #TeX @@ -7196,7 +7391,10 @@ Ffigure_zerror #TeX #TeX my_lngamma(z) = (z == 0) ? NaN : (real(z) < 0.5) ? $Reflect(z) : $Lanczos(z) #TeX \end{verbatim} +#TeX \hrule #TeX } +#TeX \end{minipage} +#TeX \end{center} Use of function blocks is EXPERIMENTAL. Details may change before inclusion in a release version. @@ -7259,34 +7457,18 @@ Ffigure_zerror conditional execution applies to all statements, possibly on multiple input lines, until a matching "}" terminates the block. If commands may be nested. - The old single-line if/else syntax fromm gnuplot version 4 is still supported, - but cannot be mixed with the new block-structured syntax. See `if-old`. -3 if-old -?if if-old -?if-old + Prior to gnuplot version 5 the scope of if/else commands was limited to a + single input line. Now a multi-line clause may be enclosed in curly brackets. + The old syntax is still honored but cannot be used inside a bracketed clause. + Old syntax: if (<condition>) <command-line> [; else if (<condition>) ...; else ...] - - Through gnuplot version 4.4, the scope of the if/else commands was limited to - a single input line. Now a multi-line clause may be enclosed in curly brackets. - The old syntax is still honored but cannot be used inside a bracketed clause. - If no opening "{" follows the `if` keyword, the command(s) in <command-line> will be executed if <condition> is true (non-zero) or skipped if <condition> is false (zero). Either case will consume commands on the input line until the end of the line or an occurrence of `else`. Note that use of `;` to allow multiple commands on the same line will _not_ end the conditionalized commands. - Examples: - pi=3 - if (pi!=acos(-1)) print "?Fixing pi!"; pi=acos(-1); print pi - will display: - ?Fixing pi! - 3.14159265358979 - but - if (1==2) print "Never see this"; print "Or this either" - will not display anything. - 2 for ?for The `plot`, `splot`, `set` and `unset` commands may optionally contain an @@ -7491,6 +7673,19 @@ Ffigure_zerror bind all "alt-End" "exit gnuplot" pause mouse close +3 pseudo-mousing during pause +?commands pause pseudo-mousing +?pseudo-mousing + Some terminals use the same window for text entry and graphical display, + including terminal types `dumb`, `sixel`, `kitty`, and `domterm`. These + terminals do not currently support mousing per se, but during a `pause mouse` + command they interpret keystrokes in the same way that a mousing terminal + would. E.g. left/right/up/down arrow keys change the view angle of 3D plots + and perform incremental pan/zoom for 2D plots, `l` toggles log-scale axes, + `a` autoscales the current plot, `h` displays a list of key bindings. + A carriage return terminates the `pause` and restores normal command line + processing. + 2 plot ?commands plot ?plot @@ -7872,14 +8067,15 @@ Ffigure_zerror {every <every list>} {skip <number-of-lines>} {using <using list>} - {convexhull} + {convexhull} {concavehull} {smooth <option>} {bins <options>} {mask} {volatile} {zsort} {noautoscale} The modifiers `binary`, `index`, `every`, `skip`, `using`, `smooth`, `bins`, - `mask`, `convexhull`, and `zsort` are discussed separately. In brief + `mask`, `convexhull`, `concavehull`, and `zsort` are discussed separately. + In brief #start #b `skip N` tells the program to ignore N lines at the start of the input file #b `binary` indicates that the file contains binary data rather than text @@ -7899,8 +8095,8 @@ Ffigure_zerror ## reread later and therefore it should be retained internally for re-use. #end - `splot` has a similar syntax but does not support `bins` and smoothing - support is limited to `smooth csplines` and `smooth acsplines`. + `splot` has a similar syntax but does not support `bins` and supports only a + few `smooth` options. The `noautoscale` keyword means that the points making up this plot will be ignored when automatically determining axis range limits. @@ -8107,8 +8303,8 @@ Ffigure_zerror In general the purpose of a filter is to replace the original full set of input points with a selected subset of points, possibly modified, regrouped, or reordered, - The filters currently supported are `bins`, `convexhull`, `mask`, `sharpen`, - and `zsort`. + The filters currently supported are `bins`, `convexhull`, `concavehull`, + `mask`, `sharpen`, and `zsort`. 5 bins ?commands plot datafile filters bins ?plot datafile filters bins @@ -8171,10 +8367,11 @@ Ffigure_zerror ?convexhull Convexhull is not a plot style. It can appear either alone as a filter - keyword or in combination with `smooth path`. + keyword or in combination with `smooth path` and/or `expand <increment>`. plot FOO using x:y convexhull - plot FOO using x:y convexhull smooth path {expand <scale>} + plot FOO using x:y convexhull smooth path + plot FOO using x:y convexhull expand <increment> {smooth path} Ffigure_convex_hull The points in FOO are replaced by a subset of the original points that @@ -8188,9 +8385,65 @@ Ffigure_convex_hull If the keyword `smooth` is present, the vertices are then used as guide points to generate a smooth closed curve (see `smooth path`). By default - this smoothed curve runs through the bounding points. The optional scale - factor shifts the guide points away from the centroid so that for scale - values greater than 1.0 all data points lie within the smoothed curve. + this smoothed curve runs through the bounding points. + + The optional `expand` keyword and increment shift the edge segments of + the hull away from the interior by an incremental distance. + The displaced segments are then connected using miter joins; this means + that each vertex of the original hull is replaced by two vertices, since + there is now a gap between the to adjoining edges. + +5 concavehull +?commands plot datafile filters concavehull +?commands plot datafile concavehull +?plot datafile filters concavehull +?datafile filters concavehull +?plot filters concavehull +?filters concavehull +?concavehull + + Present only if your copy of gnuplot was configured --enable-chi-shapes. + + Concavehull is not a plot style. It is a filter that finds a bounding + polygon, a "hull", of the input data points and replaces the original points + with an ordered subset of points that lie along the perimeter of this polygon. + Unlike the convex hull, which is uniquely defined for any set of points, more + than one concave hull is possible. Various schemes for selecting a concave + hull exist; gnuplot generates hulls that are χ-shapes as defined by + Duckham et al. (2008) Patttern Recognition 41:3224-3236. + +Ffigure_concave_hull_1 + For a given set of points, a χ-shape is generated by iterative removal of + triangles from the Delaunay triangulation. Each iteration removes a single + triangle subject to the criteria: (1) A triangle is only eligible for + removal if this would not reduce the connectivity of the bounded shape to + contact at a single point; (2) one edge of the triangle is the longest segment + of the current perimeter; (3) this edge is longer than a pre-selected + characteristic length parameter that fully determines the χ-shape. + In gnuplot this characteristic length parameter is taken from user variable + `chi_length`. Iteration stops when there are no remaining eligible triangles. + If `chi_length` is large, no triangles are removed and the χ-shape is the + original perimeter, i.e. the convex hull. As `chi_length` is reduced, + more and more triangles are removed and the resulting shape becomes + increasingly less convex. Too-small values of `chi_length` are undesirable. + +Ffigure_concave_hull_2 + Appropriate choice of `chi_length` depends strongly on the density and + distribution of the input data points. If no value for `chi_length` has + been set by the user, gnuplot will choose one automatically but there is + no guarantee that this value is suitable for your data. For the data used + in the figures shown here gnuplot would choose chi_length=22.6 by default, + which is 0.6 of the length of the longest edge in the convex hull. + You can change the fraction of the longest edge used as a default with the + command `set chi_shape fraction <value>` + + The value of `chi_length` used in the current plot, whether provided by the + user or chosen by the program, is saved to variable GPVAL_CHI_LENGTH. + + The optional `expand` keyword and increment shift each edge segment of the + hull away from the interior by a fixed distance. This creates a new set of + points describing a closed curve that lies outside all of the original points. + It can be combined with `smooth path`. 5 mask ?commands plot datafile filters mask @@ -8228,6 +8481,7 @@ Ffigure_convex_hull truncated to apparent minimal y values between 0.02 and 0.20. Adding the "sharpen" keyword produces instead a correct representation of the function with periodic sharp minima that reach y=0. +D sharpen 1 5 zsort ?commands plot datafile filters zsort @@ -8330,7 +8584,7 @@ Ffigure_convex_hull Syntax: smooth {unique | frequency | fnormal | cumulative | cnormal | csplines | acsplines | mcsplines bezier | sbezier - | path {expand <scale>} + | path | kdensity {bandwidth} {period} | unwrap} @@ -8358,7 +8612,8 @@ Ffigure_convex_hull If too few points are available to apply the requested smoothing operation an error message is produced. - The `smooth` options have no effect on function plots. + The `smooth` options have no effect on function plots. Only `smooth path` + is possible in polar coordinate mode. Smoothing in 3D plots (splot) is currently limited to generating a natural cubic spline to pass through a set of 3D points. In the general case @@ -8491,13 +8746,6 @@ Ffigure_smooth_path ^ <a href="http://www.gnuplot.info/demo_6.0/smooth_path.html"> smooth_path.dem ^ </a> - - If the set of points being smoothed was generated using the `convexhull` - filter, an additional keyword `expand` is accepted together with a scale - factor for the expansion. See `convexhull`. - Example: - plot DATA convexhull smooth path expand 1.1 with filledcurves, \ - DATA with points 5 sbezier ?commands plot datafile smooth sbezier ?plot datafile smooth sbezier @@ -8683,8 +8931,8 @@ Ffigure_smooth_path By default samples are generated over the range given by `set trange`, or if trange has not been set than over the full range of `set xrange`. - Note: The use of trange is a change from previous gnuplot versions. It allows - the sampling range to differ from the x axis range. + Note: The use of trange is a change from some earlier gnuplot versions. + It allows the sampling range to differ from the x axis range. plot '+' using ($1):(sin($1)):(sin($1)**2) with filledcurves @@ -8897,8 +9145,7 @@ Ffigure_smooth_path should be specified as column three. It should be noted that (a) `plot 'file'`, (b) `plot 'file' using 1:2`, and - (c) `plot 'file' using ($1):($2)` can be subtly different. The exact - behaviour has changed in version 5. See `missing`. + (c) `plot 'file' using ($1):($2)` can be subtly different. See `missing`. It is often possible to plot a file with lots of lines of garbage at the top simply by specifying @@ -9004,15 +9251,6 @@ Ffigure_smooth_path ?using zticlabels ?plot using zticlabels See `plot using xticlabels`. -5 cbticlabels -?using cbticlabels - EXPERIMENTAL (details may change in a future release version) - 2D plots: colorbar labels are placed at the palette coordinate used by the - plot for variable coloring "lc palette z". - 3D plots: colorbar labels are placed at the z coordinate of the point. - Note that in the case of a 3D heat map with variable color that does not - match z, this is probably not the correct label. - See also `plot using xticlabels`. 4 volatile ?datafile volatile ?data volatile @@ -9271,10 +9509,16 @@ Ffigure_smooth_path matching a template. Examples: - plot for [i=2:*] 'datafile' using 1:i with histogram + plot for [file in "A.dat B.dat"] for [column=2:*] file using 1:column splot for [i=0:*] 'datafile' index i using 1:2:3 with lines plot for [i=1:*] file=sprintf("File_%03d.dat",i) file using 2 title file + Caveat: + You can nest iterations where one is open-ended, as in the first example above. + However nesting an open-ended iteration inside another open-ended iteration is + probably not useful, since both will terminate at the same time when no data is + found. The program will issue a warning if this happens. + 3 title ?commands plot title ?commands splot title @@ -9639,7 +9883,7 @@ Ffigure_smooth_path The following are _not_ affected by `reset`: `set term` `set output` `set loadpath` `set linetype` `set fit` - `set datafile` `set encoding` `set decimalsign` `set locale` `set psdir` + `set encoding` `set decimalsign` `set locale` `set psdir` `set overflow` `set multiplot` Note that `reset` does not necessarily return settings to the state they @@ -10242,6 +10486,23 @@ Ffigure_smooth_path It sets the extent of each box along the y axis, i.e. its thickness. `set boxdepth square` will try to choose a y extent that gives the appearance of a square cross section independent of the axis scales on x and y. +3 chi_shapes +?command set chi_shapes +?set chi_shapes +?command unset chi_shapes +?unset chi_shapes +?chi_shapes + set chi_shapes fraction <value> + unset chi_shapes + + The concave hull filter creates χ-shapes defined by a characteristic length + chi_length. If no chi_length variable has been set, it chooses a value equal + to a fraction of the longest edge in the bounding polygon (the convex hull). + The fraction defaults to 0.6 but can be changed using this command. + Choosing a value of 1.0 will reduce the resulting hull to the convex hull. + Smaller values will produce increasingly concave hulls. See `concavehull`. + The `unset chi_shapes` command restores the fraction to 0.6 and undefines + the chi_length variable. 3 color ?commands set color ?set color @@ -10558,6 +10819,8 @@ Ffigure_smooth_path ^ <a href="http://www.gnuplot.info/demo/discrete.html"> contours with user defined levels demo (discrete.dem). ^ </a> +D contours 5 +D discrete 3 3 color box ?commands set colorbox ?commands show colorbox @@ -10578,7 +10841,7 @@ Ffigure_smooth_path { origin x, y } { size x, y } { front | back } - { noborder | bdefault | border <linestyle> } {cbtics <linestyle>} + { noborder | bdefault | border [line style] } } show colorbox unset colorbox @@ -10609,9 +10872,6 @@ Ffigure_smooth_path for drawing the border. `bdefault` (which is the default) will use the default border line style for drawing the border of the color box. - `cbtics` allows you to specify a line style for the colorbox tics (cbtics) - different from the line style of the border. - The axis of the color box is called `cb` and it is controlled by means of the usual axes commands, i.e. `set/unset/show` with `cbrange`, `[m]cbtics`, `format cb`, `grid [m]cb`, `cblabel`, and perhaps even `cbdata`, `[no]cbdtics`, @@ -10725,12 +10985,16 @@ Ffigure_colornames set linetype 5 dt 5 # always use this dash pattern with linetype 5 set dashtype 66 "..-" # define a new dashtype using a string See also `dashtype`. +D dashtypes 2 3 datafile ?set datafile ?show datafile The `set datafile` command options control interpretation of fields read from input data files by the `plot`, `splot`, and `fit` commands. - Several options are currently implemented. + Several options are currently implemented. The settings apply uniformly to all + data files read by subsequent commands; however see `functionblocks` for a + way to work around this if it is necessary to simultaneously handles files with + conflicting formats. 4 set datafile columnheaders ?set datafile columnheaders =columnheaders @@ -10782,65 +11046,15 @@ Ffigure_colornames `missing` string. Conversely `set datafile missing NaN` causes all data or expressions evaluating - to not-a-number (NaN) to be treated as missing data. - - The example below shows differences between gnuplot version 4 and version 5. -Ffigure_missing -^<table class="center"><tr><td> - Example: - set style data linespoints - plot '-' title "(a)" - 1 10 - 2 20 - 3 ? - 4 40 - 5 50 - e - set datafile missing "?" - plot '-' title "(b)" - 1 10 - 2 20 - 3 ? - 4 40 - 5 50 - e - plot '-' using 1:2 title "(c)" - 1 10 - 2 20 - 3 NaN - 4 40 - 5 50 - e - plot '-' using 1:($2) title "(d)" - 1 10 - 2 20 - 3 NaN - 4 40 - 5 50 - e -^ </td><td><img src="figure_missing.png"></td></tr></table> - - Plot (a) differs in gnuplot 4 and gnuplot 5 because the third line contains - only one valid number. Version 4 switched to a single-datum-on-a-line - convention that the line number is "x" and the datum is "y", erroneously - placing the point at(2,3). - - Both the old and new gnuplot versions handle the same data correctly if the - '?' character is designated as a marker for missing data (b). - - Old gnuplot versions handled NaN differently depending of the form of the - `using` clause, as shown in plots (c) and (d). Gnuplot now handles NaN the - same whether the input column was specified as N or ($N). See also the -^ <a href="http://www.gnuplot.info/demo/mgr.html"> + to not-a-number (NaN) to be treated as missing data. See the +^ <a href="http://www.gnuplot.info/demo/imageNaN.html"> imageNaN demo. ^ </a> - Starting with version 5.4, gnuplot notices a missing value flag in column N - when the using specifier in a plot command directly refers to the column as - `using N`, `using ($N)`, or `using (function($N))`. - In these cases of direct reference the expression, e.g. func($N), is not - evaluated at all. This is to forestall floating point errors or other side - effects that would cause the program to stop with an error. + The program notices a missing value flag in column N when the using specifier + in a plot command directly refers to the column as `using N`, `using ($N)`, + or `using (function($N))`. In these cases the expression, e.g. func($N), + is not evaluated at all. The current gnuplot version also notices direct references of the form (column(N)), and it notices during evaluation if the expression depends @@ -11083,6 +11297,9 @@ Ffigure_dgrid3d ^ <a href="http://www.gnuplot.info/demo/heatmap_points.html"> heatmap_points ^ </a> +D heatmap_points 1 +D heatmap_points 2 +D heatmap_points 3 3 dummy ?commands set dummy @@ -11937,6 +12154,7 @@ Ffigure_dgrid3d normally, making the resulting display hard to understand. Therefore, the default option of `bentover` will turn it visible in this case. If you don't want that, you may choose `nobentover` instead. +D hidden 6 See also ^ <a href="http://www.gnuplot.info/demo/hidden.html"> hidden line removal demo (hidden.dem) @@ -12499,7 +12717,7 @@ Ffigure_multiple_keys `tc lt <n>` sets the text color to that of line type <n>. `tc ls <n>` sets the text color to that of line style <n>. `tc palette z` selects a palette color corresponding to the label z position. - `tc palette cb <val>` selects a color corresponding to <val> on the colorbar. + `tc palette cb <val>` selects a color corresponding to <val> on the colorbox. `tc palette fraction <val>`, with 0<=val<=1, selects a color corresponding to the mapping [0:1] to grays/colors of the `palette`. `tc rgb "#RRGGBB"` or `tc rgb "0xRRGGBB"` sets an arbitrary 24-bit RGB color. @@ -12626,8 +12844,9 @@ Ffigure_multiple_keys ?show linetype The `set linetype` command allows you to redefine the basic linetypes used for plots. The command options are identical to those for "set style line". - Unlike line styles, redefinitions by `set linetype` are persistent; they - are not affected by `reset`. + Unlike line styles, redefinitions by `set linetype` are persistent. + They are not affected by `reset`. However the initial linetype properties + are restored by `reset session`. For example, whatever linetypes one and two look like to begin with, if you redefine them like this: @@ -13061,7 +13280,7 @@ Ffigure_multiple_keys See for example the map_projection demo. Example: - set mouse mouseformat "mouse x,y = %5.2g, %10.3f". + set mouse mouseformat "mouse x,y = %5.2g, %10.3f" Use `set mouse mouseformat ""` to turn this string off again. The following formats are available: @@ -13347,14 +13566,14 @@ Ffigure_multiple_keys Syntax: set mxtics time <N> {seconds|minutes|hours|days|weeks|months|years} - This is a new command option introduced in gnuplot version 5.5. + This is a new command option introduced in gnuplot version 6. It places minor tic marks exactly at some integral number of time units rather than at some fraction of the major tic interval. The new default is that minor tics are not generated if the major tics are in time mode (`set xdata time` or `set xtics time`). - `set mxtics` or `set mxtics <freq>` can restore the pre-version 5.5 behavior + `set mxtics` or `set mxtics <freq>` can restore the pre-version 6 behavior but this was always problematic. For example, automatic subdivision of a 72-year span placed major tics at 12-year intervals and minor tics at 5-year intervals. @@ -13474,11 +13693,11 @@ Ffigure_multiple_keys subsequent plots. You may define as many objects as you like. Currently the supported object types are `rectangle`, `circle`, `ellipse`, and `polygon`. Rectangles inherit a default set of style properties (fill, color, border) from - those set by the command `set style rectangle`, but each object can also be - given individual style properties. Circles, ellipses, and polygons inherit the - fill style from `set style fill`. Objects to be drawn in 2D plots may be - defined in any combination of axis, graph, polar, or screen coordinates. + those set by the command `set style rectangle`. Every object can be given + individual style properties when it is defined or in a later command. + Objects to be drawn in 2D plots may be defined in any combination of + axis, graph, polar, or screen coordinates. Object specifications in 3D plots cannot use graph coordinates. Rectangles and ellipses in 3D plots are limited to screen coordinates. @@ -13937,9 +14156,8 @@ Ffigure_palette2 Syntax: set palette defined { ( <gray1> <color1> {, <grayN> <colorN>}... ) } - <grayX> are gray values which are mapped to [0,1] and <colorX> are the - corresponding rgb colors. The color can be specified in three different - ways: + where N ≥ 2 and <grayN> are gray values which are mapped to [0,1]. + The corresponding rgb color <colorN> can be specified in three different ways: <color> := { <r> <g> <b> | '<color-name>' | '#rrggbb' } @@ -14043,11 +14261,12 @@ Ffigure_palette2 brightness (luminance). The colormap version used in gnuplot is based on "Viridis - Colorblind-Friendly Color Maps for R", Garnier et al (2021) https://CRAN.R-project.org/package=viridis +D viridis 1 4 colormap ?commands set palette colormap ?palette colormap `set palette colormap <name>` loads a defined gradient that was previously - saved to a colormap. Alpha channel information in the colormap, if any, + saved to a colormap. Alpha channel information in the colormap, if any, will be lost when the color values are copied into the palette definition. See `colormap`. 4 file @@ -14125,7 +14344,7 @@ Ffigure_palette2 ?commands set palette maxcolors ?set palette maxcolors ?palette maxcolors - `set palette maxcolors <N>` limits the palette to N discrete colors + `set palette maxcolors <N>` limits the palette to N discrete colors selected from a continuous palette sampled at equally spaced intervals. If you want unequal spacing of N discrete colors, use `set palette defined` instead of a single continuous palette. @@ -14309,11 +14528,22 @@ Ffigure_palette2 4 pixmap from colormap ?pixmap colormap ?set pixmap colormap - Another use of pixmaps is to create a colorbox for a named palette, - separate from the colorbox that is automatically generated for the active - main palette +?gradient + Syntax: + set pixmap <index> colormap <name> + +Ffigure_gradient + + Another use of pixmaps is to store a gradient described by a named palette. + This is an easy way to specify gradient fill for a rectangular area. + It could be used to draw a separate colorbox for that named palette, + or even as a background for the entire plot or the entire canvas. + set palette defined (0 "beige", 1 "light-cyan") + set colormap new Gradient + set pixmap 1 colormap Gradient behind + set pixmap 1 at screen 0,0 size screen 1,1 + plot <something> - set pixmap <index> colormap <name> at <position> size <width>, <height> 3 pm3d ?commands set pm3d ?commands show pm3d @@ -14466,23 +14696,22 @@ Ffigure_palette2 Example: set pm3d lighting primary 0.8 spec 0.4 spec2 0.4 set pm3d spot rgb "blue" +D spotlight 1 4 position ?pm3d position ?set pm3d position - Color surface can be drawn at the base or top (then it is a gray/color planar - map) or at z-coordinates of surface points (gray/color surface). This is - defined by the `at` option with a string of up to 6 combinations of `b`, `t` - and `s`. For instance, `at b` plots at bottom only, `at st` plots firstly - surface and then top map, while `at bstbst` will never by seriously used. - - Colored quadrangles are plotted one after another. When plotting surfaces - (`at s`), the later quadrangles overlap (overdraw) the previous ones. - (Gnuplot is not virtual reality tool to calculate intersections of filled - polygon meshes.) You may try to switch between `scansforward` and - `scansbackward` to force the first scan of the data to be plotted first or - last. The default is `scansautomatic` where gnuplot makes a guess about scans - order. On the other hand, the `depthorder` option completely reorders the - quadrangles. The rendering is performed after a depth sorting, which allows to + The pm3d colored surface can be drawn at the true z position of the surface + or projected onto the base plane or the top plane. This is controlled by + the `at` option with a string of up to 6 combinations of `b`, `t` and `s`. + For instance, `at b` plots at the bottom only, `at st` plots first at the + surface and then on the top plane, while `at bstbst` is unlikely to be useful. + + Colored quadrangles are plotted one after another. That means later + quadrangles can occlude or overlap the previous ones. You may try to switch + between `scansforward` and `scansbackward` to force the first scan of the data + to be plotted first or last. The default is `scansautomatic` where gnuplot + makes a guess about scans order. The `depthorder` option completely reorders + the quadrangles by sorting on the distance from the viewpoint. This allow to visualize even complicated surfaces; see `pm3d depthorder` for more details. 4 scanorder ?pm3d scanorder @@ -15069,9 +15298,8 @@ Ffigure_polar_grid ?unset style arrow ?show style arrow ?arrowstyle - Each terminal has a default set of arrow and point types, which can be seen - by using the command `test`. `set style arrow` defines a set of arrow types - and widths and point types and sizes so that you can refer to them later by + You can use `set style arrow` to define a set of arrow types. Each type has + its own width, point type, color, etc so that you can refer to them later by an index instead of repeating all the information at each invocation. Syntax: @@ -15709,10 +15937,11 @@ Ffigure_polar_grid This discussion applies only to the special plot style `with table`. To avoid any style-dependent processing of the input data being tabulated - (smoothing, errorbar expansion, secondary range checking, etc), or to increase - the number of columns that can be tabulated, use the keyword "table" instead of - a normal plot style. In this case the output does not contain an extra, last, - column of flags `i`, `o`, `u` indicated inrange/outrange/undefined. + (filters, smoothing, errorbar expansion, secondary range checking, etc), + or to increase the number of columns that can be tabulated, use the keyword + "table" instead of a normal plot style. + In this case the output does not contain an extra column containing a + flag `i`, `o`, `u` indicating inrange/outrange/undefined. The destination for output must first be specified with `set table <where>`. For example @@ -15737,8 +15966,7 @@ Ffigure_polar_grid [EXPERIMENTAL] To select only a subset of the data points for tabulation you can provide an input filter condition (`if <expression>`) at the end of the command. Note that the input filter may reference data columns that are not - part of the output. This feature may change substantially before appearing in - a released version of gnuplot. + part of the output. Details of this feature may change in a future version. plot <file> using 1:2:($4+$5) with table if (strcol(3) eq "Red") plot <file> using 1:2:($4+$5) with table if (10. < $1 && $1 < 100.) @@ -16063,7 +16291,7 @@ Ffigure_polar_grid If the %p format returns "am" or "AM", hour 12 will be interpreted as hour 0. If the %p format returns "pm" or "PM", hours < 12 will be increased by 12. - See also `set xdata` and `time/date` for more information. + See also `set xdata` `time/date` and `time_specifiers` for more information. Example: set timefmt "%d/%m/%Y\t%H:%M" @@ -16151,6 +16379,7 @@ Ffigure_polar_grid set ttics -180, 30, 180 set ttics add ("Theta = 0" 0) set ttics font ":Italic" rotate +D ttics 3 3 urange ?commands set urange ?commands show urange @@ -16469,7 +16698,7 @@ Ffigure_walls The same syntax applies to `ydata`, `zdata`, `x2data`, `y2data` and `cbdata`. The `time` option signals that data represents a time/date in seconds. - The current version of gnuplot stores time to millisecond precision. + Gnuplot version 6 stores time to millisecond precision. `set xdata` (with no `time` keyword) restores data interpretation to normal. 4 time @@ -16650,7 +16879,7 @@ Ffigure_walls The `reverse` option reverses the direction of an autoscaled axis. For example, if the data values range from 10 to 100, it will autoscale to the equivalent of set xrange [100:10]. The `reverse` flag has no effect if the axis is not - autoscaled. NB: This is a change introduced in version 4.7. + autoscaled. Autoscaling: If <min> (the same applies for correspondingly to <max>) is an asterisk "*" autoscaling is turned on. The range in which autoscaling @@ -17782,12 +18011,12 @@ Ffigure_sparsematrix column values. Note that matrix rows and columns are indexed starting from 0, so the row with index N is the (N+1)th row. Syntax: - plot 'file' every {<column_incr>} - {:{<row_incr>} - {:{<start_column>} - {:{<start_row>} - {:{<end_column>} - {:<end_row>}}}}} + plot 'file' matrix every {<column_incr>} + {:{<row_incr>} + {:{<start_column>} + {:{<start_row>} + {:{<end_column>} + {:<end_row>}}}}} Examples: plot 'file' matrix every :::N::N # plot all values in row with index N plot 'file' matrix every ::3::7 # plot columns 3 to 7 for all rows @@ -18250,6 +18479,7 @@ Ffigure_sparsematrix It also plots the apparent net intensity as calculated using NTSC coefficients to map RGB onto a grayscale. The command also loads the profile values into a datablock named $PALETTE. +D viridis 1 2 toggle ?commands toggle ?toggle @@ -18330,10 +18560,13 @@ Ffigure_sparsematrix 3 warnings ?unset warnings ?set warnings - Warning messages (non-fatal errors) are normally printed to stderr after + set warnings + unset warnings + + Warning messages for non-fatal errors are normally printed to stderr after echoing the command line that triggered the warning. - Warnings may be suppressed by the command `unset warnings`, and remain - suppressed until explicitly reenabled by `set warnings`. + Warnings may be suppressed by the command `unset warnings`. + They remain suppressed until explicitly reenabled by `set warnings`. 2 update ?commands update ?update diff --git a/docs/html/figure_missing.png b/docs/html/figure_missing.png deleted file mode 100644 index a00b1fef5..000000000 Binary files a/docs/html/figure_missing.png and /dev/null differ diff --git a/docs/html/gnuplot_docs.css b/docs/html/gnuplot_docs.css index 6e6772b85..38f8c8e28 100644 --- a/docs/html/gnuplot_docs.css +++ b/docs/html/gnuplot_docs.css @@ -68,6 +68,13 @@ H1 { text-align: center; } IMG { border-style: none; } + img.demo { + text-decoration: none; + border-style: none; + padding: 0px 0px 0px 0px; + height: 300px; + width: 450px; + } object.sidebar { diff --git a/docs/old/ChangeLog b/docs/old/ChangeLog deleted file mode 100644 index 15a85a6cc..000000000 --- a/docs/old/ChangeLog +++ /dev/null @@ -1,8065 +0,0 @@ -=============================================================================== -The gnuplot code base moved from cvs to git in November 2017. -Use "git log" to track development after that point. -=============================================================================== - -2018-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: Allow dgrid3d re-gridding to include palette color - information from a separate input data column, so long as the dgrid3d - option is not "splines". - -2018-08-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/linux.trm term/vgagl.trm term/linux-vgagl.trm: - Remove linux and vgagl terminals and configuration option - --with-linux-vga. Add a place holder linux-vgagl.trm that provides a - documentation section recommending yaft + sixel graphics as an - alternative way to run gnuplot from the linux console. - -2018-07-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/plot3d.c src/pm3d.c: Allow per-plot fillcolor - pm3d surfaces "splot ... with pm3d fillcolor <rgbvalue>". - -2018-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c src/color.c: Remove undocumented EXPERIMENTAL option - PM3D_CONTOURS. There are serious problems with the approach such - that it is probably no useful as a starting point for coding - solid-fill contours. - -2018-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/color.c src/color.h src/pm3d.c: - - Remove support for compile option EXTENDED_COLOR_SPECS. - This was used only by vgagl.trm but required maintaining a separate - code path for coloring pm3d quadrangles for all terminals. This - alternative code path did not know about new pm3d color options and - may no longer work at all. Removing the conditional code breaks - vgagl.trm, which can be fixed later. - -2018-06-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (draw_clip_arrow) term/lua.trm term/lua/gnuplot-tikz.lua - - Some terminals that provide a private term->arrow function were - adversely affected by addition of flag HEADS_ONLY in commit ad80fe530. - - This commit does two things. - 1) It teaches the tikz terminal about HEADS_ONLY so that the short - vector variant works correctly. - 2) The core routine draw_clip_arrow only uses the 2-step drawing process - for vectors that are short (for a rather ad hoc definition of "short"). - -2018-05-16 Miroslav Sulc <msulc@users.sourceforge.net> - - * src/misc.c: Support ARGC/ARGV parameter convention for "call". - I.e. string variables ARG1 ARG2 ... are also accessible as - ARGV[1] ARGV[2] ... ARGV[ARGC]. - -2018-04-28 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/term.h: ./configure --without-tektronix - to disable support for various 1970s/80s era terminal emulators. - Terminal types included (or not): - tek410x tek40 vttek xterm kc_tek40 km_tek40 selanar sixeltek bitgraph - Notes: - To actually include some of these it is also necessary to enable - the generic bitmap code: - ./configure --with-tektronix --with-bitmap-terminals - Unless for some reason you really need to communicate using tektronix - terminal graphics protocol, the prefered option is to use a terminal - emulator that supports the vt100 series sixel graphics protocol and - select the sixelgd terminal in gnuplot. You do not need the tektronix - terminal code for this. - -2018-04-16 Miroslav Sulc <msulc@users.sourceforge.net> - - * src/internal.c (f_div cmplx_divide): Avoid overflow during complex - division (actually all floating point division). - Use formula 5.4.5 from Numerical Recipes 2nd Edition to prevent - avoidable overflow, underflow, and/or loss of precision. - E.g. the result of 1.e200/1.e200 is 1.0 rather than NaN, and - 1/1.e200 is 1.e-200 rather than 0. - -2018-04-15 Miroslav Sulc <msulc@users.sourceforge.net> - - * src/eval.c src/specfun.c src/specfun.h: - - Add function besin(n,x), modified Bessel function of order n for - integer n. The code is based on that for iv(v, x) as implemented in - scipy (from numpy). Accuracy was tested by comparing output from - scipy and gnuplot. The underlying function iv(v,x) accepts fractional v - but does not converge well for non-integer values. Thus besin(n,x) - limits the domain to integer n. - -2018-04-06 Miroslav Sulc <msulc@users.sourceforge.net> - - * src/eval.c src/standard.c src/standard.h: - - Add functions besi0(x) besi1(x), modified Bessel functions of order - 0 and 1. The code is adapted from the cephes library - http://www.netlib.org/cephes/index.html - claimed accuracy is 6e-16 for besi0() 2e-15 for besi1() using - IEEE double precision floating point. - -2018-02-11 Marko Karjalainen <markokarjalainen@kolumbus.fi> - - * term/js/gnuplot_svg.js: Revise javascript support for mouse and - keyboard interaction with svg output - - Mouse: - left click toggle mouse tracking, drag plot - right click reset mouse zoom and pan - wheel zoom/unzoom - Keyboard: - arrows (event may be stolen by browser) - +/- zoom/unzoom - Home reset mouse zoom and pan - # toggle grid - - Keyboard events are not passed to elements included by <embed src=foo>. - Keyboard events must be forwarded separately to elements included by - <object data=foo>. - -2018-02-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: - The combination "set term svg mousing background 'black'" set the - background to white instead. - -2018-02-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c|h (main, WinOpenConsole) - term/caca.trm (CACA_init_display): Only try to set a console event - handler if a console is open. Otherwise the call would not succeed on - some Windows versions. - - * term/caca.trm: Re-evaluate the console's codepage on every plot. - - * term/caca.trm (CACA_text): libcaca seems to leave the Windows - console in wide character mode. This results in an extra space - printed with every character. We now explicitly reset text mode. - -2018-02-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/datablock.c|h: This patch splits lines containing - newline characters into multiple lines when the target of a print - command is a datablock. That way we can e.g. get a datablock with - names of files on Windows: - set print $d; print system("dir /a-d /b *"); unset print; - print |$d| - Patch #754 - -2018-01-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Always apply term->set_color(), including optional - alpha channel, to both strokeStyle and fillStyle. This allows the - canvas terminal to honor RGBA colors for points and lines as well as - for area fill. Other terminals got this fix way back in version 4.6. - This change does not affect the javascript support routines so there - should be no backward-compatability issues. - Bug #2013 - -2018-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.* src/internal.c src/plot.c src/set.c src/show.c - src/standard.c src/tables.* src/unset.c demo/overflow.dem: - - Overflow handling for 64-bit integer arithmetic - - Syntax: - set overflow {float | NaN | undefined} - unset overflow - - Gnuplot now supports 64-bit integer arithmetic. - This means that for values from 2^53 to 2^63 (roughly 10^16 to 10^19) - integer evaluation preserves more precision than evaluation using - IEEE 754 floating point arithmetic. However unlike the IEEE floating - point representation, which sacrifices precision to span a total range - of roughly [-10^307 : 10^307], integer operations that result in values - outside the range [-2^63 : 2^63] overflow. The 'set overflow' command - lets you control what happens in case of overflow. - - `set overflow` is the same as `set overflow float`. It causes the - result to be returned as a real number rather than as an integer. - This is the default. - - The command `unset overflow` causes integer arithmetic overflow to be - ignored. No error is shown. You may want this if your platform allows - only 32-bit integer arithmetic and you want to approximate the behaviour - of gnuplot versions prior to 5.3. - - The `reset` command does not affect the state of overflow handling. - - Earlier gnuplot versions were limited to 32-bit arithmetic and ignored - integer overflow. Note, however, that some built-in operators did not - use integer arithemetic at all, even when given integer arguments. This - included the exponentiation operator N**M and the summation operator - (see `summation`). These operations now return an integer value when - given integer arguments, making them potentially susceptible to overflow - and thus affected by the state of `set overflow`. - - set overflow float - ------------------ - If an integer arithmetic expression overflows the limiting range, - [-2^63 : 2^63] for 64-bit integers, the result is returned as a - floating point value instead. This is not treated as an error. - Example: - gnuplot> set overflow float - gnuplot> A = 2**62 - 1; print A, A+A, A+A+A - 4611686018427387903 9223372036854775806 1.38350580552822e+19 - - set overflow NaN - ---------------- - If an integer arithmetic expression overflows the limiting range, - [-2^63 : 2^63] for 64-bit integers, the result is returned as NaN - (Not a Number). This is not treated as an error. - Example: - gnuplot> set overflow NaN - gnuplot> print 10**18, 10**19 - 1000000000000000000 NaN - - set overflow undefined - ---------------------- - If an integer arithmetic expression overflows the limiting range, - [-2^63 : 2^63] for 64-bit integers, the result is undefined. - This is treated as an error. - -2018-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/datafile.c src/eval.* src/fit.c src/gp_types.h - src/internal.c src/misc.c src/parse.* src/save.c src/set.c src/show.c - src/standard.c src/stdfn.h src/syscfg.h src/util.c term/canvas.trm - term/svg.trm demo/int64.dem docs/gnuplot.doc: - - Add support for 64-bit integer arithmetic - - Add 64-bit integer support throughout gnuplot's internal expression - evaluation routines. All arithmetic and logical operations now use - 64-bit arithmetic if the platform supports it. INTGR variables are now - typedef intgr_t, which is either int64_t (if the platform supports it) - or int. - - Arithmetic operations on integers return INTGR if possible - (this is a CHANGE). E.g. The factorial operator returns an integer - when N! is sufficiently small (N <= 20 for 64-bit integers). - It returns a floating point approximation for larger values of N. - -2018-01-11 Ulrich Müller <udalricus@users.sf.net> - - * configure.ac src/term.h: Configuration option --with-regis - to include support for ReGIS terminal driver - -2018-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (xstrftime) internal.c (f_strftime): Protect against - buffer overflow from user-supplied time format string. E.g. - print time(0,"%100tH%D") - Bug #2009 - -2018-01-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/history.c: If ./configure --disable-history-file or - --without-readline then do not try to build the routine that reads a - history file. Whether --without-readline should really disable - history is another question, but that is a configuration issue not a - compile issue. - Bug #2008 - -2017-12-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.* src/graphics.c src/save.c src/set.c src/show.c - src/unset.c: New command "set clip radial" for polar plot with lines - - Radial clipping to the bounding circle of a polar plot still depends on - the existing criteria "set clip {one|two}". - set polar; set rrange [0:RMAX] - set clip two; set clip radial - plot $FOO with lines - If two successive points in $FOO are outside the bounding circle - (R > RMAX) a clipped portion of the line between them will be drawn. - If 'unset clip two' no portion of this line will be drawn. - - New routine draw_polar_clip_line() used for "plot ... with lines" - in polar mode. Other possible uses are polar plots with vectors, - impulses, polygons. - -2017-12-28 Rin Okuyama <rokuyama@rk.phys.keio.ac.jp> - - * configure.ac src/readline.* src/term.c src/qtterminal/qt_term.cpp - src/wxterminal/wxt_gui.* term/x11.trm: - Gnuplot does not suspend immediately by Control-z when it is configured - --with-readline=gnu; suspension is triggered by a subsequent input - character. - - When SIGTSTP is received, the signal handler of readline sets a flag - and just returns. Routines of readline check this flag to invoke the - real handler to suspend. Since we replace rl_getc_function by our own - routine to catch input from mouse, we should also check this flag to - invoke the real handler. Othewise, we cannot suspend until next time - routines of readline are used. - - Unfortunately, there is no portable ways to invoke the real handler of - readline at the moment. We need to use its internal routine. libreadline - will implement a public function for this purpose in a future release. - - EAM: Original patch included the wrapper code directly in x11.trm; - I moved it into a separate routine wrap_readline_signal_handler() - so that it can be shared by other gnuplot terminals. - Bug #2002 - -2017-12-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/Makefile.am config/mingw/Makefile config/msvc/Makefile: - Generation of the timestamp relied on the latest date in the ChangeLog. - This may no longer be correct. Instead, we now query git for the last - commit date. Only works for development builds from a git checkout, but - for release builds the date is hard-coded in src/version.c. - -2017-12-03 Bastian Maerkisch <bmaerkisch@web.de> - - * .gitattributes: ChangeLogs are prone to merge errors. The GNU tool - git-merge-changelog has been developed to avoid that and is likely - available in most distributions. Caveat is that git committers now - need it to be installed and configured, see e.g., - https://gnu.wildebeest.org/blog/mjw/2012/03/16/automagically-merging-changelog-files-with-mercurial-or-git/ - -2017-12-04 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm (CACA_text): Test for input redirection. Resolves - hang with slang/ncurses drivers in - gnuplot -e "load 'simple.dem'" < /bin/true - -2017-12-03 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm: Add an emacs type modeline. - -2017-11-25 Bastian Maerkisch <bmaerkisch@web.de> - - * .gitattributes src/os2/4allterm.cmd: Enforce EOL style or treatment - as binary for certain file types. - -2017-11-24 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm: The raw and null libcaca drivers don't do anything - useful for us. So don't include them in the list of available drivers - shown to the user. - - * term/caca.trm: Various range and null pointer checks to avoid - segfaults when using the raw and null drivers. Still these won't - produce any useful output. - - * term/caca.trm (CACA_init_display): On Windows, disable the - console's quick edit mode to directly enable mouse interaction. - - * term/caca.trm (CACA_process_events): Failed to change internal - canvas size on window resize. Bugfix. - - * term/caca.trm (CACA_waitforinput): Correct the check if the caca - driver window was closed. This bug would cause gnuplot to exit on - the first keypress after closing the window. - Bugfix. - - * term/caca.trm: Simple bold / italic font support. libcaca supports - theses attributes currently only for ncurses, html, html3, bbfr, and - troff. - -2017-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graphics.c src/graphics.h src/set.c demo/3DBox.dem: - Trial implementation and demo for grid walls. - - Each wall is a solid-fill areas that lies on the xy xz or yz plane in - a 3D plot. I.e. it is one side of the brick that bounds the plot volume. - Panels use neither pm3d nor hidden3d code. Instead they add a two-state - "layer" to polygon objects. For testing purposes this is activated by - "set object N polygon fb" - The intent should be clear from walls.dem. Spin the view around - and notice that the walls do not act like normal objects. - - The intent is to control the properties (color, etc) of each wall - using the new command - set wall {x0|y0|z0|x1|y1} {<various properties>} - As of this version all you can do is set/unset them - -2017-11-12 Dima Kogan <dima@secretsauce.net> - - * src/axis.c src/axis.h src/boundary.c src/gadgets.c src/gadgets.h - src/graph3d.c src/graph3d.h src/graphics.c src/util3d.c src/util3d.h: - - Series of patches to track vector endpoints, and 3D coordinates in - general, keeping a floating point representation of terminal coordinates - rather than integer. This keeps sufficient precision for very short - vectors that the arrowhead can be drawn accurately even as the length - approaches zero. The routine draw_clip_arrow() becomes the one and only - caller of term->arrow(). All 2D and 3D vectors and arrows use it. - -2017-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (do_clip_arrow) src/gadgets.h src/term.c src/term_api.h: - Don't misuse the bitfield t_arrow_style by treating it as an integer. - Instead add bitflags HEADS_ONLY SHAFT_ONLY. - -2017-11-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/pslatex.trm: The postscript terminals have had a - private routine PS_arrow that calls do_arrow() twice, once as-is and a - second time with linetype forced to solid. This was supposed to trigger - only if the terminal was in "dashed" mode, so that arrowheads were not - dashed. In version 5 the test doesn't work and so so the second call - was always made. Furthermore if the no-dashed-arrowheads restriction is - to be kept, all terminals need it. Remove PS_arrow() and shift the - postscript terminals back to using do_arrow(). - -2017-11-11 Hans-Bernhard Broeker <broeker@users.sourceforge.net> - - * prepare (AUTOMAKE): Remove permission fix-up commands, in favour - of letting git handle this. - * missing, config/djconfig.sh: Set permissions to executable. - -2017-11-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_logscale): If the axis is currently autoscaled and - the range limits still hold non-positive values from a previous state, - reset them to [0.1 : 10.]. - -2017-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua.trm term/lua/gnuplot-tikz.lua: Restore version information - (mangled during cvs->git conversion). - - * demo/gnuplot.rot: Use version 5 syntax for iteration - - * demo/label_stacked_histograms.dem: New demo from <theozh@gmail.com> - - * demo/all.dem: Call new demo, skip [slow-ish] animation by default. - -2017-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/getcolor.c src/getcolor.h src/save.c src/show.c src/tables.c - term/context.trm term/post.trm docs/gnuplot.doc demo/pm3dcolors.dem: - - Remove vestigial implementation of YIQ colorspace. - The YIQ colorspace option for "set palette" was incorrectly implemented - back in the mists of time. E.g. the parsing code enforces color - component range [0:1] but YIQ coefficients can be negative; syntax for - "set palette defined" is incompatible with negative values; YIQ_2_RGB - uses incorrect transformation matrix. No user interface to YIQ_2_RGB - was provided. Thanks to Isao MORI <orios814@users.sf.net> for pointing - out the various fundamental flaws. - -2017-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/contour.c src/contour.h src/graph3d.c src/save.c src/set.c - src/show.c src/unset.c docs/gnuplot.doc demo/custom_contours.dem: - - New options for customizing contour lines - set cntrparam {firstlinetype N} {{un}sorted} - The 'firstlinetype' option allows you to set linetype properties for - a block of linetypes, including dot-dash patterns, and then specify - that these customized linetypes be used to generate contour lines. - In this case you probably want to also use the other new keyword - 'sorted' because by default contour lines are not generated in - consistent ascending order. - Bugs #1603 #1612 - - * src/graph3d.c (do_3dplot): It could be that you want contour lines to - opt out of hidden3d processing, e.g. because it messes up dashed lines. - Since the low-level routines that draw the contour line segments look - only at the global "hidden3d" flag, we must save/clear/restore this flag - if the individual plot is marked "nohidden" (plot->opt_out_of_hidden3d). - -2017-11-06 Achim Gratz <Stromeko@nexgo.de> - - * configure.ac: The configury supposedly tried to find TEXDIR via - kpsexpand, but that code never gets run if $prefix is set. - -2017-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): `set log x; set xtics foo` would always place - the first axis tic at foo rather than at (foo / base^N) for suitable N. - - * src/graphics.c (plot_betweencurves): - plot 'foo with filledcurves below y=bar - would fail to identify "below" regions where the y value of the - start or end data point was exactly (foo[x] == bar). - Bug #1983 - -2017-11-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (ConsolePutS, ConsolePutCh): Use standard file IO - instead of Console API to enable word-wrapping on Windows 10 and to - allow for redirection of stdout/stderr. - Bug #1985 - -2017-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Raise the maximum number of relative moves before a - stroke so that a full circle as drawn by do_arc() does not glitch due - to insertion of a "stroke xx yy M" sequence that resets the dot/dash - pattern. - Bug #1987 - -2017-11-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c(eval_plots): Fix a regression. - Emply y range for logscale y errors out rather than auto-extending the - range with a warning. Extension can be handled by the same routine - used for linear axes. - Bug #1978 - -2017-11-02 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/gadgets.c: Remove obsolete comments and trivial - typos. Add documentation section for piped input data. - -2017-11-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (histogram_range_fiddling): For stacked histograms, - autoscaling did not distinguish between 'set xrange [*:*]' and - 'set xrange [explicit_min:*]', always resetting min to -1. - Bugfix - -2017-10-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (draw_clip_arrow): Do not call term->arrow() if the - entire arrow is out of range. - - * src/graphics.c (plot_vectors): The code for 2D "plot with vectors" - is redundant. Replace the core of it with a call to draw_clip_arrow(). - - * src/boundary.c (do_key_sample): Illustrate revision of a - draw_clip_arrow() call site to use (double) rather than (int) - parameters. The only reason for this is to allow draw_clip_arrow() - itself to switch to (double) parameters if we decide that is useful, - e.g. to handle arrows with length approaching zero. - -2017-10-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (pm3d_draw_one pm3d_plot): Move call of term->layer() with - TERM_LAYER_BEGIN_PM3D_MAP and TERM_LAYER_END_PM3D_MAP from pm3d_draw_one - to pm3d_plot in order to avoid insertion of line commands between the - %pm3d_map_begin and pm3d surface commands in the postscript file - which broke the pm3dCompress.awk and pm3dConvertToImage.awk scripts. - -2017-10-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): The start point for log-scale tic placement - could not lie outside the axis range (e.g. start at 1 for axis range - [5:50]). Remove this restriction. Still not perfect backwards - compatibility with log-scale tic placement in earlier versions. - -2017-10-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): The sample-generation code - failed to distinguish between nonlinear x2 (primary axis hidden) and - "set link x2 via f(x) inv g(x)" (primary axis x1). - Bug #1973 - - * src/graphics.h src/unset.c: We have an enum AXIS_INDEX. Use it. - (mostly to aid debugging; shouldn't affect code generation). - -2017-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (reconcile_linked_axes) src/axis.h src/plot2d.c: - gnuplot version 5.0 always tracked the autoscale range on the primary - axis (x1 or y1) of a linked pair, even if the data was actually plotted - on x2 or y2. In verison 5.2 we track the data range on x1 x2 y1 y2 - separately. This caused breakage wherever the program assumed the - autoscale range on x1 (or y1) was always current. Worse, it would - propagate that range onto the secondary axis, possibly overwriting the - correct range. Now we introduce a new routine reconcile_linked_axes() - that merges the min/max values from e.g. x1 and x2 so that the - autoscaled range covers input data plotted on either axis. - Bug #1973 - - * demo/linked_autoscale.dem: Exercise the new code (fails on previous - gnuplot versions). - -2017-10-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c: Move WEXITSTATUS fall-back definition away from here. - - * src/syscfg.h: Include <sys/wait.h>, if it exists. - (WEXITSTATUS): Provide fall-back definition, if none in - <sys/wait.h>. Move MS Windows specific replacement from command.c - to here. - - * configure.ac: Add call to AC_HEADER_SYS_WAIT - -2017-10-06 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Add helpfiles to "all" target, including - the japanese version. Remove helpfile from default target. - - * config/mingw/Makefile: Default to Mingw-w64 and Direct2D v1.1. - Note that building using Mingw32 currently does not work anyway - due to missing headers libraries for newer Windows APIs. - - * config/mingw/Makefile: Add a note that secure APIs are required - (pointed out by Allin Cottrell on the mailing list). - - * config/msvc/Makefile: Build and install support files for the - lua/tikz terminal. - - src/win/wgnuplot.mnu: Add menu items to edit gnuplot.ini and - wgnuplot.ini to 'Help' menu. - -2017-10-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: Enable color font support. This enables colored - emojis, which can be used e.g. as point symbols. Due to the default - font-fallback to "Segoe UI Emoji", this might lead to unexpected - results if a plot relied on non-colored character fallbacks. - -2017-10-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Report number of frames in completed animation sequence. - -2017-10-01 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c|h src/command.c: For wgnuplot, open or attach to a - console when executing system commands so we can its the output. That - in my option eliminates the last benefit of wgnuplot_pipes over - wgnuplot. Note that the process terminates if the new console is - closed, just as is the case with wgnuplot_pipes, but the console is - only opened when actually required. - -2017-09-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c (axis_set_scale_and_range): Incorrect use - of unsigned parameters caused terminal scaling to fail if the axis - range was inverted. The error was introduced by converting from a - macro to a subroutine in the run-up to 5.2. - - * src/gadgets.h src/graphics.c src/misc.c src/plot2d.c src/set.c - src/tables.h: Rework parsing and handling of filledcurve options. - - * src/command.c (array_command): Allow size of an array to be - determined automatically from the number of initializers. E.g. - array A = ["a","b","c"] - -2017-09-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: smoothing options csplines|acsplines|bezier|sbezier - failed to recheck inrange/outrange after smoothing. Example failure: - plot [0:4][4:0] '+' using 1:1 smooth bezier w lines - Bugfix - -2017-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics) docs/gnuplot.doc demo/nonlinear6.dem: - Revise documentation of "set xtics" to include examples and description - of logscale keyword. Restore pre-5.2 behaviour that for log-scaled axes - the increment in "set xtics {start,} incr {,end}" is interpreted as a - multiplicative factor rather than a constant interval. However this is - only true if the "logscale" attribute is set for axis tics. - New demo nonlinear6.dem exercises this feature and also shows the use of - "set tics rangelimit" with log-scaled axes. - Bug #1971 - - * src/interpol.c (mcs_interp): The previous implementation of monotonic - cubic splines did not guarantee that the original points were included - in the set of generated points used to draw the resulting curve. This - meant that the curve might not pass through all points. Now we merge - the original points with the set of evenly sampled points. - Thanks to K Antal for identifying and demonstrating the problem. - Patch/Bug #1972 - -2017-09-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_reset): Still trying to get this right. - -2017-09-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_reset): Revert change. - -2017-09-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_init cairotrm_reset): Valgrind complained - that calling cairo_destroy(plot.cr) on exit triggered multiple reads - of previously-freed data. It seems preferable to not call it on exit. - It does make sense to call it if the terminal has been closed and then - reopened. So we fix the ordering of code in cairotrm_init that - frees the old plot.cr before reinitializing a new one. - REVERT: This change caused some cairo installations to close pdf output - file without proper termination of the contents. - - * src/parse.c (parse_array_assignment): Memory leak. - - * src/interpol.c: Dead code. - - * src/Makefile.am: Fix recipe for building qt embed_example - -2017-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_columnhead df_set_key_title) src/datafile.h - src/eval.h src/parse.c (create_call_columnhead) src/parse.h - src/plot2d.h src/plot2d.c (reevaluate_plot_title) src/plot3d.c: - - Defer evaluation of "plot ... title <string-expression>" until after - data is read in. This is important mostly for the case where the plot - title contains text taken from a data column header. We can now drop - an imperfect workaround that initially stored the title as - @COLUMNHEADXXXX@ and then later replaced the placeholder text with - the real column header text. - Bug #1968 - - * demo/columnhead.dem demo/html/*: Add a demo for the new capability. - -2017-09-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (parse_label_options): Memory leak. - - * src/graph3d.c src/plot3d.c: Initialize to prevent compilere warnings. - -2017-09-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c: Starting in version 5, NaN and UNDEFINED - input data points count toward the total number of points read. This - caused the test for "no points read" to not terminate iterations of the - form "for [i=min:*] ..." on the first missing file or invalid spec. - To prevent runaway iteration we now test for "no INRANGE points read in". - - * src/datafile.c (f_columnhead): columnhead(N) invoked inside a using - specifier now returns the actual column header. - See Bug #1968 - -2017-09-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graph3d.c: The "title at {beg|end|<position>}" - options were originally intended as an alternative to the normal key, - so preservation of the key layout was not a concern. This patch allows - you to mix custom-placed titles with in-key titles in the same plot. - Bug #1967 - -2017-09-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graphics.h src/set.c src/tables.c src/tables.h - src/unset.c src/show.c src/save.c demo/image2.dem docs/gnuplot.doc: - The default interpretation of RGB color components on input is that - they are integer values in the range [0:255]. This matches the - content of PNG and JPEG files. Since the interpretation of RGB color - components has been decoupled from the palette range limits controlled - by "set cbrange", data using some other RGB convention must be - rescaled. This patch introduces a new command `set rgbmax`. - The primary use is so that data using the convention that color - components are floating point values in the range [0:1] can be - plotted using - set rgbmax 1.0; plot 'imagedata' with rgbimage - - * src/graphics.c (map_position_double): It is pointless to test for - logscale in the "else" clause of an "if" statement that handles - nonlinear axes. - -2017-09-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c( gen_tics ) src/axis.h( reorder_if_necessary ): - New macro to reorder the min/max of axis ranges (but could be used - elsewhere). If the mapping function of linked axes inverts the - axis direction, tics were not being generated because min > max. - E.g. set link x2 via 100-x inv 100-x; set x2tics; plot [50:40] x - - * src/axis.c (parse_range): Refactor parse_range() to handle - in-line ranges for linked or nonlinear axes. - Bug #1964 - - * src/graphics.c (plot_border) src/boundary.c (boundary): - Range-limited axes were not accounting for nonlinear or linked axes. - Space reserved for long axis tic labels made the same mistake. - Bug #1965 - -2017-09-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/datafile.c src/gp_time.h src/gp_types.h - src/internal.c src/time.c demo/timedat.dem docs/gnuplot.doc: - Gnuplot already supports relative time format specifiers %tH %tM %tS - for output via strftime() and in the time format for axis tic labels. - Now we add the same format specifiers as an option for input via - strptime(). They can also be used to read data fields containing - degrees/minutes/seconds. - -2017-09-04 Dima Kogan <dima@secretsauce.net> - - * src/axis.c (clone_linked_axes): When sanity checking the via/inverse - mapping functions for linked or nonlinear axes, adjust the allowable - difference by a scale factor related to the axis range. - - * configure.ac: Add $LIBRARIES_FOR_X to WX_LIBS so that it pickes - up -lX11 as required by wxgtk3 - -2017-09-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/tables.c src/tables.h src/unset.c src/util.c - src/util.h src/show.c: Developer-only command "set debug <val>" - intended to facilitate A/B testing of new code. Trial code can be - wrapped in a test such as - if (debug > 0) { execute trial code } - -2017-09-03 Daniel J Sebald <daniel.sebald@ieee.org> - - * configure.ac: Use AC_MSG_RESULT rather than AC_MSG_WARN to report - which Qt version will be used. - -2017-09-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (xstrftime): The variant format specs for time - %tH %tM did not behave as documented in that hours wrapped at 24 and - minutes at 60 if the decimal precision modifier was missing. - -2017-09-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (parse_range eval_link_function) docs/gnuplot.doc: - Attempt to handle the case of linked axes (x+x2 or y+y2) and an in-line - range specifier in the plot statement. This fix only addresses simple - cases, such as - set link x2; plot [x=min:max] something-using-x2 axes x2y1 - Recommend to use separate "set xrange ... set yrange ..." instead. - -2017-09-01 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (ConsoleHandler): Install the console handler - also for wgnuplot and wgnuplot_pipes. Avoids segfaults when closing - the wgnuplot_pipes console window or the caca terminal console window. - -2017-08-31 Martin Saturka <kvutza@users.sf.net> - - * src/mousecmn.h src/mouse.c: Bind the < and > keys to change the - current azimuth setting while mousing 3D plots. - (EAM) add an internal flag "Opt-" so that you can bind a hotkey for - which the Alt and Ctrl modifiers are optional rather than required. - -2017-08-28 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Fix target name of generated dependencies - for pipe and console targets. - -2017-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/graphics.c src/interpol.c src/plot2d.c - src/plot3d.c: Revise macro name STORE_WITH_LOG_AND_UPDATE_RANGE to - STORE_AND_UPDATE_RANGE since we no longer handle log scaling at the - time data is stored. Take this opportunity to remove an unused - parameter (OUT_ACTION) from the macro. Go back to using the same - macro for the COLOR_AXIS that we use for all other axes. - This is intended solely to make the code easier to understand; - there is no change in the code actually executed. - -2017-08-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (parametric_fixup): Consolidate redundant code blocks - handling the polar/cartesian paths through parametric function handling. - - * src/plot2d.c (store2d_point): Consolidate identical case statements - for BOXPLOT, BOXES. - -2017-08-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/grahics.c src/graphics.h (rgbscale) demo/image.dem: - Since cbrange is now decoupled from rgbimage, the image and image2 demos - need to change accordingly. Add a placeholder macro rgbscale(colorval) - that for now only enforces that color components are in [0:255] but - can later be replaced with an actual scaling routine. - -2017-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (process_image): Limit alpha channel range to [0:255] - in "with rgbalpha pixels". - - * src/axis.c src/datafile.c src/plot2d.c src/plot3d.c src/graphics.c - demo/sampling.dem docs/gnuplot.doc: - Allow explicit sampling interval in the range statements associated with - pseudofile '++' in both 2D and 3D. Example: - plot sample range [u=0:127][v=0:127] '++' using 1:2:(F(u,v)) with image - - * src/tabulate.c: Handle splot with rgbimage, rgbalpha - -2017-08-17 Dima Kogan <dima@secretsauce.net> - - * src/plot2d.c src/plot3d.c src/graphics.c (process_image): - Do not apply cbrange to rgbimage data. Do not use rgbimage range to - autoscale cbrange. For now this means that rgbimage color components - must be in the range [0:255], as they are for png, jpeg, etc. Later - we may add an autoscaling option for user-supplied color values. - - * term/x11.trm src/qtterminal/qt_term.cpp: - If the outboard driver cannot be started, point the user to - environmental variable GNUPLOT_DRIVER_DIR. - -2017-08-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): Expand leading ~ in filename for binary data - files just as for text files. - - * src/plot2d.c src/graph3d.c src/wxterminal/gp_cairo.c: Add harmless - initializations to silence compiler warnings. - -2017-08-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/msvc/Makefile: Eliminate the separate wrapper script for builds of - console mode gnuplot by passing the file appropriate extensions as - arguments to the script. - - * src/win/wgraph.c src/win/wgdiplus.cpp: We intend to scale line widths - with resolution when printing, but we got that wrong due to confusion of - constants. - - * src/win/wgraph.c (CopyPrint): Fix fallback from D2D to GDI+ for - printing. - -2017-08-12 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: "Recursive make considered harmful". Up - until now we tried to reduce the number of rules by using recursive - make for the three different targets "windows", "pipes" and "console". - That broke parallel builds of the "all" target because of multiple - attempts to build the same file due to insufficient dependency rules. - Instead of fixing this, we now follow the same concept as the - MSVC and OpenWatcom Makefiles and implement three set of rules and - avoid recursive make altogether. This also allows us to implement - separate automatic dependency rules. gnuplot scripts are now always - executed using console mode gnuplot in order to see their output. - - * config/config.oww: Update to version 5.3. In particular enable - boxed text and external functions and disable bitmap terminals by - default. - -2017-08-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (check_for_iteration): If some depth of a nested - iteration evaluates to an empty range, the evaluated limits of depths - below it are irrelevant and possibly invalid. Add a test to skip - evaluation at lower depthes in such a case. - Bug #1952 - -2017-08-10 Bastian Maerkisch <bmaerkisch@web.de> - - * config/msvc/Makefile: Handle empty lines in cl wrapper script. - jom dislikes changing the directory in a rule twice, so spawn - a subshell when required. Automatically generate timestamp.h for - development builds. - -2017-08-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/parse.c src/plot2d.c demo/iterate.dem: - Revise recursive iteration algorithm to address problems with empty - ranges in a nested iteration. Add support for dynamic reevaluation of - the string in nested ranges using "for [s in <string-expression>]". - Bug #1952 - -2017-08-09 Bastian Maerkisch <bmaerkisch@web.de> - - * config/msvc/Makefile: Automatically generate dependency rules. - Disabled by default since it slows down compilation. Enable with - DEPEND=1. - Patch #756 - - * config/msvc/Makefile: Improve compatibility with jom, the parallel - nmake like build utility, by adding a space after every backslash at - an end of line. Otherwise this would be treated as line continuation. - - * config/msvc/Makefile (zip): Distinguish 32/64 bit builds. - -2017-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c: Revert inadvertent change of 2017-03-31 - that failed to call update_gpval_variables in "set table" mode. - Bug #1954 - -2017-08-07 Martin Beranek - - * term/metapost.trm: Support for user-defined dashtypes. - -2017-08-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/stdfn.c|h src/win/wtext.c (ms_snprintf, ms_vsnprintf): - Starting with MSVC 2015 snprintf is finally C99 compliant. - -2017-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: "set key fixed" should be ignored in the case of - "set view map". - -2017-08-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c (set_table): Implement "append" option for datablocks. - Bug #1951 - - * src/win/wd2d.cpp (d2dCreatePatternBrush): Scale pattern with - desktop DPI if not using a D2D 1.1 DeviceContext. - -2017-08-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: Update FIXMEs, comments, remove typos, add - initialization to avoid compiler warning (false positive). - -2017-08-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/watcom/Makefile (WCFLAGS, WPPFLAGS): Drop -j option, - which turned plain char into signed. That makes no sense anymore, - now that we try to be 8-bit savvy. - -2017-08-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h: - Simplify the logic of macro ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE - -2017-08-03 Bastian Maerkisch <bmaerkisch@web.de> - - * config/watcom/Makefile: Avoid expanding macros when extending the - list of objects to build. - - * config/mingw/Makefile: Strip decorations when creating a 32bit - library by using the -k option of dlltool. Revert the incorrect - redirection change made on 2017-07-27. - Bug #1942 - -2017-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Separate code path for calculating image grid - coordinates for logscale axes is now redundant. - -2017-07-31 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/axis.c src/axis.h src/color.c src/command.c - src/mouse.c src/plot2d.c src/plot3d.c src/pm3d.c src/pm3d.h src/save.c - src/set.c src/stats.c src/tabulate.c src/unset.c src/util3d.c: - - Version 5.2 introduced support for non-linear axes and used it to - reimplement logscale. The new implementation was enabled by default but - could be disabled by ./configure --without-nonlinear-axes - Now we remove the option to disable it and remove the original version - of macros AXIS_DO_LOG() etc belonging to the old implementation. - The macros remain as no-ops but will be removed in later patches. - - * src/axis.c src/axis.h src/contour.c src/datafile.c src/eval.c - src/graph3d.c src/graphics.c src/interpol.c src/mouse.c src/plot2d.c - src/plot3d.c: Remove all instances of AXIS_LOG_VALUE AXIS_DELOG_VALUE - - * src/axis.c src/axis.h src/interpol.c src/mouse.c src/set.c: - Remove all instances of AXIS_DO_LOG and AXIS_UNDO_LOG - - * src/axis.c src/axis.h src/gadgets.c src/graphics.c src/interpol.c - src/plot2d.c: Remove all instances of axis_log_value axis_de_log_value - axis_do_log axis_undo_log - - * src/axis.h: Always optimize evaluation of logscale coordinates - - * src/axis.c: Remove code only used by old logscale implementation - - * src/axis.c src/axis.h src/datafile.c src/plot2d.c: - Replace old routine axis_unlog_interval() with a simpler check - check_log_limits() to ensure min/max of a logscaled axis are positive - - * src/axis.c src/axis.h src/plot2d.c src/plot3d.c: Replace - axis_revert_and_unlog_range() and axis_revert_range() with a single - routine axis_check_range(). This was the last of the *_unlog_* routines. - -2017-07-31 Bastian Maerkisch <bmaerkisch@web.de> - - * config/watcom/Makefile: Optionally build with GDI+ or Direct2D/ - DirectWrite. These libs are available at - https://sourceforge.net/p/gnuplot/patches/746/ - - * src/win/wgraph.c: Wrap a few more GDI-only code sections with tests - for USE_WINGDI. - - * src/win/wgnuplib.h (GW): Re-group fields. Separate GDI-only struct - members. - - * src/win/wd2d.cpp: Enable compilation with OpenWatcom, which is - missing __uuidof(). - - * src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp - (TEXTBOX_MARGINS): Adjust scaling of textbox margin to be more like - what the qt terminal does (ie. much smaller). - - * src/win/wd2d.cpp: Missing WINAPI call type for print ticket API. - - * src/win/wgraph.c (CopyPrint): Check return values of GDI print API - function calls. - -2017-07-31 Ethan A Merritt <merritt@u.washington.edu> - - * config/mingw/Makefile config/msvc/Makefile win/gnuplot.iss: - The pm3d and contrib subdirectories are no longer in the distribution - source, so they must not appear in the windows installer inventory. - - * src/Makefile.am (src/template.h): Remove dead file template.h - -2017-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_view): Switching from "setview equal xy[z]" to - "set view map" failed to clear the 3D aspect ratio flag, leading to - conflicting scale factors. Now we treat it as "set size ratio -1", - which is what the documentation says. - Bug #1948 - -2017-07-30 Bastian Maerkisch <bmaerkisch@web.de> - - * src/term.c (test_term): Disable extra space around textbox for size - comparison. - -2017-07-29 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile config/msvc/Makefile: Mingw-w64 and MSVC have - working popen/pclose implementations for GUI applications. So we use - them instead of our own "fake" pipe emulation. - Bug #1950 - - * src/win/winmain.c src/syscfg.h config/config.nt config/config.oww: - Unicode support for popen. - - * src/stdfn.c|h src/command.c src/win/wgdiplus.cpp src/win/wd2d.cpp - src/internal.c: Do not include windows.h in a header file and use the - WIN32_LEAN_AND_MEAN define to speed up compilation. - -2017-07-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_range): Allow to set range properties without - changing the range min/max. E.g. "set xrange noextend". - - * src/axis.h (autoscale_one_point) src/plot2d.c src/plot3d.c: - Refresh_bounds and refresh_3dbounds perform only a simplified version - of autoscaling. Consolidate this into a macro autoscale_one_point(). - Extend the simplified autoscaling to include both ends of a VECTOR plot. - Other cases remain where the simplified autoscale is insufficient. - Bug #1947 #1709 - -2017-07-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: Ignore non-numeric contents of potential dummy variables - x y t u v used during fit evaluation. - Bug #1949 - -2017-07-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: Resize the swap chain buffers instead of - recreating the swap chain when the window size changes. - - * src/win/wgraph.c term/win.trm: Default to Direct2D backend. - -2017-07-27 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * config/mingw/Makefile (prntvpt.def): Need to disable Win64 FS - redirection for 32bit builds. - Bug #1942 - -2017-07-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): Reject plot command if input and output - both use the same data block. Prevents memory corruption / segfault. - -2017-07-24 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile config/msvc/Makefile config/watcom/Makefile - config/config.mgw config/config.nt config/config.oww src/syscfg.h - src/command.c|h src/fit.c src/graph3d.c src/graphics.c src/mouse.c - src/plot.c src/plot2d.c src/plot3d.c src/show.c src/term.c|h - src/variable.c src/qtterminal/qt_term.cpp src/wxtterminal/gp_cairo.c - src/wxtterminal/wxt_gui.h term/caca.trm term/gd.trm term/wxt.trm - demo/gnuplot_plugin.h: Use only _WIN32 to test for Windows. This is - pre-defined by all supported compilers. Eliminate uses of WIN32 and - _Windows. - -2017-07-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c src/command.c src/plot2d.c src/util.c src/term.c src/show.c - src/save.c src/axis.c: - Remove dead code, out-of-date FIXMEs, comments, etc. - -2017-07-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: The code saving the previous "fit" command incorrectly - assumed that "fit" must be the first thing on the input line. This - is clearly not true, particularly when the command is inside a {} - bracketed clause since the entire clause acts as one long input line. - Bug #1946 - -2017-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open df_readascii expect_string) src/datafile.h - src/plot2d.c src/tabulate.c src/tabulate.h docs/gnuplot.doc: - Move code for "plot with table" into tabulate.c (tabulate_one_line). - Plot styles (e.g. "with labels") already call expect_string(column) to - signal that a particular input column is to be treated as a string. - Now we add special case so that "with table" can use expect_string(-1) - to signal that any column is treated as a string if its using specifier - evaluates to a string. This allows "plot ... with table" to create - tables containing strings and to use sprintf/gprintf to format - numerical output. - - * src/set.c (set_separator) src/show.c (show_table): New command option - set table {separator {comma|tab|whitespace|"<char>"}} - allows "plot with table" to create csv files. - - * src/plot2d.c src/tabulate.c src/tabulate.h: EXPERIMENTAL feature - (version in 5.3 is subject to change and may never appear in a released - version in this form). - plot ... with table if <expression> - where <expression> can access input data fields by column number, etc, - as if it were a using specification. Implemented only for "with table" - but the mechanism could just as easily work for other plot styles. - Example: - plot <file> using 1:2:($4+$5) with table if (strcol(3) eq "Red") - -2017-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c: Fix inconsistent handling of - "plot ... with table". E.g. "set style data table; plot foo" tried to - both plot and tabulate. Warn that function plots are not handled. - -2017-07-16 Ethan A Merritt <merritt@u.washington.edu> - - * config/config.cyg config/config.mgw config/config.nt config/config.os2 - config/config.oww configure.ac src/internal.c term/post.trm: - snprintf() is now required. Remove vestigial tests for HAVE_SNPRINTF. - -2017-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c term/canvas.trm term/emf.trm term/tkcanvas.trm - term/sixel.c src/time.c src/wxterminal/gp_cairo.c docs/doc2tex.c: - Do not use C++ style comments in C source files. - -2017-07-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (magnitude) src/standard.c(f_abs f_ceil f_floor): - src/internal.c (f_power): Use idiom fabs((double)i) rather than - (double)(abs(i)) so that i can be either a short or long integer. - Preparation for 64-bit int support. - -2017-07-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: Create an IDXGISurface instead of IDXGISurface1. - Bug #1941 - - * src/mingw/Makefile (clean): Remove prntvpt.lib|def as the lib has - has to be recreated for 32/64 bit builds. - Bug #1942 - -2017-07-11 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/win/wgraph.c (GraphGetBitmap): Correct mixed up order of - parameters for ReleaseDC(). - -2017-07-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp (SaveAsBitmap): Make sure that GDI+ is - initialized. Bug fix. - - * src/win/wgraph.c (TryCreateFont): Silence font substitution - warnings in GDI backend again. This is consistent with other backends - and less annoying. - - * src/win/wgraph.c src/win/wcommon.h src/win/wgdiplus.cpp - (SaveAsBitmap): Get a bitmap copy of the screen output with the help - of a new routine GraphGetBitmap() extracted from CopyClip(). Fix - for the D2d 1.1 case. - -2017-07-09 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Fix a few more oversights concerning the - allocation of a separate subwindow for the graph (2017-06-24). - -2017-07-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (test_term): Revise "test" command output. - - simplify rotated text and arrow section - - fix bug in "dumb" centering of polygon title - - compare true textbox area with generic estimated text dimensions. - -2017-07-07 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp|h src/win/wgnuplib.h src/win/wgraph.c - config/mingw/Makefile config/msvc/Makefile: - Direct2D printing support. Requires D2d 1.1 and hence Windows 7 - with platform update. Mingw-w64 currently misses the required - prntvpt library and header, so we supply minimal definitions - taken from MSDN inline and create a library from the DLL. - - * src/syscfg.h: Minimum required API version is Windows 7 by - default. Vista and XP are end-of-service. - -2017-07-07 Ethan A Merritt <merritt@u.washington.edu> - - * term/dumb.trm: Slightly nicer arrows. - -2017-07-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_boxed_text): Increase the textbox - y margin slightly to allow more space for descenders. - - * src/scanner.c (get_num): More robust parsing of really big integer - constants. E.g. "print 0x12345678901234567890" - Use strtod() rather than atof() so that the parser's position in the - input line is tracked. Also, do not assume that integers are - necessarily 32-bits. - - * src/util.c (gprintf_value) src/util.h src/internal.c: - gprintf() only takes a (double) parameter. The limits what can be - provided to format strings or 64-bit integers. Provide a new - variant gprintf_value() that instead takes a parameter (struct value *). - -2017-07-05 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/qtterminal/QtGnuplotScene.cpp: Qt::Align{Foo} are bit - definitions, not integers. Therefore tests should be of the form - (alignment & Qt::AlignRight) rather than (alignment == Qt::AlignRight). - -2017-07-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (set_term init_terminal) src/unset.c (unset_terminal) - docs/gnuplot.doc: - On entry, copy environmental variable GNUTERM to internal variable - GNUTERM. Note that starting with version 5.2 this is a string that - may include terminal options in addition to the terminal name. E.g. - GNUTERM="post eps color size 5in,3in" - Modify "set term <string>" to look only at the first word of <string>. - Thus "set term GNUTERM" works as before. Note that "set term @GNUTERM" - expands and applies the full set of options. - Fix "unset term" to act equivalently to "set term GNUTERM" as - documented. - - * src/eval.c (set_gpval_axis_sth_double): Remove unused parameter. - - * configure.ac docs/Makefile.am term/caca.trm: - Add caca terminal documentation to the user manual. Fix segfault on - "set term caca driver raw". - -2017-07-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c src/win/wgdiplus.cpp - src/win/wd2d.cpp: Use a common definition of GWOPMAX and increase - to accommodate e.g. typical pm3d plots. - -2017-07-03 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm: Cannot use docked graph windows in persist mode as - the text window will not be shown. - - * src/internal.c: Windows time() implementation with sub-second - resolution. - - * src/win/wgdiplus.cpp: Switching the compositing mode to take the - gamma factor into account for filled polygons not only slows down - drawing considerably, but also produces output different from - other terminals or windows back-ends. So stop doing that. Also - scale the linewidth when drawing anti-aliased polygons. Bug fix. - -2017-07-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_raxis): Raxis was being truncated to R=0. - I.e. set rrange [90:-30] lost the final quarter of the axis. - Bug #1370 - -2017-07-01 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/doc2texi.el: Support for bulleted lists. - - * docs/term-ja.diff docs/gnuplot-ja.doc: Sync with gnuplot.doc 1.1092 - - * docs/gnuplot.doc: Typos in new Bessel function section. - -2017-06-30 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: Fix center of rotation for enhanced text. Snap - textbox coordinates to full pixels for vertical or horizontal - orientation. - -2017-06-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Unbreak hypertext tooltips. Oversight in the - change on 2017-06-24. - -2017-06-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm (CANVAS_mouse_param) term/svg.trm (svg_mouse_param): - Make these subroutines rather than macros. Eases abstraction to support - 64-bit integer values. - -2017-06-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: Respect the antialiasing setting. Always clear - the polygon render target to avoid "ghost" images and enforce its - size in pixels. - - * src/win/wd2d.cpp: Direct2D implementation of pattern fill using a - bitmap brush. This eliminates the last GDI/GDI+ fallback, so we - no longer aim to be compatible. - - * src/win/wd2d.cpp: Instead of converting between pixel units and - so-called device-independent-pixels (DIPs) all the time, we now force - the two units to be the same. For the DCRenderTarget this was always - the case, for the HwndRenderTarget this is done by forcing the - (internal) resolution to 96dpi, and the DeviceContext supports the - SetUnit() call. Partially reverts the changes made on 2017-06-18. - - * config/mingw/Makefile config/msvc/Makefile src/win/wd2d.cpp|h: - Optionally use Direct2D 1.1 and a DeviceContext as RenderTarget, - which is available starting from Windows 7 with Platform Update and - requires to link to Direct3D 11.1. Otherwise default to using a - DCRenderTarget. - -2017-06-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/dumb.trm: Core routine apply_lp_properties looks to see whether - the current terminal lacks color support by testing the equivalence - (term->set_color == null_set_color). Thus introduction of a non-NULL - dumb_set_color() routine to support color output had the side-effect of - losing the distinction between line types without color. Fix this by - only listing dumb_set_color() in TERM_TABLE when color mode is active. - Bug fix. - -2017-06-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp: We still need to indicate that text can be - rotated. Bug fix. - - * src/win/wd2d.cpp: Do not abort drawing if an error is encountered. - Add a few more error checks. - - * src/win/wd2d.cpp src/win/wgnuplib.h: Add code for using a - DeviceContext as RenderTarget. Requires Direct2D 1.1 which is - available starting from Windows 7 with Platform Update. Requires - to link to the Direct3D 11.1 library d3d11.lib. Not yet enabled - by default. - - * src/win/wgraph.c src/win/wgnuplib.h src/win/wd2d.cpp|h wcommon.h: - src/win/wgnuplib.h: Allocate a separate subwindow for the graph - instead of handling the drawing within the parent window. This makes - the HwndRenderTarget (mostly) functional. - - * src/win/wd2d.cpp: Change the type of some parameters from bool to - BOOL to avoid warnings. - -2017-06-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h: The dot needs not to be included in the number - of different point types for cycling through. Bug introduced on - 2017-05-13. - -2017-06-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/standard.h src/standard.c src/eval.c docs/gnuplot.doc: - Use Bessel functions j0, j1, jn, y0, y1, yn from libm if present. - These replace the hard-coded implementations besj0, besj1, besy0, besy1 - in standard.c. The old versions are still present if needed. - Add wrappers besjn(i, X) besyn(i, X). - The hard-coded implementations claimed accuracy to 1.e-13. - The libm implementations claim accuracy to 2.e-16. - -2017-06-20 Ethan A Merritt <merritt@u.washington.edu> - - Bump version number of development branch to 5.3 - -2017-06-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (save_fit) src/util.h src/util.c (num_to_str): - save_fit() is the only external caller of num_to_str(). - Call value_to_str() instead and make num_to_str() local to util.c. - - * src/internal.c (f_index): Repair memory leak when a datablock - is accessed as $DATABLOCK[index]. - -2017-06-18 Bastian Maerkisch <bmaerkisch@web.de> - - Prepare use of HwndRenderTargets instead of a DCRenderTarget. This is a - first step to support printing etc. also with the new Direct2D backend. - - * src/win/wd2d.cpp: Direct2D uses coordinates in "device-independent- - pixels" (DIPs). For a DCRenderTarget these are identical to pixels, - but for other rendering targets we need to take a conversion factor - into account. Fixes drawing with the HwndRenderTarget. - - * src/win/wd2d.cpp|h (d2dInit) src/win/wgnuplib.h src/win/wgraph.c: - Create a new HwndRenderTarget for every graph window. The - DCRenderTarget can be shared. - -2017-06-17 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wgnuplib.h: Remove the doublebuffer - setting. It is always enabled. - - * src/win/wgraph.c src/win/wgdiplus.cpp src/win/wd2d.cpp - src/win/wgnuplib.h: Remove remnants of the old oversampling code. - -2017-06-15 Ethan A Merritt <merritt@u.washington.edu> - - More corner-case failures found by fuzzing the demo set. - - * term/dumb.trm: terminal character grid y limit was not checked prior - to printing text with color+utf8 attributes. - - * src/command.c (print_set_output): Fix failure to reset flag indicating - output to a datablock. E.g. "set print $T; set print '-'; show print" - - * src/graphics.c: Sanity check for well-defined coordinates at the - corners of an image. Variable initialization to make compiler happy. - -2017-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Normalize handling of terminal option "fontscale" to - match other terminals. Remove obsolete keyword "fsize". - - * src/axis.c (eval_link_function): Executing the general case nonlinear - mapping functions via a dynamically interpreting action table is slower - than in-line evaluation. In the special case of log-scaled axes we can - short circuit the general case evaluation by an immediate call to the - log or exp function. This more than recovers the execution speed of - pre-version 5 logscale code. log-intensive benchmark timings: - version 4.6.6: 42.7u 42.7 total - version 5.1 generic: 57.5u 66.2 total (why extra system time?) - version 5.1 optimized: 42.1u 42.4 total - - * src/axis.c (gen_tics) src/contour.c (contour) src/plot2d.c (eval_plots) - src/set.c (load_tic_series) term/emf.trm term/write_png_image.c: - Explicitly initialize some variables indicated as suspect by compiler - option -Wuninitialized. The one in set.c can cause a real fault; - the others look like false positives to me but I am not 100% certain. - Bug #1933 - -2017-06-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp: When compiled with D2DDEBUG defined, enable the - Direct2D debug layer. - - * src/win/winmain.c (WinExit): Missing cleanup of Direct2D resources. - -2017-06-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp: Cleartype text antialiasing seems to be only - applied to horizontal text. Use grayscale antialiasing for rotated - text. - - * src/win/wgdiplus.cpp (InitFont_gdiplus): Fix double application of - fontscale. - - * src/win/wgraph.c (WriteGraphIni): Only save window size and position - for standalone graph windows. - - * src/win/wd2d.cpp (W_line_width): Enforce a minimum line width of 1 - pixel to avoid tiny dash patterns for grids in polar plots. - -2017-06-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (gprintf): Sanity check for NULL format - - * src/datafile.c (df_open): Sanity check to catch "plot '+' binary ..." - - * src/plot2d.c (eval_plots): image plots cannot use '+' as input - - * src/gadgets.c (do_timelable): Previously we modified timelabel.text - in place and then restored it afterwards. If the routine exited via - int_error, the restore never happened. Fix: make a use-once copy of - timelabel and print that instead. - - * src/hidden3d.c (build_networks): Empirical fix for array overrun - faults found by fuzzing data fed to '-'. I don't understand the true - general case that fails but ignoring input curves with "length <= 1" - fixes the cases found by fuzzing. I worry there could be legitimate - cases that this filter also catches although I haven't found one. - - * src/axis.c (clone_linked_axis): Sanity check that inverse mapping - function does not yield NaN at axis range endpoints. - - * src/graphics.c (process_image): Sanity check for empty image data - structure. - -2017-06-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (show_version): Remove obsolete configuration options - from the list shown by "show version long". - -2017-06-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_border): Autoscaled rrange should not disable - polar border. Polar border should not be clipped to xy border. - -2017-06-07 Bastian Maerkisch <bmaerkisch@web.de> - - * config/msvc/Makefile: Enable Unicode build. Add missing user32.lib - for gnuplot_qt. - -2017-06-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Make the inclusion of the GDI variant of the - windows terminal depend on the preprocessor define USE_WINGDI. - Disabled by default. - -2017-06-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/datablock.c src/datablock.h src/internal.c - src/parse.c src/util.c: Extend array syntax to named datablocks. - |$DATABLOCK| gives the number of lines in the block. - $DATABLOCK[n] returns line n as a string. - - * demo/stringvar.dem: Use the new syntax to avoid creating a temporary - file during execution of the demo. - - * src/graphics.h src/graphics.c src/graph3d.c: The 2D routine - attach_title_to_plot() can be shared by the 3D code in order to support - "splot ... with lines title at {beg|end}". - -2017-06-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/util.c (gprintf): Do not use LaTeX formatting in tabular output. - Bug #1931 - -2017-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/plot.c src/term.c (load_linetype): - A 2017-04-10 patch re-ordered initialization to (1) error handling, - (2) session state, (3) default terminal. This had the effect that a - command in ~/.gnuplot that queried terminal state could segfault - because the terminal had not yet been initialized. Now we reorder again - to (1) error handling (2) terminal (3) session state from ~/.gnuplot. - For safety also add sanity checks in load_linetype() so that - term == NULL does not segfault. - - * src/datafile.c src/datafile.h src/plot2d.c docs/gnuplot.doc: - The "thru" command, deprecated since version 4.0, is now removed - completely. - - * src/command.c src/fit.c docs/gnuplot.doc: - The "update" command, deprecated since 5.0, is now removed completely. - Clarify that "[un]set clabel" is deprecated. - -2017-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/qt.trm term/wxt.trm term/x11.trm term/xlib.trm - Makefile.am TODO BUGS docs/gnuplot.doc: "set term" output now indicates - which terminals are interactive. Extra distribution files updated in - parallel with 5.2 release. - -2017-05-30 (Debian /debian-science/packages/gnuplot.git/) - - * term/post.trm: Do not emit Author field containing current username. - -2017-05-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (GraphEnd): Let the gnuplot core know the current - window ID. - -2017-05-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): The Windows code waits - for the named pipe internally used by the QLocalSocket object. But in - some cases the Qt object itself will not provide new data. Handle - that case by Sleep()ing to release the CPU instead of idling rapidly. - Bug fix. - -2017-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.h: Reenable dxf terminal in default build. Apparently it is - still usable despite having been neglected for ~30 years. Nevertheless - it would be nice if someone put in the effort to update it to the 2012 - DXF standard. - -2017-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 5.2 (cvs tag -b branch-5-2-stable) - - The main development branch (this one) remains 5.1 for now but will have - its version number bumped to 5.3 when 5.2 is released later this year. - - >>> NOTE <<< - - Starting now - ============ - - * Bugfixes for code already in place should be applied both to the main - branch (this one) and to the stable branch (branch-5-2-stable). - - * Major new features and experimental changes belong here, not in the - stable branch. They will appear eventually in release 5.4. - - * Minor new features can go in both branches at your discretion, but - remember that the stable branch should ideally never break. - That means new code should be tested here in the development branch - first and only after testing be added or back-ported for 5.2. - -2017-05-21 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Various trivial tweaks to improve the layout and - formatting of pdf documentation . Revised text for sampling,raise/lower, - and pseudo-files '+' and '++. - -2017-05-21 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm src/win/wgraph.c src/win/wgdiplus.cpp - src/win/wd2d.cpp src/win/wgnuplib.h: - Pointscale option for the windows terminal. - -2017-05-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (ConsoleHandler) src/plot.c|h (terminate_flag) - src/readline.c (readline): Add an event handler to catch "close" - signals to console mode gnuplot on Windows. These events are passed - on to the main thread to terminate cleanly. - Bugs #1916, #1917, #1918 - -2017-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/fit.c src/fit.h src/tables.c src/tables.h - docs/gnuplot.doc: Deprecate command "update" in favor of new command - "save fit <filename>". "update" will remain in version 5.2 for backward - compatability but will eventually go away altogether. - -2017-05-19 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/faq-ja.tex docs/gnuplot-ja.doc: - Sync Japanese documentation to doc version 1.1080 - -2017-05-18 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc - term/ai.trm term/corel.trm term/djsvga.trm term/dxf.trm term/dxy.trm - term/emxvga.trm term/epson.trm term/excl.trm term/ggi.trm term/grass.trm - term/hp500c.trm term/hpljii.trm term/hppj.trm term/mif.trm term/pbm.trm - term/pc.trm term/regis.trm term/vws.trm: - Flag bitmap and legacy terminals in the documentation. - - * src/term.h: Remove legacy terminals from the default build. - corel (postscript variant of CorelDraw format circa 1995) - dxf (Autocad DWGR10 format circa 1988) - - * docs/README docs/doc2tex.c: New markup ^#TeX in gnuplot.doc signals - that the rest of the line is a LaTeX command to be passed through - verbatim to the *.tex output stream. Ignored by other doc2foo paths. - - * docs/gnuplot.doc docs/plotstyles.gnu: Add figure for "with vectors". - -2017-05-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: typos, missing section for "set mttics". - - * docs/doc2rtf.c docs/doc2texi.el: Support for bulleted lists. - -2017-05-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c: Allow "bind 'shift-Button1' 'something'". - Previously the shift key was ignored. - -2017-05-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (MakeFonts): Revert accidental change made in - revision 1.247. - - * src/win/wgraph.c (MakeFonts): Handle empty type face name (GDI). - Bug #1860 - -2017-05-14 Ethan A Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in src/fit.c: Suppress creation of fit log file - during "make check". - -2017-05-14 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/windows/doc2html.c: Support bulleted lists at top level - (i.e. not in a table). - - * src/term.c (do_arc): Remove hack for the windows terminal which was - meant to fix the drawing of circles, but broke it. Note that there are - similar cases in the code (ellipses) where a hack like this is actually - necessary. Further investigations required. - Bug #1880 - - * term/win.trm: Update windows terminal help text to current status. - - * docs/gnuplot.doc: Add a few more items to the section describing new - features. - - * src/win/wgraph.c: Use radio buttons to indicate the current backend - selection. - -2017-05-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c src/win/wgdiplus.cpp - src/win/wd2d.cpp: Replace defines for commands and point symbol types - by enums. - -2017-05-12 Ethan A Merritt <merritt@u.washington.edu> - - * docs/doc2tex.c docs/doc2gih.c: Support bulleted lists at top level - (i.e. not in a table). - - * NEWS docs/gnuplot.doc: Revise the section describing new features. - -2017-05-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wd2d.cpp|h: Reorganize initialisation of - the Direct2D backend to correctly init font related terminal properties. - - * src/win/wd2d.cpp (d2dSetFont): Missing init of indicator that text - can be rotated. - - * src/win/wgraph.c (WM_SIZE): Track canvas (and window) size. - - * src/win/wd2d.cpp (D2DCOLORREF): Replace macro by an inline function. - -2017-05-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/set.c term/cairo.trm term/post.trm: - In order to scale up an existing plot uniformly, e.g. for printing - a poster-size PostScript or PDF file, it is convenient to be able to - give the scale factor in the "set term" command. We already offer - "set termoption {linewidth <factor>} {fontscale <factor>}". This patch - adds "set termoption {pointscale <factor>}" to scale up pointsize. - -2017-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c: Add some DEBUG_* variables to help diagnose problems on - other people's machines. - - * src/show.c src/variable.h: All of the *_handler(ACTION, PARAM) calls - are hidden by macros defined in variable.h except for ACTION_SHOW. - Wrap these calls in a macro also. - -2017-05-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Fix incorrect initialization of axis width/height. - Bug #1925 - -2017-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (backup_file) demo/fit.dem docs/gnuplot.doc: - The "update" command has not worked exactly as documented since - version 4.something. Revise the documentation and the support code. - Remove pointless use of "update" from the fit demo. - - * docs/gnuplot.doc demo/cerf.dem demo/complex_trig.dem - demo/heatmaps.dem demo/pm3d_lighting.dem demo/rgb_variable.dem: - Update demos in accordance with the recent change to have '++' sample - on u and v rather than x and y. - -2017-04-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp: Graphics::MeasureString did not take trailing - spaces into account. Bug fix. - -2017-04-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (do_system): Report return code of (_w)system() - also on Windows. - -2017-04-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/command.c (report_error): Dummy up WEXITSTATUS(ierr) as a no-op - for _WIN32. - -2017-04-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wd2d.cpp|h src/win/wgraph.c src/win/wgdiplus.cpp|h - src/win/wgnuplib.h src/win/winmain.c src/win/wresourc.h - term/win.trm config/mingw/Makefile config/msvc/Makefile - config/config.nt config/config.mgw: - - New windows terminal backend which uses Direct2D and DirectWrite - instead of GDI+ or GDI. It uses graphic card acceleration and is hence - typically much faster. DirectWrite offers a much superior text - rendering quality in particular for rotated text. The terminal is - feature-complete for drawing to the screen. Printing, copying to - clipboard and saving of EMF fall back to the GDI+ code. Pattern - fill is still implemented using GDI+ and is slow. As of now, this code - is considered experimental. - - * src/win/wgraph.c src/win/wcommon.h (draw_image): Make static. - - * src/win/wgraph.c src/win/wgdiplus.cpp: Off-by-one error in - mapping of graph coordinates. - - * src/win/wgdiplus.cpp (SetFont_gdiplus): Fix memory leak and - simplify a bit. - - * src/win/wgdiplus.cpp: Use a compatible bitmap for cached - point symbols. Eliminates artifacts on some systems. - -2017-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (do_system do_system_func report_error) src/eval.c - docs/gnuplot.doc: - - Introduce new user-visible variables GPVAL_SYSTEM_ERRNO and - GPVAL_SYSTEM_ERRMSG that hold the status returned by - system "some command" - ! "some command" - foo = system("some command") - foo = "`some command`" - -2017-04-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp: Correct calculation of vertical drawing position. - Corrects differences between position of point symbols and error bars. - -2017-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.cpp (gp_cairo_boxed_text): Scale linewidth of - textbox border by the current terminal linewidth setting. - Bug #1825 - - * src/gadgets.h src/gadgets.c src/save.c src/set.c docs/gnuplot.doc: - Add a "linewidth" property to the textbox style. - -2017-04-19 Bastian Maerkisch <bmaerkisch@web.de> - - * configure.ac docs/Makefile.am: Some systems allow for parallel - installation of different lua versions (e.g. Ubuntu). We already use - pkg-config to test for "lua" and "lua5.1" packages. This patch extends - that mechanism to lua5.2 and lua5.3. Change the name of the lua - executable used to build the docs of the gnuplot lua terminal - accordingly. - Patch #750 - - * src/win/wgdiplus.cpp (drawgraph_gdiplus): Use generic string format - to determine string extent. Bug fix. - - * term/caca.trm: Eliminate compiler warnings. - -2017-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_objects): Error messages from placement of - circles and ellipses were misleadingly refering to "rect N" instead - of "object N". - - * src/graph3d.c (map3d_position_r): Placement of generic objects in - "set view map" mode should not fail just because the z coordinate is - non-positive and z is log-scaled. The projection only uses x and y. - - * src/parse.h src/parse.c src/misc.c (parse_fillstyle): New utility - routine is_function(token) for convenience in parsing. - - * src/graph3d.c (draw_3d_graphbox): Clipping area was not maintained - across this routine, causing object clipping in "set view map" to fail. - -2017-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c docs/gnuplot.doc demo/armillary.dem: - Allow polar (cylindrical) coordinates for circles in 3D plots. - -2017-04-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (update_gpval_variables): New exported variables giving - screen coordinates of the 3D plot axial center and radius of the - enclosing sphere. GPVAL_VIEW_XCENT GPVAL_VIEW_YCENT GPVAL_VIEW_RADIUS. - - * src/graphics.c (place_objects): Allow placement and size of circles - in 3D plot to use axis coordinates (used to only allow screen coords). - As in 2D, the radius of the circle is always scaled to match the x axis - and the circle itself is always drawn in the plane of the figure. - - * demo/armillary.dem docs/gnuplot.doc: Document and provide example - for use of axis coordinates to place circles in 3D. - - * demo/Makefile.am.in: Place quotes around $(GNUTERM) so that multi-word - definitions do not gum up "make check". - - * src/plot.c src/term.c: Defer detection of initial terminal type until - after error handling has been set up. This allows us to parse GNUTERM - for terminal options in additional to the bare terminal name. - E.g. GNUTERM="wxt size 500,500" - -2017-04-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (save_command): Don't use loadpath to choose an - output directory. - -2017-04-02 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/eval.c (update_gpval_variables): Sanity check the string - stored in GPVAL_PWD. However if the current directoty is invalid - GPVAL_PWD still contains the previous string. - - * src/command.c (pwd_command): Sanity check the validity of the - current working directory. - -2017-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c term/qt.trm src/qtterminal/qt_term.cpp - src/qtterminal/QtGnuplotWindow.cpp: The qt terminal assumed that - "space-raises-console" would be implemented in the core code. - But it never was. Instead on non-MSWin platforms hitting <space> - in the qt window generates a mouse protocol error. - Document that "space-raises-console" is only for MSWin, and have - other platforms treat it like any other key. - - * configure.ac src/gplt_x11.c src/wxterminal/wxt_gui.cpp: - The code chunk in gplt_x11.c that supports space-raises-console for the - KDE3 konsole was giving compiler warnings. Rather than fiddle with code - used by almost no one (it doesn't work under KDE4 or KDE5), - make KDE3+DCOP support a build-time option: - ./configure --with-x --with-x-dcop - -2017-04-01 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/plot.c (main): Exit with error if dropping privilege fails. - -2017-03-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.h src/plot3d.c src/datafile.c: Add a slot in the plot - structure to track a 2nd named sampling variable, e.g. - splot [u=1:5][v=1:5] '++' using (u):(v):(u*sin(v)) - - * src/plot2d.c src/plot3d.c: Extend the sampling range parsing to - track named sampling variables for 2D sampling '++' as well as 1D - sampling '+'. Minor cosmetic modifications to the 2D and 3D code to - make it more obviously parallel. - - * demo/sampling.dem: Add example of named sampling ranges in 3D. - - * src/graph3d.c (do_3dplot): "set xyplane at 0; set log z; splot..." => - no plot drawn. Change this so that "at 0" for logscale z is treated as - "xyplane at <Z-axis min>". - Bugfix. - -2017-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE) - src/axis.c (update_primary_axis_range) src/plot2d.c src/plot3d.c - src/datafile.c (df_generate_pseudodata): - - The nonlinear axis code as originally introduced tracked data min/max - in the primary (i.e. linear) axis structure. That was unnecessarily - complicated since it required a coordinate transformation to update the - range every time a point was stored. Also since the current range - stored in the visible axis structure was not always up-to-date, some - autoscaling operations during plot layout could fail. - Now we change this to track data min/max in the secondary (i.e. visible) - axis coordinate system. At the end of data input and function evaluation - we call new routine update_primary_axis() just once per nonlinear axis - to transfer the min/max values to the primary axis structure as well. - - * demo/sampling.dem: Unit tests for some of the failures addressed - by this set of changes and a couple that have not been fixed yet. - - * src/axis.h src/plot2d.c: The macro ACTUAL_STORE_WITH_LOG_... - no longer needs a special case parameter for the color axis. - -2017-03-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): Use axes u and v to sample - pseudofile "++" rather than axes x and y. This allows for sampling - ranges that are distinct from the plot axis range, as was already true - for sampling "+". The downside of this change is that we don't - currently support nonlinear sampling on u or v, so it doesn't work as - well when plotting logscale x or y. - - * src/plot2d.c (plotrequest): Initialize state of u and v axes. - -2017-03-20 Jeremy Green <jeremyrgreen@users.sf.net> - - * src/graphics.c (plot_betweencurves): Revised algorithm for filling - the area between two curves. Rather than filling adjacent segments - one by one, trace the outline of the entire filled area. - This avoids artifacts at the boundaries between segments. - -2017-03-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graphics.c (plot_border): Range-limited y2 axis was - drawn in the wrong direction (top-to-bottom rather than bottom-to-top). - If the top plot border was drawn also, this resulted in a spurious - diagonal line across the plot. - Bug #1921 - -2017-03-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/interpol.h src/interpol.c src/plot2d.c docs/gnuplot.doc: - Clean up code, documentation, and demos for the 'bins' option. - - document the algorithm for choosing bins - - binrange defaults to min/max of current data set (not axis range) - - trap degenerate case of all points UNDEFINED - - new option binwidth=<width>. Now you can either determine binwidth - from range + nbins, or nbins from range + binwidth - - * src/plot2d.c src/tables.c: "smooth bins" is the same as "bins". - - * src/set.c (set_table): The "set table <filename>" command was not - doing tilde expansion on filename. - - * src/datafile.c (df_open): If the previous plot command plotted from - an array by name, try to retrieve that array by name for a subsequent - plot that uses the special filename '' or "". E.g. - plot Array with lines, '' with impulses - - * configure.ac: enable/disable comment for stats command was reversed - -2017-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_impulses) docs/gnuplot.doc: Apply the x offset - created by "set jitter" to 2D plots with impulses. - -2017-03-10 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Restore EXPERIMENTAL warning to documentation for - the "bins" plotting option (it had been removed 2017-02-19). We may - consider changing the interpretation of binrange [min:max] to be more - consistent with R, so warning that "implementation details may change - before inclusion in a stable release" is appropriate. - -2017-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Do not enforce cbrange validity if the - palette is unused by this plot. Prevents spurious error from "set log" - with default cbrange. - Bug #1920 - -2017-03-05 Ethan A Merritt <merritt@u.washington.edu> - - Deal with various corner-case failures found by fuzzing the demo set. - - * src/hidden3d.c (build_networks): A degenerate polygon can fall all - the way through the classification loop, leaving the flag value -2 as - the polygon number which is then used as an array index. Oops. - - * term/dumb.trm (DUMB_options): Sanity check terminal size. - - * src/plot2d.c (eval_plots): Dummy variable must not be an array. - E.g. array t[10]; set dummy t; plot t - - * src/plot2d.c (get_data): Defer initialization of parallel plot data - structures so that it catches both "set style data parallel" and - "with parallel". Example failure case: - set style data parallel; plot 'silver.dat' using 1:2:3 lc var - - * src/plot2d.c (eval_plots): Recently added stringent tests on axis - scaling caused "plot with table" to fail because the y axis range is - undefined. Skip the tests for this plot style. - -2017-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (plot_command splot_command) src/gplt_x11.c - src/qtterminal/QtGnuplotScene.cpp src/wxterminal/wxt_gui.cpp: - - The toggle status of all plots (plot visible or hidden) was being reset - in the terminal driver on every clear() event. This caused the toggle - state to be lost when the plot was rotated/panned and on refresh/replot. - Now we do away with the automatic reset in the terminal drivers. - Instead we send term->modify_plots(MODPLOTS_SET_VISIBLE, -1) as part of - the plot and splot commands. - -2017-02-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/wxterminal/wxt_gui.cpp: Rename static int yield to avoid - name conflict on Solaris 10. - Bug #1914 - -2017-02-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/stdfn.c: Clarify warning message for abnormal exit. - Bug #1913 - -2017-02-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/interpol.c (do_cubic) docs/gnuplot.doc: Document that smooth - options (splines and bezier variants) are sensitive to blank lines and - undefined values in the input data. Curves are fit separately to each - uninterrupted subset of the original data. Curve segments that are - entirely out of range on x are now ignored rather than triggering a - error message. - Bug #1911 - -2017-02-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/term.c (term_initialise): Revise the test for output of binary - data to the wgnuplot text window by checking if the terminal actually - writes to output. Fixes caca output to a console window in wgnuplot. - Bug #1912 - - * demo/borders.dem demo/boxclusters.dem demo/boxplot.dem - demo/circles.dem demo/ellipse.dem demo/ellipses_style.dem - demo/histograms.dem demo/histograms2.dem demo/matrix_every.dem - demo/mgr.dem demo/molecule.dem demo/orbits.dem demo/parallel.dem - demo/probably_tux.dem demo/solar_path.dem demo/special_chars.dem - demo/stats.dem demo/ttics.dem demo/world2.dem: - End all demos with 'pause -1; reset'. Set encoding to utf8 when - required. - -2017-02-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.h src/plot2d.c src/interpol.c: Remove the EXPERIMENTAL - warning and conditional compilation for "smooth bins". - - * src/datafile.c (df_readbinary) src/plot2d.c (get_data): - Version 5 intentionally returns input data with a flag UNDEFINED rather - than skipping the point altogether. Unfortunately the binary data input - path failed to clear/initialize/set-to-NaN the value returned from - function evaluation during binary data input. Now we explicitly set NaN - in additional to returning DF_UNDEFINED. - This fix is incomplete because store2d_point() later overwrites the - UNDEFINED flag, which is almost certainly the wrong thing to do. - Bug #1911 - - * term/svg.trm: Default to embedding generated images rather than - creating and linking to separate *.png files. - Bug #1801 - -2017-02-17 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_mouse.js term/js/gnuplot_svg.js - term/svg.trm: Mousing support for "set theta <origin> <sense>". - -2017-02-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: When hidden3d mode is set, two linetypes are reserved - for each plot (front and back surface). This is not necessary if both - the front and the back use the same linetype ('set hidden3d nooffset'), - so if the linetype offset is zero then reserve only one linetype. - -2017-02-16 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/plotstyles.gnu: On Windows, use "Tahoma" instead of "Times" - "Times New Roman". The former is not available and the later does not - provide the characters required by the 2nd "with labels" plot. Scale - down fontsizes to better fit the size of the plots. - -2017-02-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c src/hidden3d.c: Arrowhead properties were being applied as - each plot was set up. This doesn't work in hidden3d mode because arrows - from multiple plots are sorted jointly and drawn later. Arrowhead style - must be applied separatedly for each arrow. - Bug #1492 - -2017-02-15 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.oww config/watcom/Makefile src/win/winmain.c: - Enable fake pipes for OpenWatcom. Here the system() function requires - the command string to include the shell and wide character variant - _wsystem() does not seem to work. - - * src/win/wgraph.c: Fix initialization of the graph window struct when - switching from standalone to docked mode and a previous window was open. - - * config/mingw/Makefile: New variable CWFLAGS for warning flags to be - put last in CFLAGS in order to overwrite e.g. -Wall. - - * config/mingw/Makefile: New target "7z" which is similar to the "zip" - target but outputs a 7-zip packed binary package. - -2017-02-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/graphics.c src/save.c src/set.c src/show.c - src/tables.c src/tables.h src/unset.c src/mouse.c src/boundary.c - docs/gnuplot.doc demo/ttics.dem demo/solar_path.dem: - - New command - set theta {right|top|left|bottom} - set theta {clockwise|cw|counterclockwise|ccw} - - controls layout of polar mode plots by specifying where to place the - origin (theta=0) of the angular coordinate and its sense of rotation. - The default remains "right" and "counterclockwise". - -2017-02-10 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/qtterminal/qt_term.cpp term/aquaterm.trm: - Make the the "set term ... linewidth" option more like other terminals. - -2017-02-09 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * configure.ac: Require glib version >= 2.28 - (because src/wxterminal/gp_cairo.c now uses the g_clear_object macro) - -2017-02-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm term/qt.trm src/qtterminal/qt_term.cpp term/wxt.trm: - Add "linewidth <lw>" to the list of options accepted for "set term" or - "set termoption". - - * configure.in term/qt.trm: Qt4 info only printed for Qt4 build. - Bug #1905 - -2017-02-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (build_networks): Hidden3d structures were not - correctly initialized for "splot with dots". - Bug #1904 - - * src/boundary.c src/graph3d.c: Use the shared routine write_label() - to handle the key title. - -2017-02-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Limit the scope of a sample variable to the plot - command it is used in. I.e. restore value of t after execution of - plot sample [t=0:10] '+' using (f(t)):(g(t)) - Bug #1755 - -2017-02-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.h src/parse.c src/util.c src/command.c docs/gnuplot.doc: - Limit the scope of an iteration variable to the command or clause being - iterated. I.e. after execution of an iteration "for [N=1:10]" N retains - whatever value it had prior to the iteration, possibly NOTDEFINED. - For iterated plot and set statements this is robust against errors. - However an error exit from inside a "do for [foo = ] {}" clause may - leave foo with some intermediate value. - Bug #1891 - -2017-02-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Zero out each command string as it is freed. - I am not sure this fixes a reported use-after-free segmentation error - but it can't hurt. - Bug #1866 - -2017-02-01 kh.moriyama <cheongsamkh@yahoo.co.jp> - - * src/axis.c src/axis.h src/gadgets.c src/gadgets.h src/graphics.c - src/graphics.h src/misc.c src/save.c src/set.c src/term_api.h - docs/gnuplot.doc: New keyword "pointnumber|pn" to limit the total - number of point symbols that lie along a plot "with linespoints". - Similar to "pointinterval" except that the resulting spacing between - point symbols does not depend on the total number of data points. - -2017-02-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_points) src/gadgets.c src/gadgets.h: - Apply pointinterval property to splot with linespoints. - - * src/hidden3d.c: Apply pointinterval property in hidden3d mode also. - -2017-01-29 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.oww: The OpenWatcom v2 fork has erf and erfc. - - * src/win/wmenu.c: Revise the patch dated 2017-01-25 so it does not - break non-UNICODE builds. - - * src/stdfn.c|h src/misc.c config/config.mgw: Always use our own - Windows version of opendir and friends as they handle encodings. - Bugfix. - - * src/stdfn.c src/syscfg.h src/util.c src/win/wmenu.c: Only include - direct.h where required. Remove a few unnecessary includes. - - * src/win/mingw/Makefile: Optionally use pkg-config to use gdlib. - Required with recent updates of MSYS2/Mingw-w64 - -2017-01-28 Bastian Maerkisch <bmaerkisch@web.de> - - * src/stdfn.c|h (gp_getcwd): New function for Windows which is aware - of the current internal encoding. Bugfix. - -2017-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_determine_matrix_info): Check and report error - return from fseek, which cannot work if the input stream is a pipe. - Now you get: "seek error in binary input stream - Illegal seek" instead - of the non-informative "File doesn't factorize into full matrix". - Bug #1901 - -2017-01-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp config/config.oww config/watcom/Makefile: - Enable build with OpenWatcom and GDI+. See Patch #746. - - * src/win/wprinter.c: Add missing calling convention. - -2017-01-24 Stefan Althoefer <stefan-alth@users.sourceforge.net> - - * term/js/gnuplot_mouse.js: Improved placement of hypertext and - mouse-click output. Fix multiline hypertext. - -2017-01-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/svg.trm term/js/gnuplot_mouse.js - term/js/gnuplot_svg.js: Mouse support for inverted r axis. - -2017-01-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (SaveAsEMF): Default to EMF+ format when using the - GDI+ backend. - - * src/win/wgraph.c (CopyClip): Only attempt to set clipboard data if - the bitmap/metafile handle is valid. Emit an error message otherwise. - - * src/win/wgdiplus.cpp (clipboard_gdiplus): Retrieving the handle to - the metafile requires releasing the graphics object first. Fixes - copying EMF data to clipboard. - - * src/win/wgdiplus.cpp (clipboard_gdiplus, metafile_gdiplus): - Explicitly set the size of the metafile. - - * src/set.c (set_degreesign): Remove special Windows code since we - cannot rely on the locale on this platform. Fixes degree sign for - UTF-8 encoding. - -2017-01-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: Do not write postscript comments in output stream - to cairolatex terminal. - Bug #1898 - - * src/axis.h src/graphics.c: Fix type mismatch in numeric comparison - (clang generates an error or warning). - -2017-01-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (parse_label_options): Save label z value into its point - colorspec as well as its text colorspec - Bug #1897 - -2017-01-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c src/win/win/wmenu.c - src/win/wtext.c: Fix string formats and messages in several places to - make non-Unicode builds work again. - - * src/win/wprinter.c: Fix compiler warnings. - -2017-01-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_dollar f_column df_readascii): - Version 5 was supposed to do away with differences between data read - by 'plot ... using N' and 'plot ... using ($N)'. It turns out that was - not true with regard to missing data. If the "missing" flag is present - in the data then 'using N' catches it but 'using ($N)' does not. - The problem is that ($N) and (column(N)) and "header_of_N" all invoke - expression evaluation, which has had no mechanism to indicate a missing - value on return rather than NaN. This patch overloads the imaginary - slot of a complex NaN value to hold DF_MISSING rather than 0.0 on return - from f_dollar() and f_column() as appropriate. For convenience the body - of f_dollar() is replaced by a pass-through to f_column() so that both - routines behave the same way. - Bug #1896 - - * src/plot2d.c (get_data) src/set.c src/show.c docs/gnuplot.doc: - The fix for bug #1896 did not address the case where a missing value is - encountered during evaluation of an expression. E.g. 'using ($1+$2)' - when there is missing data in either column 1 or 2 will evaluate to NaN. - This patch adds an additional option 'set datafile missing NaN' that - tells gnuplot to treat NaN data values as missing rather than invalid. - Based on patch #725 (Christoph Bersch) - -2017-01-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp (gdiplusCreatePen): Remove now unused static - function. - -2017-01-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_linetype): Save and show commands were failing to - list linecolor for lines that were originally specified as "lt -1". - - * src/graphics.c (plot_border draw_polar_circle) src/set.c src/show.c: - New command "set border polar" draws a circle with radius matching the - highest tic position on the r axis. - -2017-01-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Wrap polar grid radial lines in terminal notification - TERM_LAYER_{BEGIN|END}_GRID - -2017-01-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/gadgets.h src/graphics.c src/save.c src/graph3d.c - docs/gnuplot.doc: New keyword `polar` to specify position. This allows - labels, arrows, and objects to be placed in 2D plots using polar - coordinates and in 3D plots using cylindrical coordinates. - -2017-01-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/boundary.c src/plot2d.c src/plot2d.h: - Continue consolidation of polar to cartesian coordinate conversion. - This patch fixes various problems with logscale r axis tic placement. - It adds a filter to categorically reject points with negative r value - if the raxis is logscaled. - -2017-01-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/unset.c (unset_polar): "reset" needs to free data structures and - rotation for ttics. - -2017-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c src/set.c src/show.c src/tables.c src/tables.h src/unset.c - src/boundary.c src/plot2d.c src/plot2d.h docs/gnuplot.doc: - New command "set rlabel" places an axis label above the raxis. The label - is printed whether or not the program is currently in polar mode. - Keywords for offset, font, etc as for the other axis label commands. - - * src/axis.c src/gadgets.c src/gadgets.h src/graphics.c src/mouse.c - src/plot2d.c src/set.c docs/gnuplot.doc: Support inverted r axis range. - rrange must be linear and have fixed max/min (no autoscaling). - Bug #1880 - - Allows use of polar mode to display a projection of celestial horizontal - coordinates (altitude + azimuth) with the zenith (altitude 90) at the - center and the horizon (altitude 0) at the perimeter. Theta represents - the azimuthal angle. - - * demo/solar_path.dem demo/solar_params.dem demo/all.dem: - Use inverted rrange to display solar path at a specific latitude in - celestial horizontal coordinates. - -2017-01-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics) unset.c (unset_polar): Allow placement of tics - and tic labels along THETA (set ttics) using angles outside the fixed - range [0:360]. Handle auto-generated tic at 360 as a special case and - omit it if there is already a tic at 0. - - * src/boundary.c src/graphics.c (ttick_callback place_grid): Reserve - sufficient space for THETA tic labels at the top and bottom of plot. - ttic labels should not toggle on/off with the grid. - Bug #1892 - - * src/set.c (parse_plot_title) src/plot2d.c (attach_title_to_plot): - Accept keywords {left|right} to control text justification of a plot - title positioned at the beginning or end of a plotted line. E.g. - plot FOO ... with lines title "Foo" at end {left|right} - - * src/plot2d.c (polar_to_xy): - Rename theta_r_to_x_y() to polar_to_xy() and add parameter TBOOLEAN update - TRUE - do range-checking against rrange and update limits if autoscaling - FALSE - convert theta;r to x;y with no range checking or update - This patch moves the range checking done at each original site into the - shared routine. The original range checks were not identical so it is - possible that consolidation breaks something. In particular the call - from parametric_fixup() originally updated rrange based on fabs(r) - rather than r. If necessary we can replicate this using two - successive calls to polar_to_xy(). - - * src/plot2d.c (polar_to_xy): - Mapping negative numbers onto a polar plot with (R_AXIS.min != 0) - was giving incorrect placement. This patch catches and corrects most of - the bad cases. Examples that were bad before this patch: - set polar; set grid polar; set rrange [1:5]; plot -2, 3 - (note that the "-2" circle was drawn outside the "3" circle - load 'ttics.dem'; set rrange [1:6]; replot - (weird displacement of -t curve) - Some corner cases may remain (e.g. nonlinear R with nonzero min) - Bug #1892 - -2017-01-07 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/win/wgraph.c (UpdateStatusLine): Re-order code to support MSVC - 2010 (and OpenWatcom). - -2017-01-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wcommon.h src/win/wgnuplib.c|h src/win/wgraph.c src/win/wmenu.c - src/win/wtext.c term/win.trm docs/gnuplot.doc: - Graph windows can be docked to the wgnuplot text window with - `set term win docked`. Multiple graph windows can be docked at the same - time and their layout can be changed with the new `layout <rows>,<cols>` - option. The fraction of the window which is reserved for text input - can changed by moving a separator bar with the mouse and via wgnuplot.ini. - This is useful in particular for Windows in "tablet mode" which only - displays one maximised window at the time. - Patch #711 - -2017-01-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Remove dead code for polar axis tics. - - * src/plot2d.c (theta_r_to_x_y): Consolodate polar->cartesian input - coordinate conversion into calls to a new routine theta_r_to_x_y(). - - * src/graphics.c src/unset.c demo/ttics.dem docs/gnuplot.doc: - Allow rotation of polar grid (theta) tic labels by "set ttics rotate". - Extend the fixed range of theta axis so that the user can label from - -180 -> 180 rather than 0 -> 360. - -2017-01-04 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/stringvar.dem: Add platform specific code for Windows. - - * src/term.c (term_initialise): Disable output of binary data to the - wgnuplot text window. - - * src/win/winmain.c (WinRaiseConsole): Raise pause message box instead - of the text window during pause. - -2017-01-03 Ethan A Merritt <merritt@u.washington.edu> - - * demo/smooth_splines.dem demo/errorbars.dem demo/all.dem demo/html/*: - Split mgr.dem into two parts, one illustrating the various spline - smoothing options and the other showing various 2D plot styles - with errorbars. - - * docs/gnuplot.doc: Clarify the meaning of the binary file keyword - "transpose". Provide index entries for all binary file keywords. - -2017-01-02 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * term/aquaterm.trm (ENHAQUA_put_text): aquaterm was ignoring - ignore_enhanced_text; i.e. you could not bypass enhanced text - processing. - -2017-01-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_power): Use ISOC99 macro fpclassify(), if present, - to detect floating underflow from evaluating X**Y. Return 0.0 rather - than UNDEFINED. - Bug #1877 - - * src/specfun.c (f_normal): Values of x < -38 cause floating underflow - in the calculation of norm(x). Return 0.0 rather than UNDEFINED. - See bug #1877 - - * src/save.c src/save.h src/show.c: Consolidate save/show axis format. - Fix minor bug in "show auto" (2D reports 3D status and vice versa). - -2017-01-01 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/QtGnuplotWindow (print): QPrinterDialog requires - a parent on Windows. Set a generic document name. Disable page - range option in print dialog. - -2016-12-31 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Fix incorrect determination for - drawing to a metafile which caused point symbols to be drawn as - a bitmap. - -2016-12-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c: Do not allow the axis range on polar axis R to invert. - Bug #1880 - -2016-12-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/tables.c src/tables.h: - Define new axis THETA_AXIS to hold tic definitions for labeled angles - on perimeter of polar grid. - - * src/graphics.c (ttick_callback) src/save.c src/set.c src/show.c - src/unset.c: Support for "set ttics" "set mttics" and placement of - labeled angles on perimeter of polar grid. - - * demo/ttics.dem docs/gnuplot.doc docs/plotstyles.gnu: - Demo and documentation for "set ttics". - -2016-12-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wmenu.c src/win/wgnuplot.mnu: Show text for toolbar icons - as tooltips, which can be a bit more descriptive. - -2016-12-24 Vicente Olivert Riera <Vincent.Riera@imgtec.com> - - * configure.ac: Keep track of gdlib-config path found during configure. - * Makefile.am: Remove vestigial reference to LISPDIR. - -2016-12-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c: Convert save tic/mtics routine to use axis pointers. - -2016-12-23 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/qtterminal/QtGnuplotScene.cpp: Draw zoombox coordinates in front - of everything else. - -2016-12-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c src/set.c: Repair a few places where axis_array[index].foo - was not replaced with axis->foo. - -2016-12-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/boundary.c src/graphics.c src/set.c - src/unset.c: More tweaks of the raxis/polar grid code. Allow polar - grid even in cartesian axis mode. - -2016-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (some_grid_selected gen_tics) src/unset.c set.c (set_grid) - src/graphics.c (place_grid xtick2d_callback ytick2d_callback) src/save.c - src/boundary.c: Cleaner separation of control over polar grid elements - and rectangular grid components. Each can be set or cleared independent - of the others, e.g. "set grid r" will give you circles about the origin - even in a non-polar plot. Sanity checking of polar_grid_angle, the - spacing between radial lines in a polar grid. - Bug #1888 - -2016-12-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (bad_axis_range): Don't include a test (max-min == 0) in - the bad_axis_range() checks. One of the primary callers is - axis_checked_extend_empty_range, which is perfectly happy to expand an - initially empty range. - - * src/wxterminal/gp_cairo.c: Valgrind found some use-after-free - problems with cairo object accounting. Replace g_object_unref() with - g_clear_object() everywhere. This is a macro that decrements object - reference count and clears the pointer when the count hits zero. - Clear the pointer in-line for pango_attr_list_unref(). - Bug #1886 - -2016-12-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (bad_axis_range): Even more paranoid checks to protect - against corrupted axis range state (Inf/-Inf) found by fuzzing. - Introduce new routine bad_axis_range(). - - * src/plot2d.c: Fuzz-testing found a crash from trying to adjust the - range of a boxplot containing no points. - - * src/pm3d.c: The combination 'set pm3d depthorder interpolate N,M' - was not correctly tracking memory allocation. - Bug #1884 - -2016-12-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (axis_check_empty_nonlinear) src/axis.h src/plot3d.c: - New routine analogous to the existing axis_checked_extend_empty_range - except that it applies to nonlinear axes. This is a bug fix to prevent - a crash after axis range corruption. - Example of bug: set log; splot $FOO using 1:2:(NaN) - - * src/axis.c (axis_check_empty_nonlinear) src/axis.h src/plot3d.c: - Additional sanity check on axis range after nonlinear transform. - -2016-12-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c: Fix incorrect vertical placement of multi-line - x2 axis tick labels. The calculated y coordinate must describe the - bottom line of the label, not the top line. - Bug #1882 - - * src/axis.c (set_explicit_range) src/axis.h: New routine called from - apply_zoom() to change the range of one axis directly instead of - constructing and interpreting a "set [axis]range [newmin:newmax]" - command string. This prevents loss of precision in the axis coordinates - that can occur if there is an intermediate ascii representation for the - range limits. - Bugs #1881 #1882 - - * src/mouse.c (apply_zoom): Call new routine set_explicit_range() - rather than constructing an executable "set range" command string. - Bugs #1881 #1882 - - * src/mouse.c (rescale rescale_around_mouse): Zoom in response to - mousing hotkeys +/- must take into account nonlinear axes. - Nonlinear axes part 20 - Bug #1883 - -2016-12-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/util.c (strappend): Fix insufficient memory allocation. - -2016-12-07 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu: Update filledcurves to include - an example of representing error on y as a shaded region of uncertainty. - -2016-12-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Revert problematic patch 2016-11-29 affecting order - of grid drawing. Work-around for the bug it fixed: 'set border behind' - - * src/show.c: Separate "show xyplane" from "show tics". - - * src/unset.c: "reset" should return border_layer to "front" - -2016-12-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Co-opt the existing "animate" keyword for use by the new - sixelgd terminal. It sets the cursor position at the top left of the - terminal before each plot so that successive plots overwrite the same - screen area rather than scrolling off the top. This is convenient when - generating an animation sequence, particularly if you save it to a file - for later playback. - - * term/gd.trm: It is only by historical accident that the gd terminal - only tracked integer font sizes. Make it a double so that fractional - font sizes are possible. - -2016-12-05 Bastian Maerkisch <bmaerkisch@web.de> - - * term/sixel.c: Required minimal version of gdlib is 2.1.0 - (gdImagePaletteToTrueColor, gdImageTrueColorToPaletteSetMethod). - -2016-12-04 Bastian Maerkisch <bmaerkisch@web.de> - - * term/gd.trm term/sixel.c term/Makefile.am.in: - New terminal "sixelgd" based on kmiya@culti's sixel.c code - available at http://nanno.dip.jp/softlib/man/rlogin/#REGWIND - It produces sixel graphics like the "sixel" terminal, but uses - gdlib to draw instead of the built-in bitmap code. It hence - offers an enhanced feature set, including support for up to 256 - colors, outline fonts, transparency, and anti-aliased lines. - "set term sixelgd" uses only 16 colors for sixel output and up to - 256 palette colors internally, but "set term sixelgd truecolor" - maps the internal ARGB image back down into 256 sixel colors - using dithering. - sixelgd piggy backs on the png/gif/jpeg terminal routines and - thus offers the same options. In "notruecolor" mode we no longer - pre-allocate colors to avoid unnecessary transformations of the - image in gdImageSixel. The "transparent" option works with - mintty or mlterm on Windows, but does currently not work with - xterm or mlterm on *nix. - Patch #742 - -2016-12-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_set_font): Repair a read past end of string error - found by valgrind. - - * src/plot3d.c: Initialize vector of data values so that incomplete - data lines do not result in passing uninitialized values to - STORE_WITH_LOG_AND_UPDATE_RANGE - -2016-12-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/dumb.trm: The set_pixel routine originally used a priority rank - such that pixels belonging to the border or axis linetypes would always - be overwritten by pixels belonging to a plot. This system started to - break when the border linetype LT_BLACK became the default linetype and - broke further with the addition of a new priority level for fill areas. - The core code is pretty good at issuing draw commands in the desired - order, so at this point we get better results by dropping the priority - rank and having all set_pixel operations overwrite previous contents. - - * src/graphics.c src/plot2d.c term/vgagl.trm: - Clean up typos, comments, old FIXMEs, dead code - -2016-11-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Front/back layering of border+grid - components was not always correct in hidden3d mode. For example: - set pm3d; set hidden3d; splot x*y with points - Bugfix - - * src/pm3d.h: Replace #defined constants PM3D_SCANS_xxx with an - enum. - -2016-11-27 Bastian Maerkisch <bmaerkisch@web.de> - - * term/dumb.trm: Color support by ANSI escape sequences (16, 256, - or RGB). In 16/256 color mode, RGB colors are mapped assuming a - fixed palette, which likely is not the actual palette of the - terminal. Support filled polygons. Relax priority condition - for overwriting a "pixel" by allowing equal type. - Patch #741 - -2016-11-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (WinMain): Enable Windows 10 support for - console virtual terminal sequences, i.e. escape sequences. - Show "inline" color plots on the Windows command line with - "set term caca driver utf8". - - * config/msvc/Makefile: Enable Unicode build. Include Manifest files. - HTML help compiler is located in 32 bit program folder. Support - building 32 and 64 bit variants. - -2016-11-19 Bastian Maerkisch <bmaerkisch@web.de> - - * src/pm3d.c (pm3d_depth_queue_flush) src/term_api.h - src/win/wgdiplus.cpp: Add layer calls for pm3d queue flush. - - * src/win/wgraph.c src/win/wgdiplus.cpp|h src/win/wgnuplib.h: - Until version 4.4 the windows terminal used only the Windows GDI to - draw. Since 4.6 it can additionally use a mixture of GDI and GDI+ - - mainly to enable antialiasing. Version 5.0 added a new variant in a - separate code path which now only uses GDI+ (5.1). Not only is this - faster than the mixed GDI/GDI+ code, it also offers improved support - for transparency (5.0), custom dash patterns (5.0), oversampling (5.1), - and antialiasing of polygons with less (5.0) or no artefacts (5.1). - Version 5.0 still uses GDI for enhanced text and images, but that - changed in 5.1 already and could be backported to 5.0. The GDI+ variant - is the default since version 5.0 for drawing to the screen and is now - also used for printing, copying to clipboard and saving of EMF data. - The transition to GDI+ is now complete and this change removes the - transitional GDI/GDI+ code. - -2016-11-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (CopyClip) src/win/wgdiplus.cpp (clipboard_gdiplus): - Use GDI+ to copy EMF+ data to clipboard if the user selected the GDI+ - backend. - - * src/win/wgraph.c src/win/wgdiplus.cpp|h (InitFont_gdiplus): - Determine initial font metrics etc. using the correct API (GDI/GDI+) - instead of always using GDI. Take actual canvas size into account. - Bug fix. - - * src/set.c (set_encoding, init_special_chars) setshow.h - src/misc.c (init_encoding): Move initialisation of special characters - to a separate function, which is also called during program init on - Windows. Bug fix. - -2016-11-17 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm configure.ac src/term.h: - Mark the pdf terminal as DEPRECATED. The deprecation notice will first - appear in version 5.0.6. This patch removes the configuration option. - The terminal source itself is still there so it remains possible to - manually uncomment the commented-out #include statement in term.h. - GmbH dropped support in 2007 for the free (as in beer) but license- - restricted version of PDFlib. The gnuplot pdf driver has not been - touched since 2010 other than to accommodate new default terminal - settings for version 5. PDF output remains possible using the pdfcairo - terminal, any latex terminal + pdflatex, and the export menu provided by - the wxt and qt interactive terminals. - - * docs/gnuplot.doc docs/plotstyles.gnu docs/titlepag.tex: - Repair broken hyperlink in docs. Use color in the histogram plot - styles figures. Add Daniel Sebald to list of contributers. - -2016-11-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graph3d.c src/set.c: Use the shared routine - write_label() to handle 3D axis labels. This allows explicit rotation - of xlabel and zlabel (ylabel rotation is suppressed so that the 2D - default "ylabel rotate" does not affect 3D plots). The revised zlabel - code avoids printing the label twice (Bug #1277). - -2016-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * docs/plotstyles.gnu docs/gnuplot.doc demo/html/* demo/fenceplot.dem: - Add zerror+fenceplot demo to the documentation and the online demo set. - -2016-11-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (SaveAsEMF): Option to save graph in EMF+ format. - - * src/wxterminal/wxt_term.h src/win/wxt_gui.cpp src/win/winmain.c: - screendump command supports wxt terminal. - - * src/win/wgraph.c (WndGraphProc): Remove dead code in mouse handling: - Single and double clicks are handled by the code in mouse.c and the - window is not even configured to receive double click events. Also make - sure that mouse wheel "button"s are released again. - -2016-11-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/boundary.c src/color.c src/graph3d.c - src/graphics.c src/save.c src/set.c src/show.c: Add a new field to - the axis structure that stores tic label horizontal justification. - Previous code was using axis->label->pos to store this, but that - confounds justification of the tic labels and the axis label proper. - - * src/boundary: Revise calculation of space needed for x2 axis ticmarks. - - * src/save.c: saved timestamp command must use compatible syntax - -2016-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Check terminal supports filled_polygon before trying - to carry out "with zerrorfill" - -2016-11-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (ifilled_quadrangle): If pm3d border linetype is - LT_DEFAULT, draw quadrangle borders in current color. Unfortunately - this is still a magic number (lt -6) in the user interface. - - * src/qtterminal/QtGnuplotScene.{cpp,h}: Track current fillstyle so that - qt terminal can distinguish between opaque and transparent pattern fill. - -2016-11-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/gadgets.c src/gadgets.h src/graph3d.c src/set.c - src/unset.c src/show.c: Use the shared routine write_label() to handle - "set timestamp" in both 2D and 3D. Place the timestamp relative to page - borders rather than the plot borders. Timestamp offsets no longer - affect placement of plot borders. A timestamp is still generated for - each subplot in a multiplot but now they all end up in the same place - rather than overlapping bits of the multiplot. This could be improved. - -2016-11-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (CopyPrint): Fix braces broken by #ifdef. - -2016-11-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/graph3d.c src/graph3d.h src/plot3d.c src/pm3d.c - src/pm3d.h src/tables.c demo/all.dem demo/zerror.dem docs/gnuplot.doc: - - New 3D plot style - splot <data> using <x>:<y>:<z>:<zlow>:<zhigh> with zerrorfill - {fillcolor <colorspec>} - This produces a plot similar to the 2D filledcurves option to fill the - area between two curves. The primary linecolor is used to draw a line - through the z values. The fillcolor (defaults to the linecolor if not - given) is used to fill the area between zlow and zhigh. Depth sorting - is possible using `set pm3d depthorder`. - -2016-11-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp|h (drawgraph_gdiplus): Add wrapper functions - instead of trying to determine the target (screen/printer/metafile) - from the device context using GDI functions. - - * src/win/wgraph.c (CopyPrint): Also use GDI+ to print if the user - selected the GDI+ backend. - - * src/win/wgdiplus.cpp src/win/wgraph.c (draw_enhanced_init): Take - DPI into account when calculating the scaling factor for super- and - subscripts. Makes special code for printing superfluous. - - * src/win/wgdiplus.cpp: Default GDI+ dash patterns use a very narrow - spacing which does not scale with the line width. We now use our own - custom dash patterns which resemble the GDI default patterns for unit - line width. This in particular improves the appearance of grid lines - in polar plots. - - * src/set.c (encoding_micro): Fix micro sign for CP1252 and add a few - more encodings, including CP437 and CP850. - -2016-11-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/graph3d.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h docs/gnuplot.doc: - - "set key" already offers 3 choices for placement of 3D plots: - 1) "at" user-specified position - 2) "outside" - shrinks the entire plot so that the key can be drawn - in one of the margins - 3) "inside" - (the default) rotates and scales with the plot itself - as the view changes. - This patch introduces a 4th option - 4) "fixed" is like "inside" except that it is not affected by changing - the current view angles or scaling. - "fixed" key placement does not move when the plot rotates. For 2D plots - this is identical to "inside". The new option is now the default. - -2016-11-03 Craig DeForest <zowie@users.sf.net> - - * src/datafile.c (plot_option_binary): Interpretation of dimensions - given via "binary record=(a,b)" contridicted that for dimensions given - via "binary array=(a,b)". This caused mangling of image data read in - using the "record" keyword. Change the interpretation to match that - of "array". - Bug #1873 - -2016-10-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c src/show.c src/gadgets.c: save/show style arrow was - showing incorrect settings for head/heads/backhead, and reporting - LT_DEFAULT as an actual line type. - - * src/misc.c (arrow_use_properties): If an arrowstyle has no explicit - linetype or color, apply the current plot linecolor. This prevents 3D - vector plots with a default linetype from being colored as if they - were "lc palette z". - Bug #1869 - -2016-10-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c: Recent reorganization of next_iteration() - code makes it unnecessary to separately track highest iteration in each - plot clause. - -2016-10-26 Thomas Sefzick <t.sefzick@fz-juelich.de> - - * src/plot2d.c: Never decrease value of highest_iteration. - Avoids missed plots when a plot command contains more than one - iteration and the last iteration is shorter than the others. - Bug #1871 - -2016-10-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_style): Allow "set style textbox border" without a - specific border color to default to black. - - * term/svg.trm: Transition to SVG 2.0 - Remove DTD. Remove option "fontfile" and references to SVG fonts. - - * src/axis.h src/axis.c src/show.c: Macros AXIS_IS_FIRST AXIS_IS_SECOND - are used only once. Remove them. - - * src/internal.c: Clarify error message printed when an undefined - variable is found in a string expression. - Bug #1783 - -2016-10-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.h src/parse.c: Simplify the code that supports iteration. - Part 4: Iteration list no longer needs to be double-linked. - -2016-10-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.h src/parse.c: Simplify the code that supports iteration. - Part 1: Do not try to pre-calculate and flag empty iterations. - - * src/parse.c: Simplify the code that supports iteration. - Part 2: Do not pre-calculate whether an iteration is "just once". - - * src/parse.h src/parse.c: Simplify the code that supports iteration. - Part 3: Re-write next_iteration() to use recursion. - - * src/parse.h src/parse.c demo/iterate.dem: Dynamic reevaluation of - iteration limits. Allows inner loop to reference variable from outer - loop: E.g. for [i=1:N] for [j=i:i+1] f(i,j) - Bug #1817 - -2016-10-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (timed_pause) src/stdfn.h (GP_SLEEP): Enforce usage of - win_sleep() even if usleep() is available. - Bug #1867 - -2016-10-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: Screen refresh must hold mutex lock, - failure is triggered by resizing active plot window by dragging mouse. - Bug #1845. - -2016-10-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c src/save.c src/set.c src/show.c src/tables.c src/tables.h - src/unset.c src/util.c src/util.h demo/special_chars.dem: - - New command "set micro" tells gnuplot to use an encoding-specific - character sequence rather than "u" for the micro sign (unicode U+00B5) - used as a prefix in scientific notation. This affects the "%c" format - used by gprintf() to label axis ticks. - -2016-10-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wmenu.c src/win/wtext.c: Argument of the - function ShowWindow is not a boolean. - - * src/win/wgdiplus.cpp: Enable antialiasing for polygons without - seams: Draw a run of filled polygons to a bitmap four times as large - as the canvas and scale down with interpolation. - - * src/color.c src/term_api.h: Add layer calls for color box. - - * src/win/wgdiplus.cpp (W_image): Draw images with GDI+ using nearest - neighbour interpolation. - - * src/wxterminal/wxt_gui.cpp|h (wxt_cairo_create_platform_context): - Let cairo manage the Windows GDI bitmap internally. Requires cairo 1.4. - - * src/wxterminal/wxt_gui.cpp (OnPrint): Use wxDC::GetHDC() instead of - GetHandle() since that is also available in wxWidgets 2.8. - - * src/win/wgraph.c (drawgraph): Missed to recreate the brush in case - of fractional solid fill was requested. Bugfix. - -2016-10-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fill in missing function definitions for "help" - output. - -2016-10-05 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu src/save.c: Refer to the plot - style as "boxxyerror" rather than "boxxyerrorbars" to reduce confusion - arising from the style not drawing bars of any sort. - -2016-10-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wprinter.c: Has to include syscfg.h if definition of - WINVER in there is to make any difference. - - * src/win/wpause.c: Dito. - -2016-10-03 Allin Cottrell <cottrell@wfu.edu> - - * src/win/wprinter.c: Cross-compilation requires lower case include - file names. - -2016-10-03 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp src/win/wgraph.c: Implement oversampling for the - GDI+ windows terminal, i.e. draw diagonal lines at fractional pixel - positions to avoid "wobbling" effects. Vertical or horizontal lines - and point symbols are still snapped to the nearest pixel to avoid - blurry lines. Replaces the old "oversampling" method which drew on a - bitmap four times as large and then scaled down. - - * term/win.trm: Update documentation of graph-menu and wgnuplot.ini. - -2016-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): The enhanced text code was - eating any whitespace that followed an opening '{'. While this - may not be noticeable in most cases, it breaks using the &{space} - syntax to create or reproduce blank space in an enhanced text - string. Possibly the idea was to allow "{ /FontName - text-in-new-font }" but the documentation has specifically - disallowed this for many years. Remove the offending loop that - eats whitespace. Bug #1863 - - * src/boundary.c: Revised placement of x2label. - -2016-10-01 Daniel J Sebald <daniel.sebald@ieee.org> - - * QtGnuplotItems.{h|cpp} (QtGnuplotEnhancedFragment::width): - Introduce a true string width function rather than using boundingBox(), - which ignores leading or trailing whitespace. This repairs enhanced - text overprint and place-holder markup in the qt terminal. - Bug #1863 - -2016-09-28 Bastian Maerkisch <bmaerkisch@web.de> - - * src/mousecmn.h src/qtterminal/qt_term.cpp - src/qtterminal/QtGnuplotEvent.h - src/qtterminal/QtGnuplotWindow.cpp|h: Enable space-raises-console - and terminal option "raise" for qt on Windows. Since gnuplot and - the qt terminal are realized as two different processes, the - currently active process has to allow the other to "raise" itself. - - * src/win/winmain.c: Change only the state of minimised windows when - raising text or graph windows. In particular that does leave - maximised windows as they are. - -2016-09-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c: Use the shared routine write_label() to handle the 2D - x, y, x2, and y2 axis labels rather than separate in-line code for each. - This allows additional text properties for the axis labels, notably - "boxed". However this changes the effect of setting an offset for y, y2 - axis labels. Previously this altered placement of the plot borders - while leaving the absolute placement of the axis label on the page - unchanged. Now the plot borders remain fixed but the axis label moves. - Bug #1550 - - * term/svg.trm: Revert 2016-09-23 "in line images do not require png - support". Actually, they do. - - * src/plot2d.c (eval_plots): Initialize fillcolor. - - * src/color.c: Use the shared routine write_label() to handle the 2D - cb axis label. - - * src/stats.c: Do not use columnheader as a prefix for "stats" unless it - is specifically requested. - -2016-09-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c (set_plot_with_palette): When checking for plot elements - that refer to palette coloring, go through the list of objects also. - -2016-09-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: postscript terminal support for rotation of boxed text. - This happens to also remove incompatibility of "set minussign" and - "set term post noadobeglyphnames" and utf8 encoding. - -2016-09-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/wxterminal/wxt_gui.cpp (OnExport): VS2010 does not accept - splitting the string argument for wxT(). - -2016-09-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (MakeFonts): Calculation of hchar and vtic lost - precision. Bugfix. - -2016-09-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp (EnhancedPutText): Fix reference of rotation - for enhanced text. - - * src/win/wgraph.c src/win/wgdiplus.cpp: Positioning of rotated text - depends on the currently selected font and in particular on the font - size. Bugfix. - - * src/win/wgdiplus.cpp: Take fontscale into account. Bugfix. - -2016-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (SVG_image): Image support was conditional on png support - but this can be relaxed for in-line images. - - * src/gadgets.c (write_label): If current textbox style has neither a - border nor fill, then the "boxed" attribute can be ignored. - - * src/plot2d.c (cp_alloc): Initialize filledcurve_options to those from - "set style data". - -2016-09-22 Per Bothner <per@bothner.com> - - * term/svg.trm (SVG_image): In domterm mode an embedded image should - always be inline rather than linking to an external file. - -2016-09-22 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp|h: Add "print" toolbar button. For now, - it is only available on Windows, but support could in principle be - added for other platforms. See feature request #304. - - * src/wxterminal/wxt_gui.cpp: Eliminate warnings about unused - variables. Used define _WIN32 to test for Windows platform. - - * src/wxterminal/wxt_gui.cpp (wxtFrame::OnExport): Save as enhanced - metafile (emf). Only available on Windows. - -2016-09-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotScene.h src/qtterminal/QtGnuplotScene.cpp: - qt terminal support for rotation of boxed text. - - * src/wxterminal/gp_cairo.c: - cairo/wxt terminal support for rotation of boxed text. - -2016-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c src/eval.h src/eval.c src/internal.h src/parse.c - docs/gnuplot.doc: New cardinality operator |A| reports number of - entries in array A. Example: plot for [i = 1 : |A|] f(A[i]) - -2016-09-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/getcolor.c src/save.c src/show.c: Remove unreachable case - statements in color mode switch. The fprintf warning they contained - would have accessed uninitialized memory (found by canalyze static - code analysis tool). - - * src/graph3d.c: Remove out-of-date comments. - - * src/graph3d.c (ztick_callback): orientation of z-axis tick marks - changes with azimuth. "set zlabel rotate parallel" also. - -2016-09-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c docs/gnuplot.doc: Ignore "set termopt {dashed|solid}". - Remove use of this option from examples in the manual. - -2016-09-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/multiplot.c: Allow "boxed" attribute in the title for a multiplot - layout. Example: set multiplot layout 2,2 title "Example" boxed - -2016-09-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Fix a GDI resource leak which is - only important when opening and closing a massive number of different - graph windows. - -2016-09-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/graph3d.c src/set.c src/unset.c: Write plot titles - using the general routine write_label() rather than in-line code. - This allows use of additional text properties, in particular "boxed". - - * src/graph3d.c (setup_3d_box_corners): 2016-09-06 revision to which - plot edges have tic labels attached should not have been applied to - "set view map" mode. - -2016-09-12 Bastian Maerkisch <bmaerkisch@web.de> - - * src/mouse.c: Change mouse pointer to indicate rotation during azimuth - change via mouse. Add a help text for dragging with mouse button 3. - - * src/mouse.c: Revert mouse pointer to normal when enabling/disabling - mouse mode. - - * src/win/wgraph.c (GraphInit): Do not set an (automatic) window class - mouse pointer. As we set the pointer ourselves as required, that caused - flickering of the mouse pointer. - - * src/win/wtext.c: Change mouse pointer while marking text. - - * src/term/cairo.trm (cairotrm_init): Redirection of output to a - printer on Windows requires the use of gpoutfile. Let pdfcairo on - Windows always use the cairostream_write callback to enable printing - of PDF files. - - * src/win/winmain.c (open_printer): Open temporary file in binary mode - as required e.g. for PDF data. - - * src/win/wgnuplib.rc src/win/wgraph.c (CopyPrint) src/win/wprinter.c - (DumpPrinter): Remove unused lower part of the "general" print - property sheet by supplying an (empty) dialog template. Add a note - that printer settings will be ignored since the PRN file mechanism - sends terminal output to the printer unaltered. - -2016-09-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wprinter.c: Previous change failed to apply default size - when not the corresponding property sheet was not shown. - - * src/win/winmain.c (close_printer): The code relied on a windows - terminal graph window being opened, but should not. Always supply a - valid window handle to DumpPrinter(). Include the current terminal - name in the print job title. - - * src/win/wprinter (DumpPrinter): The Escape() PASSTHROUGH function - was included in Windows 3(!) for backward compatibility with earlier - versions and is no longer supported by some printer drivers. Make - use of the appropriate printer spooler API instead. For constistency, - use a print property sheet instead of a print-setup dialog here too. - -2016-09-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h src/mouse.c src/save.c src/set.c - src/show.c src/unset.c src/eval.c docs/gnuplot.doc demo/azimuth.dem: - - New command "set view azimuth <angle-in-degrees>" - Changing the view angles rot_x and rot_z cannot move the z axis out of - the plane normal to the canvas horizontal. This patch adds a new angular - setting "azimuth" that rotates the plane containing the z axis about - the line of sight. I.e. "set view azimuth 90" places the z axis - parallel to the canvas horizontal rather than the canvas vertical. - Click-and-drag with right mouse button provides interactive control of - the azimuth. Azimuth is ignored by 2D plots and by "set view map". - -2016-09-09 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to doc version 1.1017 - -2016-09-08 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/win/wgnuplot.exe.manifest src/win/wgnuplot.exe.manifest64: Add - compatibility flags vor Windows 7, 8, 8.1, and 10 to enable proper - detection of the Windows version. - Bug #1851 - -2016-09-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/winmain.c src/win/wprinter.c - src/win/wcommon.h src/win/wgnuplib.h src/win/wgnuplib.rc: - Replace the deprecated old-style print-setup dialog (which was shown - when the user requests the windows terminal to print) by a print - property sheet. Integrate the previously separate dialog to request - the print size. This sadly requires quite a bit of code to implement - a COM callback object. Also we now properly clean-up printing - resources. - - * src/eval.c: Windows 10 also deprecated the VerifyVersionInfo API - which is used by the external findversion.h, as well as GetVersionEx. - Since the above patch fixes GetVersionEx's behaviour on all current - Windows versions, there's no need to rely on findversion.h any more. - See Feature Request 422 - - * config/mingw/Makefile: Resource target depends on manifest files. - -2016-09-07 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: For pslatex, epslatex, cairolatex "standalone" - option, if the current encoding is utf8 then put a line in the output - /usepackage[utf8x]{inputenc} - Note that [utf8x] (not [utf8]) is needed to correctly process the - degree sign and micro characters. - -2016-09-07 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wtext.c: Ensure proper initalisation of the - font chooser dialog also on non-english systems by using the LOGFONT - fields to request bold or italic fonts instead of using strings. - Request scalable fonts only, to ensure fonts can be scaled or rotated, - or offer (some) Unicode characters. - -2016-09-06 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/graph3d.c (setup_3d_box_corners): Add quandrant processing for - surface_rot_x similar to that for surface_rot_z. This fixes - inconsistent splot borders drawn when the base is upside down. - Bug #1810 - -2016-09-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c: In the case of 'stats foo prefix columnhead' check that - the string found in the column header is a legal identifier (i.e. rule - out numbers and punctuation). - -2016-09-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c( imploded ): The smoothing routine cp_implode() - creates a new set of plots separated by dummy UNDEFINED points. - However data files use a blank line to separate curves. Thus - "set table foo; plot ... smooth freq" - creates a file foo that is not in standard format, creating problems - if it is read back in to plot later. This patch replaces each - UNDEFINED point with a blank line when smoothed data is tabulated. - Bug #1274 - -2016-09-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c term/svg.trm: Remove dead code and comments. - - * src/stats.c: Track and report number of lines treated as column - headers rather than as data. - - * src/show.c: Show state of 'autotitle columnheaders' even if the key - is currently unset. - - * docs/gnuplot.doc: Update sections referring to columnheaders. - Note that the effect of `set key autotitle columnhead` extends to - stats and fit commands, and applies even if the key is unset. - - * src/datafile.c (df_open): Guarantee that first line of data is - skipped if 'set key autotitle columnhead' is in effect regardless of - whether the column headers are used. - Bug #1751 - -2016-09-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): - Grid coordinates generated by splot '++' are subject to round-off error. - This error is most noticeable at the plot boundary, where it may be that - (sample_min + nsteps * stepsize != sample_max). This is more likely to - be visible on 32-bit systems than on 64-bit systems. - Force the final grid coordinate to be exactly sample_max. - Bug #1850 - -2016-09-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: The begin/end of plot bookkeeping of internal state - that would otherwise be done by PS_layer() needs to be done instead by - the replacement routine PSLATEX_layer(). In particular the final line - a plot needs to be stroked and the linetype reset. - Bug #1852 - -2016-08-28 Ethan A Merritt <merritt@u.washington.edu> - - * demo/smooth.dem docs/gnuplot.doc: Update docs for "smooth" option. - Fix regression in demo caused by failure to promote N = points per bin - to a real number. - -2016-08-26 Per Bothner <per@bothner.com> - - * term/svg.trm src/term.c (init_terminal): - New terminal "domterm" wraps svg output in escape sequences compatible - with in-line display in terminal emulators based on DomTerm - (http://domterm.org). Conceptually similar to the tektronix, sixel, - selanar etc graphic modes that interleaved with text output in - old-school character cell terminals or emulators like xterm. - -2016-08-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c src/set.c src/gadgets.c src/gadgets.h src/tables.c - src/tables.h src/save.c src/show.c docs/gnuplot.doc: New keyword - "set colorbox {{no}invert" flips the top/bottom orientation of a - vertical gradient; i.e. the same color maps to the same numerical value - but the orientation of the sample is inverted. Display of horizontal - gradients is not affected. - Tracker issue #1808 - - * src/wxterminal/wxt_gui.cpp (wxtFrame::OnExport): Revisit the file - export widget. I misread the code previously, thinking there was only a - single global command list. Actually there is a global pointer but each - window has its own command list. So we really can export inactive plots - as well as the active plot. The global command list pointer is now - unused so get rid of it. - Bug #1843 - -2016-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (refresh_bounds box_range_fiddling): Improved autoscaling - of plots "with boxes". Extend y range to 0. Distinguish between absolute - and relative boxwidth. - Bug #1827 - - * src/plot2d.c (eval_plots): "smooth {freq|fnorm|cum|cnorm}" operations - replace the original data, which invalidates autoscaling during input. - Now we save/restore autoscale state during input so that autoscaling of - the smoothed data starts from a clean slate. - Bug #1826 - -2016-08-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h (arrow_end_undefined) src/set.c src/graphics.c: - Initialize arrow structure to have type arrow_end_undefined. - If we see an arrow with that type later, it indicates corruption due - to an error exit from "set arrow". - - * src/eval.c (evaluate_at): Make unsupported array operations fatal - (int_error) rather than informational (int_warn). The int_warn version - eventually returned UNDEFINED or NaN to the caller, and not all callers - were prepared to deal with that. E.g. - array A[1]; set xrange [0:A]; set param; splot u,u,u ---> boom! - - * src/tabulate.c (output_number): Oops. Forgot to check for log being - implemented via nonlinear axes. This should have been part of the - nonlinear axis patch set. - -2016-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxtFrame::OnExport): The Export widget - on a plot window should dump a copy of the plot in that window, not a - copy of the currently active plot. Modify the OnExport function - accordingly. Unfortunately to generate PDF or SVG files we want to - reexecute the list of commands that generated the plot, but we only - keep such a list for the currently active plot. So Export from - inactive windows is limited to the clipboard or PNG files. - Bug #1843 - - * src/readline.c (getc_wrapper): Clear errno before reading next - character. This fix contributed anonymously. - Bug #1846 #1865 - -2016-08-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (squash_spaces) src/util.h src/command.c: - Modify squash_spaces() utility routine to optionally leave a single - space in place of whitespace or remove whitespace altogether. - - * src/datafile.h src/datafile.c src/stats.c docs/gnuplot.doc: - Rearrange the order in which we parse the "stats" command. - This allows passing "columnheader" or "columnheader(N)" to the - "name" option rather than a fixed character string. - Bug #1841 - - * src/axis.c (eval_link_function) src/save.c (save_nonlinear): - If there is an expression-parsing error while processing a - "set nonlinear" command, the forward/reverse axis mapping can be - left in a corrupted state. Add a sanity check for this to prevent - bad things from happening when the axis mapping function is invoked. - - * src/axis.c (gstrdms): Sanity check user-provided format. - Reject format characters that are not handled explicitly. - - * src/stats.c (statsrequest): Early exit if there are no usable points. - - * src/fit.c (update): Fix error in error reporting (null filename). - -2016-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: Clear SAMPLE_AXIS before using it as scratch space. - - * src/eval.c src/eval.h (free_at): afl-fuzz found multiple crashes - caused by trying to evaluate a defunct action table. This patch wraps - free_at() in a macro that clears the pointer to an action table after - freeing it. - -2016-08-17 Dima Kogan <dima@secretsauce.net> - - * src/gp_types.h src/interpol.c src/plot2d.c src/tables.c - docs/gnuplot.doc: New option "smooth fnormal" plots normalized - frequency, analogous to plot foo using 1:(1./total) smooth freq" - -2016-08-17 Daniel J Sebald <daniel.sebald@ieee.org> - - * term/lua.trm: Warn on error from fflush() or ftruncate(). - Bug #1840 - -2016-08-17 AMD <allanduncan@sf.net> - - * term/post.trm: Different treatment of simplex/duplex option - depending on whether the PostScript support is limited to Level 1. - -2016-08-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse) src/plot2d.c (eval_plots): Remove order - dependence of the "fillcolor" keyword and confusion with line style. - For example these commands were not working: - plot 'silver.dat' with boxes fs solid 1.0 border -1 fc "cyan" - plot 'silver.dat' with boxes fc "cyan" fs solid 1.0 border -1 lw 2 - - * src/graphics.c (plot_filledcurves) src/plot2d.c (cp_extend) - src/plot2d.c docs/gnuplot.doc: - This is a CHANGE in filledcurves behaviour with repect to fillstyle. - The fillstyle "border" attribute is now ignored except for filledcurves - option "closed", the default. In order to make sure the border is - drawn all the way around, duplicate the first point at the end. - -2016-08-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (eval_3dplots) src/plot2d.c (eval_plots): - Check for legal log-scaled axis ranges before trying to plot. - - * src/axis.c (axis_log_value_checked): Rewrite test for positive - values so that it catches NaN as well as negative numbers. - - * src/command.c (link_command): More robust handling of error during - 'set link' or 'set nonlinear' commands. Do not fill in the - axis->linked_to_* fields until after the points of potential failure. - - * src/eval.c src/eval.h (free_at): afl-fuzz found multiple crashes - caused by trying to evaluate a defunct action table. This patch wraps - free_at() in a macro that clears the pointer to an action table after - freeing it. - -2016-08-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (box_range_fiddling): afl-fuzz found a crash caused by - an incorrect test for no data points. - - * src/command.c (link_command): If the "set nonlinear" failed to - complete it could leave an axis marked as nonlinear but with no mapping - functions defined. Now we reset the links on failure. - - * src/set.c (encoding_minus): Comment out replacement of the SJIS minus - sign character. The character itself is correct but it is a full-width - rather glyph so it does not mix well with half-width digits in a number. - This problem is specific to SJIS. - -2016-08-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Print the error code if opening the print dialog - should fail. - - * config/config.nt (HAVE_ERF, HAVE_ERFC, HAVE_STDBOOL_H, isnan - EAM_OBJECTS): Version dependent macros to re-enable compilation - with at least VS2012 or newer. - -2016-08-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (CopyPrint) src/win/wprinter.c (DumpPrinter) - src/win/wresourc.h src/win/wgnuplib.rc src/win/wgnuplot.rc: - Add a progress bar to print progress dialog. Bump minimum Windows - version to XP here, too. - - * src/win/wgnuplib.rc: Change (nominal) font size of most dialogs to - 8pt in order to match Windows default settings. - - * src/win/wresourc.h: Message code for saving as bitmap was in conflict - with the message code for hiding graph #2. Bugfix. - - * src/win/wcommon.h src/win/wgraph.c src/win/wprinter.c: Store the - memory handles itself to save the user's printer selection (instead of - the pointer returned by GlobalAlloc) and use them in all printer - dialogs. Bugfix. - - * src/win/wprinter.c (DumpPrinter, PrintDlgProc) src/win/wgraph.c - (CopyPrint) src/win/wgnuplib.h (GP_PRINT): Changing the private data - of some possibly unknown window is dangerous. Store the pointer to the - printer data in the dialog's 'WindowLong's instead. - - * src/win/wprinter (DumpPrinter): The Escape() function always expects - a byte encoded string, irrespective if UNICODE is defined or not. - Explicit type casting may hide errors. Bugfix. - -2016-08-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/msvc/Makefile (#QTDIR, TOP, MOC, UIC, RCC, S, W, WX, Q) - (T, D, M, {$(S)}.c.obj, {$(S)}.c.cobj, $(HELPFILE), doc2html.exe) - ($(M)bf_test.exe, demo_plugin.dll): Reduce slightly excessive use - of double backslashes. - (VERSION_CPPFLAGS): Define version numbering flags. - (doc2html.exe): Pass version numbering flags. - (COMMONLIBS): Add newly required lib shlwapi. - - * config/config.nt (HAVE_ERF, HAVE_ERFC, HAVE_STDBOOL_H, isnan): - Configure macros for current version of MSVC (VS 2015). - -2016-08-09 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp: Fix two more memory leaks. - - * src/win/wcommon.h src/win/wgnuplib.h src/win/wgraph.c - src/win/wgdiplus.cpp: GDI+ implementation of enhanced text. - Until now the GDI+ backend still used the GDI code to draw enhanced - text, which caused differences in layout if text was rendered as - "normal" or enhanced text. We now re-use the previous GDI-only - routines and introduce function pointers to call GDI or GDI+ code - depending on if they are called from drawgraph() or - drawgraph_gdiplus(). - - * src/win/wmenu.c: Loading of icon images requires GDI+. Add an error - message if support for it is not compiled in. Fix the case when - GNUPLOT_SHARE_DIR is not defined. - - * term/svg.trm: The change on 2016-08-05 did not handle the case - of GNUPLOT_JS_DIR being undefined. - - * src/win/wtext.c: getc might be a macro and thus needs to be - undefine'd before redefinition. - - * src/win/wgdiplus.cpp: Include iostream.h before syscfg.h in order - to avoid MSVC choking on the re-definition of stdio routines by - wtext.h/winmain.c. Do not use namespace std since this causes MSVC - to throw an error because of the (re-)definition of bool in syscfg.h. - - * src/win/wmenu.c: Move variable declaration to beginning of code - block. Required e.g. by MSVC 2012. - - * src/win/wgraph.c src/win/wgdiplus.cpp (W_hypertext): Use the - encoding which was active while plotting, not the current one, to - display hypertext. - -2016-08-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile: Enforce calling the lua executable instead - of the lua wrapper script of Mingw64. Better fix for the build failure - of gnuplot-tikz.help. - -2016-08-08 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Avoid warning messages when using clang. - Qt 5.x assumes C++11. Omit C++ flags when building gp_cairo.c. - Japanese help file was missing a graph from the demos. Execute lua - via the cmd.exe shell in order to avoid errors when redirecting its - output. Remove obsolete flag CONSOLE_SWITCH_CP. Do not enable caca - terminal by default. - -2016-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c src/set.c src/show.c src/tables.c src/tables.h src/unset.c - src/util.c src/util.h docs/gnuplot.doc term/js/canvasmath.js: - - New command "set minussign" tells gprintf() to use an encoding-specific - minus sign character for numeric output rather than the ascii hyphen - character produced by sprintf(). - UTF-8: Unicode U+2212 "minus sign" - CP1252: ALT+150 "en dash" - SJIS: 0x817c - default: ascii \055 "hyphen" - - The substitution of minus sign for hyphen is not made during tabular - output ("set table") or when the current terminal is a LaTeX terminal. - It affects only numbers formatted by gprint(). Other hyphens are - not affected even if they are in a gprintf format string. - - * src/boundary.c (do_key_layout): Tweak vertical spacing of key titles - to make the result more like previous versions (in particular - the canvas terminal). See patch of 2016-07-14 - -2016-08-06 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/wxterminal/wxt_gui.h: Correct spelling of include file name. - Bug #1836 - -2016-08-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/plot.c src/syscfg.h src/win/winmain.c|h - src/win/wtext.c|h: Enable support for encodings (including UTF-8) for - console mode gnuplot on Windows. - Patch #734 - - * src/win/wmenu.c src/win/wgdiplus.c|h src/win/wgnuplot.mnu: Images - of toolbar icons can be read from a file. - -2016-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/set.c src/mouse.c: When logscaling is implemented - via nonlinear axes, any test for "if (R_AXIS.log)" must come _after_ - a test for "if nonlinear(&R_AXIS)". Only affects logscaled polar axis. - Nonlinear axes part 19 - -2016-08-05 Bastian Maerkisch <bmaerkisch@web.de> - - * term/canvas.trm term/lua.trm term/svg.trm term/post.trm src/plot.c - src/win/winmain.c|h: The code to determine paths relative to the - gnuplot executable on Windows spread by copy and paste. Let all those - sites call a single new function instead and fix an improper handling - of wide strings which was overlooked due to an explicit type cast. - Fix memory leaks while at it. - Bug #1837 - -2016-08-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Better vertical justification of rotated text. - - * src/qtterminal/QtGnuplotScene.cpp src/qtterminal/QtGnuplotItems.cpp: - *.pcf (bitmap) fonts are non-rotatable. Furthermore Qt can die horribly - while trying (seen with Qt 5.4.2). To make matters worse, requesting - font "Times" may give you the Adobe pcf font Times (perfect name match) - rather than a rotatable ttf or odf font like TimesNewRoman. This patch - adds style strategy QFont::ForceOutline to forbid selection of a - bitmap font. - -2016-08-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/gadgets.h src/plot2d.c demo/rotate_labels.dem - docs/gnuplot.doc demo/all.dem: New option `rotate variable` to assign - a separate rotation angle for each point in a 2D plot using the - contents of the 4th entry in the `using` specifier. - plot foo using 1:2:3:4 with labels rotate variable - - * src/datafile.c: Matrix dimensions were not being adjusted to account - for subsampling by "every" in the using specifier, so "with image" - plots came out mangled. This was a regression from 4.6.6 - Bug #1835 - - * demo/matrix_every.dem demo/all.dem: Add demo that serves as a unit - test for the above regression and fix. - -2016-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/plot2d.c: - Stricter definition of nonlinear(axis) allows to distinguish nonlinear - axes from linked (linear) axes. - - * src/axis.h demo/nonlinear2.dem: - Rework tic and particularly minitic generation for nonlinear axes, - including special case code for logscale axes. The default minitics - for log-scale axes in this mode are now always equivalent to - "set mtics base" (i.e. unit intervals 1-9 for log10). - Nonlinear axes part 17 - -2016-08-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/unset.c: "unset y2mtics" was clearing the setting for x, not y2. - - * src/axis.h src/command.c src/unset.c: Internal flag ticdef->logscaling - was not being cleared by "unset log" or "set nonlinear". - Nonlinear axes part 16 - -2016-07-31 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp: Handle errors when creating a cairo - surface. - Bug #1621 - -2016-07-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: "splot ... with dots" was accidentally broken by the - addition of multibyte PT_CHARACTER support. This was a regression from - released versions of 5.0. - -2016-07-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wgdiplus.cpp|h src/win/wresourc.h: Add an - option to the menu to save the current graph as bitmap. Supports all - encoders available to GDI+. On my system that is (TIFF, JPEG, GIF, - PNG, and BMP). Defaults to PNG. - - * src/win/wgraph.c (SaveAsEMF): Tweak flags for GetSaveFileName() to - make sure that the file/path is not read-only and to preserve the - current working directory. - -2016-07-26 Bastian Maerkisch <bmaerkisch@web.de> - - * win/gnuplot.iss: Enforce inclusion of directory and program group - pages since the default changed in Inno setup version 5.5.7. - Bug #1831 - -2016-07-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wmenu.c: Use the "large" icon set for the - toolbar if the nominal resolution is larger than 96dpi. Use - TB_ADDBUTTON instead of TB_LOADIMAGES as this somehow eliminates - another major resource leak. - - * src/win/wgraph.c (drawgraph) src/win/wgdiplus.cpp(drawgraph_gdiplus): - Missing cleanup of cached point symbols caused a sizeable resource - leak. Bugfix. - -2016-07-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplot.exe.manifest src/win/wgnuplot.exe.manifest64 - src/win/wgraph.c src/win/winmain.c|h src/win/wtext.c: - Windows scales gnuplot's windows according to the monitor's scaling - factor. This in turn may be based on the monitor's DPI or an explicit - user setting. In consequence gnuplot's text window and plot output look - blurred e.g. on high-resolution screens. This changeset makes gnuplot - (system) DPI aware so that Windows no longer scales automatically - (at least in the most common case). Window sizes in wgnuplot.ini are - (still) interpreted to be given in the default resolution of 96dpi. - See also bug #1807. - - * src/win/wtext.c (DoLine): Fix off-by-one error which caused the - area below the last line to contain garbage in some cases. - -2016-07-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp src/win/wgraph.c: Textbox fillcolor and - bordercolor support for windows terminal. Transparency works - except when using the GDI only variant with antialiasing disabled. - - * src/win/wgdiplus.cpp: Use StringFormat::GenericTypographic() to draw - text. This reduces differences in text placement between GDI and GDI+ - output. - -2016-07-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/save.c src/save.h src/set.c - src/show.c docs/gnuplot.doc: - Bookkeeping and core code implementation of textbox fillcolor and - bordercolor. Note that transparency is possible if the fillcolor - contains an alpha component. - - set style textbox {noborder | border {<border_color}} - {fillcolor <fill_color>} - - * src/qtterminal/QtGnuplotScene.cpp src/wxterminal/gp_cairo.c - term/cairo.trm term/gd.trm term/lua/gnuplot-tikz.lua term/post.trm - term/pslatex.trm term/tkcanvas.trm src/gplt_x11.c: - Textbox fillcolor support for individual terminals. - - * demo/all.dem demo/textbox.dem: New demo - -2016-07-21 Bastian Maerkisch <bmaerkisch@web.de> - - Enable UNICODE build on Windows. - Patch #727 - - * src/command.c src/show.c src/win/wcommon.h src/win/wgdiplus.cpp - src/win/wgnuplib.c|h src/win/wgraph.c src/win/winmain.c|h - src/win/wprinter.c src/win/wtext.c term/gd.trm term/win.trm - config/mingw/Makefile config/watcom/Makefile: - - Windows offers two versions of its API: a (multi-byte) variant - termed "ANSI" and a Unicode (wchar_t) variant "W". A set of TCHAR - macros and types enables writing code which can be compiled with - or without the UNICODE/_UNICODE flags being set. With this change - gnuplot on Windows now uses the Unicode variant by default. While this - at first looks like a massive set of changes, most of it is actually - rather simple: - - Wrap strings constants in TEXT() macros. - - Use TCHAR types instead of plain char types. - - Replace string functions by tchar equivalents: - _tcsdup (strdup) wsprintf (sprintf) _tcscmp (strcmp) - _tcscpy (strcpy) _tcsncpy (strncpy) _tcscat (strcat) - _tcsstr (strstr) - - Modify printf format strings. - In addition we now explicitly call "ANSI" functions, or provide - conversions from CHAR to WCHAR or vice versa in some cases. - - * src/show.c (show_version): Add UNICODE build information to output of - "show version long". - - * src/external.c|h: Use dll_open_w() also for console mode gnuplot - on Windows. - - * src/command.c src/show.c src/win/wgnuplib.h src/win/wgraph.c - term/win.trm: Define TCHARFMT to abstract the format string required - for printf etc. for TCHAR strings. Use it to fix a few format strings. - Note that Mingw64 seems to accept %ls but not %ws which according - to MSDN are supposed to mean the same thing. - -2016-07-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.c wrc/win/wgnuplib.h src/win/wgraph.c term/win.trm: - Aggregate related move/vector requests in a polyline. This saves - space in the internal list of drawing commands and accelerates - re-drawing since the terminal code does not have to do this repeatedly. - -2016-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/history.c (write_history_list): Recent regression caused the - the history list numbering to be off-by-one. E.g. "history !N" - mistakenly re-executed command N-1 rather than command N. - See also Bug #1763 - -2016-07-19 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * term/aquaterm.trm: The AQUA_boxfill() routine scales very badly - with the total number of rectangles, making it horribly slow when - invoked by "plot $foo with image pixels". Set the terminal flag - TERM_POLYGON_PIXELS so that the image processing code will call - term->filled_polygon() in preference to term->fillbox(). - -2016-07-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp (W_enhanced_text): Apply text color to enhanced - text. - Bug #1829 - -2016-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu demo/custom_key.dem: - Add custom key demo figure to the documentation. - - * src/boundary.c (do_key_layout): - The command 'set key spacing <foo>' adjusts the vertical spacing of - entries in the key. However a complicated minimum size test caused the - result to be discontinuous as a function of <foo>. - I.e. 'set key spacing 2' came out the same as 'set key spacing 1' - but both were smaller than 'set key spacing 1.8'. - This patch makes the vertical spacing a simple multiplier for - character height in the current font. It also dissociates the - height of the key sample itself from the line spacing. - -2016-07-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (write_label): Consolidate code to create a textbox for - this label. - - * term/pslatex.trm: Implement textbox margins. - - * src/qtterminal/qt_term.cpp src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/QtGnuplotScene.h: Implement textbox margins. - - * src/wxterminal/gp_cairo.c (gp_cairo_boxed_text): Reduce textbox - margin size and linewidth to better match other terminals. - -2016-07-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/screenbuf.c|h src/win/wtext.c: Handling of colored text - was lost when re-working the text window's internals for the 4.6 - release in 2011. Turns out that it is not too hard to re-enable - that again. - -2016-07-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (print_line_with_error): Replace macros - PRINT_MESSAGE_TO_STDERR PRINT_SPACES_UPTO_TOKEN PRINT_FILE_AND_LINE - with new utility routine. Add code to reconstruct the original input - line number by counting \n characters embedded in a command line - produced by concatenation of successive lines in a bracketed clause. - - * src/graphics.c(plot_betweencurves): The filled curve options y=foo, - below y=foo, etc were reworked to piggyback on the 'fill between' code - by pre-loading ymax with foo on data input. However this mechanism - breaks if the curve is smoothed because ymax is lost during smoothing. - Revert the case of smooth + filledcurves + y=foo to use the original - FILLEDCURVES_ATY1 code. This original rationale (IIRC) was to get - better clipping but since we now have good general case polygon - clipping perhaps all the piggyback cases should be reverted. - -2016-07-02 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (changedir): Handle encodings (Windows). - - * src/term.c: Replace local function prototypes with proper include. - - * src/win/wtext.c: Ctrl-C copies text to clipboard if there's - selected text or sets the Ctrl-C (break) flag otherwise. - - * src/win/wtext.c (UpdateScrollBars): The size of the scroll bar - thumb reflects the length or width of the scrollable area. - -2016-07-02 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * configure.ac: The change of 2016/05/23 to the --with-readline=DIR - code did not properly handle the case when libedit is installed and thus - found by AC_CHECK_HEADERS, but we really want to point to GNU readline - installed in DIR. - -2016-06-22 Ethan A Merritt <merritt@u.washington.edu> - - * RELEASE_NOTES demo/plugin/Makefile.am: Note compiler flags needed - to build gnuplot using Solaris SunPro C compiler. - Bugs #1786 #1821 - -2016-06-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c (UpdateCaretPos): Fix a resource leak which occurred - only if the encondig is set to utf8 or sjis. - - * src/readline.c (readline): VREPRINT conflicts with hard-coded ^R for - reverse-search. Deactivate that section. - - * src/history.c (gp_read_history): Cast argument of isspace() to - unsigned char. - - * src/history.c (write_history_list): Avoid adding extra leading - spaces when saving to a file. Index of history_get is zero-based - relative to history_base. - - * src/history.c (write_history_list): Let the built-in readline use - the same code as is used for GNU readline and libedit. - -2016-06-17 Ethan A Merritt <merritt@u.washington.edu> - - * parse.h plot2d.c plot3d.c: Tracking the wrong iteration - variable (iteration_current rather than iteration) caused plot - command iteration with a negative increment to fail to iterate at all. - E.g. 'plot for [i=9:1:-1] foo' plotted only the single plot with i=9. - Bug #1819 - - * src/graph3d.c (draw_3d_graphbox): Don't draw ztics or tic labels - at view angle rot_x=0 (projection along z axis). - -2016-06-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (check_missing): Fix test for explicit 'set missing' - string in a csv file (previous check assumed the string was followed by - whitespace rather than a field separator). - - * src/graphics.c: Rearrange code to avoid compiler warning about - unused variable image_z_axis. - -2016-06-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c src/plot.c config/config.mgw config/mingw/Makefile: - Allow console mode gnuplot on Windows to use GNU readline, which is - more powerful than the builtin code, but still does not handle Unicode - input on Windows. - -2016-06-13 Daniel J Sebald <daniel.sebald@ieee.org> - - * term/tkcanvas.trm: Error check for ftruncate(). - Bug #1798 - -2016-06-12 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/graph3d.c: Better fix for bug #1809 (placement of xyplane - independent of tics or grid lines). - -2016-06-12 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/gplt_x11.c (gpXTextExtents): Wrap call to XTextExtents() in a - routine that checks first for multibyte support. - -2016-06-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_table) docs/gnuplot.doc: New option to append tabular - plot output to an existing file. "set print" already works this way. - set table "outfile" {append} - - * src/multiplot.c (multiplot_start): Remove alarming warning messages - if default values for inter-plot spacing are used. - - * src/axis.c src/axis.h src/plot3d.c: Remove unused macro definitions. - -2016-06-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c: - Since we now store the data value itself rather than log(value), there - is no longer a problem running stats while the axes are log-scaled. - - * src/stats.c: An unreadable line in a data file should not be a fatal - error in "stats". Print a warning and keep going. - -2016-06-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c demo/piecewise.dem: Consistent placement of xyplane - regardless of whether tics or grid lines are present. - Bug #1809 - -2016-06-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE): - Since we now store the data value itself rather than log(value), there - is no longer a need to replace non-positive values with NaN on input. - Nonlinear axes part 15 - -2016-06-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE): - Only update axis->data_min/max if the point being stored is INRANGE. - Bug #1804 - -2016-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * set/set.c (set_palette): Disallow "set palette maxcolors 1" because - this causes divide-by-zero errors during color smoothing. - Reported originally as an Octave bug - https://bugzilla.redhat.com/show_bug.cgi?id=1340660 - -2016-05-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c src/gnuplot.doc: ^R starts a backward-search through - the history. Searches the command history as you type. Use ^R/^S to - find the next/previous match. - - * src/history.c (history_find_by_number, history_find, - history_find_all): Share the functions for GNU readline and the - built-in code. Remove the old specialised code. - -2016-05-27 Ethan A Merritt <merritt@u.washington.edu> - - Nonlinear axes part 14. - - * src/axis.h src/save.c src/set.c src/unset.c src/pm3d.c src/pm3d.h: - - - Turn all the log/delog macros into no-ops, including z2cb. - This reduces the size of the gnuplot executable by 1-2% and removes - any behavioral dependence on the axis->log flag in the core code. - - - Repurpose the axis->log flag to special-case nonlinear axes that - were set up using the "set log" command. This makes the save and show - commands report axes as log-scaled if they were set up by "set log" - but not if they were manually defined using "set nonlinear" even though - the result is otherwise the same. It also allows mousing of logscaled - axes in the svg and canvas terminals. - - The implementation of "set log" has now been almost entirely replaced. - This should be transparent to users. I know of only a few exceptions. - - - In some cases the range limits chosen for autoscaled log axes come - out slightly different with the new implementation. In most cases this - is an improvement, but it is possible there are other cases where the - new autoscaled range is less satisfactory. - Bug #1590 - - - Log scaling proper and choice of log-scale axis tics are now - separable. This addresses several long-standing bugs, including - Bug #10 filed back in 2000! I.e. even if the axis is log-scaled, - you can still user "set tics <inc>" or "set tics nolog". - Bug #10 Bug #1250 - - - Minor axis tics now work as expected over all logscale axis ranges. - Bug #1748 - - - The new code is slightly slower. Speed will be recovered in a - separate patch. - -2016-05-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c src/pm3d.h: Make z2cb() a macro that calls the original - routine. This will allow us to replace it cleanly with a no-op later. - - * src/set.c src/unset.c src/axis.h src/command.c src/axis.c: - Nonlinear axes part 13. - Re-implement the "set log <axis>" command internally as the pair of - commands "set nonlinear <axis> via log10(x) inv 10**x; set xtics log". - Similarly for an explicit base "set log <axis> <base>" and for - "unset log". The new code is selected by #define NONLINEAR_AXES 1 - The orignial code is still in place and can be selected either by - 1) ./configure --without-nonlinear-axes - (equivalent to #undef NONLINEAR_AXES) - 2) #define NONLINEAR_AXES 0 - nonlinear axis support selected but "set log" command doesn't use it. - - Note: at this stage the "show" and "save" commands report logscaled - axes as nonlinear but do not recognize that this is from "set log". - The next patch set will repair this. - -2016-05-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c (fn_completion): Allow filename completion for system - commands '!' and after pipe symbols '<', '|'. - Bug #1747 - -2016-05-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/gp_hist.h: Make (now) internal variables static. - - * src/readline.c: Use the new readline-compatible functions to access - the history. - - * src/command.c src/gp_hist.h src/history.c: Use the new add_history - function to add items to history. Remove the old one. - - * src/gp_hist.h src/history.c: Add functions similar to the GNU - history library. These will eventually be used to merge codepaths - which use GNU readline/history and the built-in readline to ensure - consistent behaviour. - - * src/command.c (history_command): The `history !` command replaced - the last command in the history list by the search result. That used - to be the history command itself, but since 2016-03-31 history - commands are no longer stored in the history. Now simply re-add - the search result to the history. Bug fix. - - * src/syscfg.h src/command.c src/gp_hist.h src/history.c src/show.c: - New define USE_READLINE instead of a growing list of checks for - (more or less) GNU readline compatible libraries. Prepares for - using WinEditLine on Windows. - - * src/plot.c (main) src/command.c (rlgets) - src/readline.c|h (readline_ipc): Move initialisation of - rl_getc_wrapper from readline_ipc() to main() also for GNU readline. - Remove the wrapper function readline_ipc. - -2016-05-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: partial "every" specifiers are not compatible with - image plots. Ignore them when figuring out image dimensions. - Bug #1796 - -2016-05-23 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm: Fix a few format specifiers for POINT members which - are of type long int. - - * configure.ac: Auto-detect if --with-readline=DIR refers to GNU - readline or NetBSD editline. - - * src/win/wtext.c: When pasting, escape tab characters by ^V instead - of replacing them by space. - Bug #1444 - - * src/readline.c docs/gnuplot.c: Ctrl-V disables the interpretation - of the following key as editing command. Hence, tabs can now be - inserted again by pressing ^V TAB. On Windows, Ctrl-V is not passed - on to the built-in readline, though, but interpreted as "paste". - - * src/win/wmenu.c src/win/wgnuplib.h: Use UTF16 "W" APIs to handle - Unicode. This affects all menu dialog boxes (open/save, directory, - input). It is still assumed that wgnuplot.mnu is encoded using the - ANSI codepage. Reformat source while at it. - Part 5 of wgnuplot Unicode support. - Patch #727 - -2016-05-22 Daniel J Sebald <daniel.sebald@ieee.org> - - * term/write_png_image.c: gdImageDestroy() needed on code paths for - both error and success. - -2016-05-21 Daniel J Sebald <daniel.sebald@ieee.org> - - * term/write_png_image.c: Add utility routines to encode the png - image in Base64 for in-line inclusion. - - * term/svg.trm: If the "standalone" terminal option is chosen, images - will be embedded as a Base64 byte stream object rather than saved as an - external *.png file and included by reference. - Bug tracker item #1135 - -2016-05-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wmenu.c: Use standard file API instead of _lopen and - friends. - - * src/misc.c (encoding_from_locale): On Windows, if the current - encoding cannot be determined from the locale, fall back to deduce - it from the currently active codepage. Avoids an error with - OpenWatcom, which only handles the C locale. - - * src/readline.c src/win/wtext.c src/win/wcommon.h src/win/wgnuplib.h: - Screen updates during line-editing in wgnuplot are really slow since - it needs to redraw the line for every character which is printed. This - is even more noticeable now that it needs to determine the on-screen - width of text in order to take care of wide Unicode characters. - - This change improves the speed of screen output by eliminating - unnecessary intermediate redraws by adding suspend/resume calls to - several readline functions, which need to print and 'erase' (i.e. - overwrite) multiple characters. Screen output is temporarily - disabled and changes are only saved to wgnuplot's buffers. Only when - the operation is finished, the current input line is redrawn. - -2016-05-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/text.c (TextUpdateStatus): Mingw64's swprintf seems to have - a problem with the %S format. Use swprintf_s and format %hs instead. - Bug #1794 - - * config/config.mgw: Add a work-around for the missing swprintf_s - in MinGW32's library. - -2016-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac: Make --without-nonlinear-axes option match the help - message. - - * src/axis.c (clone_linked_axes): Silence warnings generated by testing - axis mappings at the current extrema (axis->set_m[in|ax]) if it is a - dependent autoscaled axis. - - * src/command.c (link_command): Nonlinear axes part 12. - As it stands, bad things happen if an axis ends up linked to another - visible axis ("set link") and also to a shadow axis ("set nonlinear"). - This patch adds checks to both commands to prevent this from happening. - -2016-05-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c src/win/wpause.c src/win/wcommon.h: Show the current - encoding in the status bar of the text window. - - * src/win/wpause.c: Use default GUI font (not the archaic system font). - Match the size of the dialog box to the actual length of the message. - - * src/win/wtext.c (DragFunc, M_PASTE) src/win/wpause.c: Make sure to - use wide character APIs for Unicode windows. Bug fix. - -2016-05-17 <ceprio@users.sf.net> - - * term/js/gnuplot_svg.js: Apply screen transform to mouse coordinates, - so that browser-mediated changes of scale and origin are accounted for. - In particular this handles the case where the size of an svg image is - not the same as the object it is embedded in. - -2016-05-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): The 7-column input case of "with vectors" - was broken by code refactoring (2016-02-29). Clean this up and store - color information in both head and tail of vector. - Bug #1793 - -2016-05-15 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Do not read beyond the end of a font spec. - -2016-05-13 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/internal.c (GP_MATHERR): The matherr mechanism is not supported - by Mingw64 in both 32bit and 64bit mode. BM: But it is available with - MSVC, so re-enable it there also for 64bit builds. - Bug #1791 - - * src/config/mingw/Makefile: Add default path for QT in Mingw64 32bit - builds. - -2016-05-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (fit_command): Since memory requirements are linear in the - number of datapoints, double max_data if we need to enlarge the - internal buffers. Remove the associated message. - Feature Request #444. - -2016-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (extend_primary_ticrange): Snap logscale range to nearest - even power if it is already closer than epsilon (a.k.a. "set zero"). - Bug #1590 - -2016-05-09 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to doc version 1.988 - -2016-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c src/command.c src/mouse.c src/plot2d.c: Where possible, - use macro nonlinear(AXIS *) rather than #ifdef NONLINEAR_AXES. - - * src/axis.h src/contour.c src/datafile.c src/graph3d.c src/graph3d.h - src/plot3d.c src/util3d.c src/axis.c src/boundary.c: - Nonlinear axes part 11. 3D plot axes x, y, z, countours. - - * demo/all.dem demo/nonlinear5.dem: logscale z with contours - -2016-05-07 Bastian Maerkisch <bmaerkisch@web.de> - - Let wgnuplot handle Unicode (not console mode gnuplot) - Patch #727 - - Part 4 - File APIs. - - Windows C runtimes do not handle UTF-8. We work around this - restriction by using the "wide" (UTF-16) variants of the API and - translating from the internal encoding to UTF-16 when required. - - * src/win/winmain.c (win_fopen) src/syscfg.h: Wrap calls to fopen() - in a new routine win_fopen() on Windows which uses _wfopen(). - - * src/win/command.c (do_system): Use _wsystem() instead of system(). - - * src/win/winmain.c (fake_popen, fake_pclose): Handle encodings by - using _wsystem(). - - * src/stdfn.c (opendir, closedir, readdir, rewinddir): Handle - encodings by using UTF-16 internally. Convert search results to a - byte encoded format according to `encoding`. This most notably brings - encoding/unicode support for tab-completion on the command line. - - * src/external.c|h (DLL_OPEN): Handle encodings for the file name of - external libraries. - -2016-05-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h (intNaN) src/axis.h (invalid_coordinate): - If an expression returns "undefined" or NaN inside a function returning - a real then the return value itself can be set to NaN. Inside a function - returning an int, as for example the terminal coordinate mapping - functions, this does not work. Now we define an integer equivalent - intNaN with leading bit 1 and all trailing bits 0 (max negative value in - two's complement representation). Most callers can test via a generic - macro: if (invalid_coordinate(x,y)) ... - - * src/graphics.c: Filter out invalid coordinates produced by axis - mapping functions. As an example this fixes bad postscript output - produced by nonlinear1.dem. - - * src/axis.h: New macro nonlinear(AXIS *) becomes a noop if configured - without support for nonlinear axes. - - * src/save.c: "save" command can use a loop to save the log status of - all axes rather than running through them in-line one by one. - -2016-05-07 Bastian Maerkisch <bmaerkisch@web.de> - - Let wgnuplot handle Unicode (not console mode gnuplot) - Patch #727 - - Part 3 - GUI. - - * src/win/wtext.c (M_PASTE): Always ask the clipboard for UTF-16 - encoded text. This is always possible since Windows will convert - other encodings (OEM/ANSI) for us. - - * src/win/wtext.c (TextCopyClip): Now that strings for display - are stored internally in UTF-16 format, use Unicode to copy to - clipboard, too. - - * src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c src/win/wtext.c: - Drag'n'drop handles Unicode encoded file and directory names. - - * src/win/winmain.c (Pause) src/win/wpause.c src/win/wcommon.h - src/win/wgnuplib.c|h: Create pause dialog box as Unicode window. - Pause() will do the text conversion according to current encoding. - - * src/command.c (pause_command): Converting the string encoding - is now only required for console mode gnuplot. - - * src/win/wmenu.c: Temporary fix of string type of argument for - MessageBox. - -2016-05-07 Bastian Maerkisch <bmaerkisch@web.de> - - * config/watcom/Makefile: Fix compilation by adding definitions - of version and patchlevel to flags. - - * config/config.oww: Add some more defines for function names. - - * src/win/wgnuplib.h src/win/winmain.c: Remove old compiler - specific checks which are no longer required. - - * src/win/wgnuplib.h src/win/wgraph.c src/win/wpause.c - src/win/wprinter.c src/win/wtext.c: No need to have functions use - WINAPI (stdcall) calling convention. Remove define WDPROC. - -2016-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Better (though still not perfect) estimation of the - space occupied by a UTF-8 string. Till now each byte in a multi-byte - character was being counted as occupying space. - Bug #1787 - - * src/term.h: The above change means that estimate.trm must be - included earlier in term.h than emf.trm. Bump it to the top. - - * src/axis.h src/gadgets.c (apply_pm3dcolor) src/pm3d.c (z2cb): - Use existing macros axis_do_log() and friends rather than doing - hard-coded calculations with axis->log_base. - - * src/graph3d.c (draw_3d_graphbox): Fix think-o in revision to 3D axis - label placement - should not multiply the constant offset by tic scale. - Bug #1790 - -2016-05-06 Bastian Maerkisch <bmaerkisch@web.de> - - Let wgnuplot handle Unicode (not console mode gnuplot) - Patch #727 - - Part 2 - Screen Output. - - * src/win/wtext.c src/win/screenbuf.c|h src/win/wgnuplib.h: All output - to the terminal window is stored in a buffer. Change the internal data - type of this buffer from "char" to "WCHAR". This enables support for - UCS-2 (i.e. BMP) characters. - - * src/win/wtext.c (TextPutCh): All of gnuplot's screen output during - line-editing passes through this function. Make sure to properly - convert codes to UTF-16 for storage in the buffer (includes UTF-8 and - S-JIS sequences). - - Part 1 - Input. - - * src/text.c (WM_CHAR) src/win/wcommon.h src/win/wgnuplib.c: Use "W" - API variant to create text window to receive UTF-16 codes in WM_CHAR - messages. Convert them to the `encoding` set by the user for internal - storage. Handles basic multilingual plane (BMP) only. - - * src/misc.c|h (encoding_from_locale init_encoding) src/plot.c - src/set.c: When using the built-in readline, initialize the - `encoding` according to current locale. This is required since - the behaviour of the built-in readline depends on `encoding` for - utf8 and sjis. Do this by extracting the code which handles - `set encoding locale` to new functions in misc.c. - - * src/win/winmain.c|h (UnicodeText AnsiText WinGetCodePage - WinGetEncoding) src/command.c src/win/wcommon.h src/win/wgraph - src/win/wgdiplus.cpp: Move code to convert a text from a given - encoding to UTF-16 (UnicodeText) from wgraph.c to winmain.c. - Extract mapping of gnuplot's encoding values to a Windows - codepage (WinGetCodePage). Move the inverse code from command.c - to WinGetEncoding in winmain.c. Implement AnsiText to convert - from UTF-16 to a byte encoded string. - -2016-05-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c src/util.c|h: The internal readline already - handles UTF-8 multi-byte sequences. Extend that mechanism - to S-JIS. Likely most useful on Windows. - Patch #729 - -2016-05-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c: "rotate parallel" was not being saved correctly. - - * src/graph3d.c: Revise placement of axis labels in 3D plots. - Remove dead code. Use same axis-to-label gap on both x and y. - Fix inconsistent use of h_tic or v_tic to define gap size. - Bug #1781 - -2016-05-01 Matthew Halverson <mhalver@users.sf.net> - - * term/svg.trm: Do not flag svg terminal as TERM_BINARY. - -2016-05-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (link_command): Do not recalculate axis ranges after - "unset link" for an axis that was not linked anyhow. - - * src/axis.c (parse_range): The in-line range for a nonlinear axis - must be transferred to its corresponding primary axis. - -2016-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (call_gnuplot): More robust handling of undefined value - returned by function being fit. - - * src/datafile.c (df_generate_pseudodata): Nonlinear axes part 10. - Sampling along '+' should track linear/nonlinear state of primary - plot axis. - -2016-04-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/plot2d.c src/set.c src/axis.c: - Nonlinear axes part 9. - Handle nonlinear polar axis r. This completes support for 2D axes. - - * src/internal.c (f_assign): In most places any numerical array index - is accepted, but inside an assignment non-integral indexes caused an - error. Now the index is taken as floor(value) as it is elsewhere. - -2016-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/color.c src/command.c src/mouse.c src/parse.c - src/plot2d.c src/pm3d.c src/save.c src/unset.c demo/nonlinear4.dem: - Nonlinear axes parts 7 and 8 - Handle nonlinear x2, y2 axes (2D) and cb axis (2D and 3D). - -2016-04-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/set.c src/save.c: - Nonlinear axes part 4 - New command "set tics logscale" lets the new nonlinear axis code use - the old logscale tic placement code. Thus the effect of the old command - "set log x" can be replicated by - set nonlinear x via log10(x) inverse 10**x - set xtics logscale - - * docs/gnuplot.doc: Nonlinear axes part 5 (documentation). - - * demo/all.dem demo/probably_tux.demo - demo/nonlinear1.dem demo/nonlinear2.dem demo/nonlinear3.dem: - Nonlinear axes part 6 (demos) - -2016-04-23 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/axis.h: Preparation for nonlinear axis code. - Nonlinear axes part 1 - New configuration option --without-nonlinear-axes will allow to disable - code that depends on #ifdef NONLINEAR_AXES. - - * src/graphics.c (adjust_offsets) src/plot2d.c (eval_plots): - Revise tests for linked axes to distinguish between "set nonlinear" - and "set link". - - * src/axis.c src/axis.h src/command.c src/mouse.c src/plot2d.c src/save.c - src/save.h src/set.c src/show.c src/tables.c src/tables.h src/unset.c: - Nonlinear axes part 2 - New command "set nonlinear <axis> via f(axis) inverse g(axis)" - At this stage only the x and y axes are supported. - - * src/axis.c src/plot2d.c: - Nonlinear axes part 3 - When plotting functions on a nonlinear axis, choose the samples evenly - along the linear axis it is linked to. - -2016-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.h src/util3d.c: Move macro map_x3d() and friends from - a shared header to the only file where they are used. - -2016-04-21 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Restore <BOM> to indicate utf-8 enconding. - Reverts change 2016-04-10 - - * config/mingw/Makefile: Add warning that it is required to use the - unicode version of Inno Setup Compiler rather than the standard version - because gnuplot.iss is now encoded utf-8 with BOM. - -2016-04-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (process_image): There are two paths through the - code that extracts image data from an ascii input stream, depending - on whether the x or y coordinate varies fastest. The fix for Bug #1767 - corrected one path but broke the other. Now we fix the broken path so - that both are working, at least on test data. - Bug #1782 - -2016-04-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/util3d.c (apply_3dhead_properties) src/util3d.h src/hidden3d.c - src/graph3d.c: After consolidation of 2D and 3D axis initialization - into axis_set_scale_and_range() (3-Mar-2016) there is no longer any - reason to have separate 2D and 3D versions of apply_head_properties - for arrows. - - * src/graph3d.c (get_arrow3d): Fix typo introduced in 5.0 that caused - arrows defined by "from ... rto ..." to be mangled in 3D plots. - - * src/fit.c (fit_command): Replace misleading use of SECOND_Z_AXIS. - - * src/fit.c (fit_command): Avoid using globals x_axis/y_axis/z_axis. - - * src/axis.c: Disallow commands affecting z2, e.g. "set log z2" - - * src/graphics.c (attach_title_to_plot): Bad things happen if you try - to attach a title to the end point of a plot with no points (NODATA). - -2016-04-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Edits to description of dashtype and pt <char>. - - * src/term.c: Windows requires mode "wb" for pipe output, BSD requires - "w" (no "b" character), linux will accept either. - Bug #1756 - -2016-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (refresh_bounds): Patch from 2016-01-18 to fix bug - #1709 introduced a regression. Minimal example: - 'set log x; plot '-'; replot' - failed to delog/log the updated min/max axis limits. - Bug #1774 - -2016-04-10 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Remove <BOM> marker from start of file, since this - makes autoconfigure fail on MinGW. >>> NB: Reverted 2016-04-21 - -2016-04-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/util.c (existdir) src/misc.c (recursivefullname): Use Windows - implementations of getdir() and friends in stdfn.c instead of platform - specific code (or the ones provided by OpenWatcom). - -2016-04-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Enhanced text mode was over-zealously skipping new - set_font requests if successive writes requested the same font+property. - This caused it to lose italic/bold/etc properties. - Prevent this by clearing the font history at the end of each enhanced - text write. - Bug #1772 - -2016-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (process_image): There is not currently a fool-proof - mechanism for inferring image dimension from a set of x/y/z coords read - as ascii data. But we can do better than transposing the row/column - count by mistake. Note that this same transposition was previously - fixed for the case of ascii matrix data input (Bug #1654) - Bug #1767 - -2016-04-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (eval_link_function): Test for "undefined" status on - return from link evaluation. - -2016-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/graphics.c term/qt.trm: The qt terminal output - for "with image pixels" suffers from bad inter-pixel artifacts. This - seems due to use of term->fillbox() rather than term->filled_polygon(). - The qt fillbox routine is probably fixable but for now we add a - terminal flag TERM_POLYGON_PIXELS that tells the image code to use - polygons instead. - -2016-03-31 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (rlgets) docs/gnuplot.doc: Do not add lines to - command line history which start with a history command. - Bug #1763 - -2016-03-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/history.c (add_history): The documentation states that - "set history N" will save N lines on history to a file on program exit. - This is true in practice for both the readline-based history code and - the built-in history code. However the builtin code also truncates and - renumbers the active history list in the current session. This makes - the numbers essentially useless once the list reaches N entries. - Remove this unwanted secondary effect in the built-in version. - Bug #1763. - - * src/axis.c (gen_tics): Promote logscale base from 0 to 10 on entry - rather than later having to test for nonzero each time. - -2016-03-30 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Use local version of gnuplot to generate - plots of the tutorial. - - * config/mingw/Makefile: Collecting all required DLLs for a Windows - binary package can be tedious. When activated via the DLLS=1 option, - we now try to at least automatically copy all DLLs from Mingw-w64. - Applies to targets `install`, `installer`, and `zip`. - -2016-03-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wmenu.c: Remove the alternative code which would use a - modified file-open-dialog to select a directory. This wasn't working - since Vista anyway and was never included in any official binary. - - * src/command.c: The Windows specific winsystem() has been deactivated - for a long time. Remove it. - - * src/readline.c: The return value of the *_getch() functions should - be int, not char, in order to avoid confusion between EOF (-1) and - (char)0xff. - Bug 1558 - - * src/qtterminal/qtconversion.cpp: Avoid use of isnan() in C++ code. - The C++11 standard has it as a function in the std namespace, whereas - older compilers provude it as a macro or as ::isnan(). Use (var != var) - instead. - -2016-03-25 Ethan A Merritt <merritt@u.washington.edu> - - * axis.c (eval_link_function) graphics.c (plot_lines): - If map_x() or map_y() trigger eval_link_function(), it may return NaN. - In this case the mapped coordinate value is nonsense and the "undefined" - flag is TRUE. Check this flag to avoid drawing spurious line segments - in plot with lines. - - * src/axis.c src/axis.h src/plot2d.c: New routine init_sample_range(). - Always use SAMPLE_AXIS to hold bookkeeping values for function sampling, - rather than sometimes using a real axis, sometimes a parametrics axis, - and sometimes SAMPLE_AXIS. - -2016-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (array_command): - Sanity check: array name must start with a letter. - - * src/command.c (command is_array_assignment): - Change the order of parsing: check for array assignment before trying - to interpret the first input token as a command keyword. E.g. - "array q[2]; q[1] = 1" must not interpret the initial 'q' as shorthand - for 'quit'. - Bug #1762 - -2016-03-24 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: The proper way to invoke shell commands in - GNU makefiles is via $(shell ...). Using backticks relies on the - shell doing the replacement and is not always what we want. - Bug #1752 - -2016-03-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/unset.c: The df_fgets() change - 4 days ago caused a regression because input buffer initialization was - missed in some paths. Rename the shared buffer to df_line. - Move the initialization into a new routine df_init() called via - reset_command() on program entry. - Bug #1758 - - * src/axis.c (clone_linked_axes): If an endpoint of a linked axis was - exactly zero, the forward/reverse link check would complain because of a - spurious divide-by-zero. Now we test for this case separately. - - * src/graphics.c (do_plot plot_points): The "dots" plot style is - implemented internally as pointtype 0, although this was never stated in - the documentation. Apparently some users discovered and used pointtype 0 - routinely and were unhappy that it stopped working in version 5. - Neither the original behavior nor its removal was intentional, but it is - easy enough to restore the pre-version 5 behaviour so we do it now. - Bug #1733 - -2016-03-20 Matthew Halverson <mhalver@users.sf.net> - - * src/term.c (term_set_output): Open pipes in binary mode if the - terminal has the TERM_BINARY flag set. - Bug #1756 - -2016-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: If pointtype PT_CHARACTER is the default for a plot - then allow text options like "tc rgb 'foo'" in the plot command. - - * src/command.c src/eval.c src/parse.c: Disentangle gpfree_string() and - gpfree_array(). Most callers should avoid the latter. - - * src/graph3d.c src/graphics.c src/hidden3d.c: "pt variable" point - types were off-by-1 on output. - Bug #1754 - - * src/datafile.c src/datafile.h src/datablock.c: - There was already a routine df_gets() in datafile.c that safely reads in - an arbitrary length line of data. Split this into a public function - df_fgets() and a private wrapper df_gets(). Share the public function - with data input in datablock.c:datablock_command. This removes the - limit of 1024 characters per line read in to a datablock. - -2016-03-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp: Revise "set term qt <N> close" so that - 1) It closes window with id N but leaves the current window id unchanged - 2) It executes the command immediately rather than queueing it - Bug #1753 - - * src/qtterminal/QtGnuplotWindow.cpp: Do not set the DeleteOnClose - attribute of plot windows. This avoids an error message if you send a - new plot after explicitly closing the current plot window. - Bug #1753 #1554 - -2016-03-13 Ethan A Merritt <merritt@u.washington.edu> - - src/axis.h src/mouse.c src/save.c: Minor code cleanup for linked axes. - -2016-03-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_link) src/save.h src/show.c: New routine so that - "show/save link" is distinct from "show/save xrange". - -2016-03-09 Allin Cottrell <cottrell@wfu.edu> - - * term/aquaterm.trm: Incorrect argument type to abs() or fabs(). - -2016-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/command.c src/unset.c src/set.c: - Add a new field axis->linked_to_secondary so that the handling of linked - axes is more symmetric. Now you can do "set [*]range" on either end of - the linkage and the min/max/etc for the other end of the linkage will be - recalculated automatically. - - * src/axis.h src/axis.c src/boundary.c src/graph3d.c: Replace - AXIS_SETSCALE(AXIS_INDEX, ) and axis_set_graphical_range(AXIS_INDEX, ) - with a single combined routine axis_set_scale_and_range(AXIS *, ). - - * src/axis.c src/graphics.c: More cleanup and generalization of linked - axis code. - -2016-03-07 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tkcanvas.trm src/win/wgnuplot.mnu: Typos. - - * docs/term-ja.diff docs/gnuplot-ja.doc - src/win/wgnuplot-ja.mnu win/README-Windows-ja.txt: - Sync Japanese documentation to doc version 1.982 - -2016-03-06 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile win/gnuplot.iss: Support MSYS2/Mingw-w64 as - well as MSYS/MinGW and compilation using clang. Ability to build - 64bit or 32bit zip package and installer. New make flags MINGW64, - CLANG, COLOR-GCC, and M32. Default to 64bit builds when using - Mingw-w64, use M32 flag to select 32bit builds. - - * src/win/wcommon.h src/win/wgdiplus.cpp src/win/wgnuplib.h - src/win/wgraph.c: Fix several issues found by clang, with the most - important being wrong delete's in wgdiplus.cpp. - - * scanner.c (get_num): strtoll() on Windows may consume zero - characters causing an infinite loop for the input "0x". - Bug #1745 - - * src/win/wgraph.c (MakeFonts, TryCreateFont): Do not rely on GDI - supplying a sensible substitute when a requested font is not - available. Instead, fall back to the user-supplied default font or - the terminal's default font if the former is not available. - Bug #1669 - -2016-03-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_set_linewidth): Change the - minimum linewidth supported by pdfcairo to match the other cairo - terminals. Reduce all of them to 0.20 pts (was 0.25 or 0.50). - - * src/axis.c src/graphics.c: More cleanup of linked axis code. - -2016-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): Introduction of "pt variable" increased the - maximum number of data columns for "with points" to 5. If the plot - command really does consume 5 columns, fine. But if get_data returns - 5 columns for a simple 'plot with points' command, we have to ignore the - extra columns gracefully. - Bugfix - - * src/axis.c src/axis.h src/eval.c src/eval.h: - Move eval_link_function() from eval.c to axis.c - - * src/axis.c src/axis.h src/eval.c src/eval.h src/command.c - src/graph3d.c src/graphics.c src/mouse.c src/plot2d.c src/set.c: - Revise clone_linked_axes() and eval_link_function() to use - (AXIS *) pointers rather than AXIS_INDEX. - - * src/axis.c (clone_linked_axes): Warn that the program cannot - currently handle via/inverse mapping of linked logscale axes. - Bug #1736 - -2016-03-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (link_command): Accept "unset link <specific axis>" - (regression since 5.0). - -2016-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_assign): Sanity check for array index that - is found to be zero during expression evaluation. - - * graphics.c (map_position_double): Fix stupid typo that tried to map a - linked y axis through the x mapping function. This always mis-placed - objects and labels whose position is given in terms of y2 whenever y2 is - linked to y1. Furthermore placement on either x2 or y2 could be wrong if - the most recent plot did not use that same linked axis. - -2016-02-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/graph3d.c src/graphics.c src/misc.c src/plot2d.c - src/plot3d.c src/save.c src/term_api.h src/hidden3d.c docs/gnuplot.doc: - Add support for "pointtype variable". If there are multiple "variable" - properties in the same [s]plot command, the order of columns in the - using spec is - [s]plot DATA using x:y:z:pointsize:pointtype:color - "pointtype variable" is only allowed with "points" or "linespoints". - Only numerical point types are possible; if you want variable character - pointtypes use "with labels" instead. - - * src/stats.c: "array A[n]; stats A" should default to single-column - analysis (equivalent to stats A using 2) since the properties of the - index are uninteresting. - -2016-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.h src/util.c (common_error_exit): Move the code that resets - various gnuplot state variables after an error from int_error() to a new - common path routine common_error_exit() shared with os_error(). Ensure - that GPVAL_ERRNO and GPVAL_ERRMSG are set in both cases. - Bug #1741 - -2016-02-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgnuplot.mnu: Update the Windows GUI menu definitions a - bit. - -2016-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_assignment_expression): In order to support - assignment to an array element (e.g. A[i] = foo) a slot for the - array index is always pushed onto the evaluation stack even if no - array is involved. However this slot was not being initialized to - a valid PUSHC descriptor, so "show at" and certain other - operations could fail even though they don't really care about - this dummy slot. Now we initialize it to report that a NOTDEFINED - variable was pushed. - - * src/command.c src/eval.c (push) src/internal.c src/parse.c: Back - off to the original idea that bare array names are not legal for - expression evaluation. The previous work-around of copying the - entire array on every reference imposed a huge overhead for - accessing the value of an individual entry. The previous code is - left in place via #ifdef ARRAY_COPY_ON_REFERENCE to serve as a - model for later expansion to support some subset of operations - requiring a copy (e.g. simple assigment B=A or concatenation C = - A.B). - -2016-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/eval.c (push): Evaluation of expressions that - contain a bare array name is problematic because any attempt to - access the actual array contents during or after evaluation - requires that they be duplicated on push() and freed - later. Freeing is the tricky part, particularly if the array - contains STRING elements. This patch seems OK in preliminary - testing, but at this point the only only possible operations are - indexing and assignment. If other operations are added later they - may reveal inadequacies in the alloc/free tracking. - -2016-02-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.h: Use local events to avoid warnings about - incompatible linkage on Windows. - - * config/mingw/Makefile: Use MinGW's own implementations of - printf etc. which are C99 compliant. - - * src/win/wtext.h: Avoid warnings about the re-definition of - popen/pclose with fake pipe support using MSYS2/Mingw-w64. - - * src/wxterminal/wxt_gui.cpp|h: Fixes to make the wxt terminal work - with wxWidgets 3 on Windows: - 1) Disable wxWidgets debug assertions in release builds. This does - not solve the problem with a setlocale(LC_ALL, NULL) == "C" test in - wxLocale, but at least gets rid of the warning. - 2) Flush the cairo surface before blitting the internal bitmap to - screen. - - * src/win/wgraph.c: Include direct.h for _chdir(). - - * term/tkcanvas.trm (TK_init): TK_image requires WRITE_PNG_IMAGE to be - defined. - -2016-02-12 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * term/tkcanvas.trm: More fixes suggested by clang warning messages. - -2016-02-11 Bastian Maerkisch <bmaerkisch@web.de> - - * term/wxterminal/wxt_gui.cpp (wxt_raise_window): On Windows, only - Restore() the window if it is iconized. Fixes accidental resize of - maximized windows. - - * term/tkcanvas.trm (TK_vector): Fix for vector commands without - preceeding move as e.g. in "with line lc variable". - - * src/fit.c: Fix order of using specs printed to log-file. - Bug #1657 - - * docs/term-ja.diff: Remove japanese documentation for sun, next, and - openstep terminals which were removed on 2016-01-11. - -2016-02-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c src/axis.h src/plot3d.c: Remove dead code and old comments. - Comment out the call to AXIS_WRITEBACK that appears to be a vestige from - a code reorganization in the version 3.8 era. There are no other users - of this macro. - - * src/set.c src/show.c: set/show arrow length wants only a single - coordinate, not three. (See patch of 2015-12-19). - -2016-02-10 Bastian Maerkisch <bmaerkisch@web.de> - - * term/dumb.trm: Include stdint.h to make sure that uint32_t is defined - (MSVC). - - * config/config.nt config/config.nt: Sync with output of configure. - - * config/mingw/Makefile: Use gnuplot's default settings to generate - plots for the documentation. - - * configure.ac: Cairo terminals require pango 1.22 - (pango_layout_get_baseline) now. Consequently they do no longer build - on RH5 etc. - -2016-02-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (print_command): Do not allow printing a datablock into - itself, which could cause infinite recursion. - - * src/stats.c: Reset data input mode to 2D at start of stats command. - This produces consistent results for "stats FOO matrix", even if the - previous command was "splot". - Bug #1739 - -2016-02-08 Anton Gladky <gladk@debian.org> - - * term/tkcanvas.trm: Replace statements of the form - fprintf(gpoutfile, string) because they trigger a compiler warning/error - with -Werror=format-security. - -2016-02-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/parse.c src/parse.h: - - Add bookkeeping to allow 'plot', 'stats', and 'fit' commands to work - on data stored in an array. - array A[200] - do for [i=1:200] { A[i] = sin(pi * i/100.) } - plot A title "sin(x) in centiradians" - - * demo/array.dem docs/gnuplot.doc: - Documentation and demo for use of arrays in 'fit' and 'plot'. - - * src/command.c src/save.h src/save.c (save_array_content): - Dump content of arrays in a "print" or "save" statement, analogous to - printing/saving content of user-declared variables. - -2016-02-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/eval.c src/eval.h src/gp_types.h - src/internal.c src/internal.h src/parse.c src/tables.c src/util.c - src/save.c: Basic support of arrays. - - Introduce support for arrays as an indexed list of variables. - An array must be declared before its entries can be accessed. - Each entry A[i] acts as a normal gnuplot user variable (integer, string, - complex). Variables held in an array need not be of the same type. - array A[2] = [ "apples", "oranges" ] - set title sprintf("Comparing %s and %s",A[1],A[2]) - plot for [n = 1:2] A[n] title A[n] - - * docs/gnuplot.doc demo/array.dem demo/all.dem demo/html/*: - Documentation and demo for basic use of arrays. - -2016-02-04 <gbmiquel@users.sf.net> - - * src/gadgets.c (clip_line): Use (double) rather than (int) for - intermediate coordinates used in line clipping. - Bug #1614 - -2016-02-04 Joachim Wuttke <jwuttke@users.sourceforge.net> - - * term/tkcanvas.trm: Replace old (pre-1999) tkcanvas.trm with a - rewrite from Joachim Wuttke <jwuttke@users.sourceforge.net> - and Bastian Maerkisch <bmaerkisch@web.de> - - This new driver has only partial support for scripting languages other - than tcl and has unreliable support for image data, but it is strictly - better than the 1999 terminal. - -2016-02-03 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * config/mingw/Makefile: Pass through MAINVERSION and PATCHLEVEL - into the MinGW build process. - -2016-02-03 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/help.c: Be less aggressive about suppressing help index entries - that might share a leading substring. - Bug #1734 - -2016-02-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c (create_and_set_int_var): Some of the user-accessible - variables created by the stats command are necessarily integral (e.g. - STATS_records, STATS_columns). Create these using Ginteger() rather - than Gcomplex(). - - * src/graphics.c (finish_filled_curve): The routine fill_between() - passes in an extra-long array whose last element stores above/below - flag. We must not try to test this flag on other processing paths - because for them it is an out-of-bounds access (found by valgrind). - -2016-01-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: Another pair of fixes for wxt font - processing. Prevent a memory leak from temporary storage of the - fontname. Initial font used by enhanced text processing should be the - most recently set font, not the original one from "set term". - -2016-01-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_missing): Remove minor memory leak if - "set datafile missing '*'" is called repeatedly. - - * src/boundary.c src/graph3d.c src/graph3d.h src/graphics.c - src/graphics.h src/plot2d.c src/plot3d.c: - {s}plot ... title "foo" at <xpos,ypos> - New option for customized placement of individual key entries. - - * docs/gnuplot.doc demo/custom_key.dem: - Documentation and demo for customized placement of key entries. - -2016-01-26 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * term/wxt.trm: Previous fix for parsing font "name,size" was incorrect. - Bug #1731 - -2016-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotScene.cpp: Only toggle plots on left-click - (not center- or right-click). - - * src/qtterminal/QtGnuplotScene.cpp: Use explicit color Qt::lightGray - to gray out toggled key entries. - -2016-01-21 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * .../.cvsignore: Include more of the auto-generated files in the lists - of things for CVS to ignore during update/diff/status/commit/etc - -2016-01-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (refresh_bounds): The intent of this routine is to keep - the previous axis range if the user has not changed autoscale settings. - It wasn't working. I'm not sure the revised code is doing quite the - right thing either, but at least it correcly handles the test case in - Bug #1709. - -2016-01-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (process_image): This routine handles both 2D and 3D - images so it must not try to access fields only present in the 2D case - (in this case plot->x_axis and friends). - Bug #1718 - - * term/wxt.trm (wxt_options): Fix regression, fontsize ignored if it - is the only thing in the requested font string (e.g. font ",12"). - Bug #1731 - -2016-01-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix "make distclean" problems caused by a bug in automake, which - in turn is triggered by docs/doc2wxhtml requring src/version.c. - - * configure.ac (VERSION_MAJOR, PATCHLEVEL): Export these from - shell scripts to config.h. - (PATCHLEVEL): Export to configure script. - - * docs/windows/doc2html.c (convert): Replace references to - version.c constants by macros in config.h. - - * docs/Makefile.am (doc2wxhtml_SOURCES): Remove use of version.c. - - * term/djsvga.trm (DJSVGA_set_font): Somebody overlooked this call - of graph_error. - -2016-01-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (real) src/standard.c (f_int): Special case handling of - NaN or undefined values during expression evaluation was lost if the - expression passed through an intermediate integer value. For example - int(NaN) evaluated to "-2147483648" rather than "NaN" or "undefined". - Add special case checks to the integer evaluation path. - -2016-01-12 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * term/aquaterm.trm: Add support for version 5 custom dashtypes. - -2016-01-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/sun.trm: The SunView windowing system was phased out after - Solaris 2.2 (end of life 1999). Remove the corresponding terminal - from the gnuplot distribution. - - * configure.ac configure.vms config/makefile.dj2 config/makefile.emx - docs/doc2texi.el docs/Makefile.am PORTING src/makefile.all - src/makefile.awc src/term.c src/term.h: Remove references to sun.trm. - - * docs/gpcard.tex (move to subdirectory docs/old/) Makefile.am - makefile.os2 mingw/Makefile MacOSX/createdist.sh: - gpcard is horribly out of date to the point of holding only historical - interest. Remove it from the build rules. Also remove makefile.dst - which was superseded by autotools + Makefile.am 15 years ago. - -2016-01-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp: "set term qt <num> title 'foo'" was - incorrectly changing the title of the previous plot window in addition - to that of the new plot window. - - * src/internal.c: Error messages should distinguish between an - uninitialized variable and an improper variable type. - - * configure.ac: Do not assume that wxwidgets uses the gtk2 toolkit - (it might use gtk3 or on OSX it might use cocoa). - - * src/pm3d.c: Account for interpolated quadrangles when applying a pm3d - lighting model. - - The NeXT and OpenStep platforms per se are 15-20 yrs dead and gone. - Aquaterm is the evolutionary successor of openstep. - - * src/NeXT src/OpenStep term/next.trm term/openstep.trm configure.ac - m4/next.m4: Remove the drivers proper. - - * src/Makefile.am src/axis.h src/makefile.all src/makefile.awc - src/stdfn.h src/syscfg.h src/term.c src/term.h src/util.c - src/variable.c term/cgm.trm term/driver.h docs/Makefile.am - docs/doc2texi.el: Remove references to the next and openstep terminals - and remove code conditional on NEXT. - -2016-01-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: The fit command should gracefully accept data files known - to contain column headers. Previously this sequence would fail: - set key autotitle columnhead; fit ... - - * src/stats.c: Make data errors in stats command non-fatal, - i.e. int_warn() rather than int_error(). - - * src/internal.c: Store return value from system("") in GPVAL_ERRNO. - -2016-01-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: Several components of the gtk2 API have - been deprecated, which prevents compiling the wxt terminal using wxt3 - or indeed recent versions of gtk2. - 1) Replace handle->window with gtk_widget_get_window(handle). - 2) gdk_window_foreign_new() (used only by --enable-raise-console) no - longer exists. Make this code conditional on (GTK_MAJOR_VERSION == 2). - -2015-12-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_dashtype): Prevent overflow of the custom - dash pattern array, leading to possible corruption of the output - postscipt file. - - * src/set.c src/show.c src/term.c: - New command "set mono linetype cycle N" acts analogously to - "set linetype cycle N". If a monochrome linetype N is requested - where N is larger than any defined monochrome linetype, then - substitute a corresponding linetype in the range [1:cycle]. - -2015-12-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c src/set.c (init_monochrome): - Move this routine from set.c to term.c - - * term/lua.trm: Treat "set term tikz monochrome" as - "set term tikz; set monochrome". - - * term/lua/gnuplot-tikz.lua: Add \SetUnicodeOption{mathletters} - to document produced by "set term tikz standalone". This handles - utf-8 encoded greek letters in gnuplot labels and titles. - -2015-12-29 Ethan A Merritt <merritt@u.washington.edu> - - * term/wxt.trm (wxt_options): If a terminal setting option is not - recognized, issue a warning rather than exiting early from terminal - initialization. Incomplete initialization can cause segfaults later. - - * src/show.c: Show current state of "set monochrome" option. - - * src/unset.c (unset_monochrome): Clear monochrome flag in current term. - - * src/misc.c (parse_dashtype lp_parse) docs/psdoc/ps_symbols.gpi: - Allow "dashtype 0", which is treated as LT_AXIS. - Modify ps_symbols demo script to select dashed lines using version 5 - syntax ("dashtype N") rather than version 4 syntax ("linetype N"). - Bug #1724 - -2015-12-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): This routine is called - to receive both external (e.g. mouse) events and input from stdin. - In cases where we only care about events we must not perturb the state - of stdin. One such case was missed, leading to a character being - dropped from the stdin stream depending on event timing. - Bug #1559 - -2015-12-24 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * src/qtterminal/QtGnuplotScene.cpp: On Mac OS X, the Qt::KeypadModifier - bit of event->modifiers() is *always* set when an arrow key is pressed. - -2015-12-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.h src/plot2d.c (parse_plot_title) src/plot3d.c - src/gadgets.c src/gadgets.h docs/gnuplot.doc: - Consolidate 2D and 3D code for "[s]plot ... title <options>" into a - single routine parse_plot_title. - -2015-12-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c (get_position_default) - src/setshow.h src/show.c (show_position) src/set.c (parse_label_options) - src/save.h src/save.c (save_position) - src/jitter.c src/plot2d.c src/plot3d.c: - - Distinguish internally between 1D positions (single coordinate), - 2D positions (only x,y) and 3D positions (x,y,z). - This removes the ambiguity from commands like - plot foo with labels point offset 1,1, func(x) - Is func(x) a z offset (probably not) or is it a 2nd plot? - Previously the get_position() code ate it as a z offset, but now the - parsing is unambigously a 2D offset followed by a separate plot element. - -2015-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_variables__sub): Do not write ARGn variables to - save file. - -2015-12-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (copy_or_invent_formatstring): Too many fixed precision - decimal places, all zero, could be generated by a plot sequence like - set log y; plot [1:100] exp(-x) - limit the number of decimal places to 10. - related to bugs #1496 $1518 - -2015-12-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/qtterminal/qt_conversion.cpp (qt_imageToQImage): Do not call - C++ isnan() without a namespace specifier. - - EAM: Reverting this change. We may need a fix, but this isn't it. - qtterminal/qt_conversion.cpp: - In function 'QImage qt_imageToQImage(int, int, coordval*, t_imagecolor)': - qtterminal/qt_conversion.cpp:129:14: - error: expected unqualified-id before '(' token if (std::isnan(*image)) - -2015-11-29 Allin Cottrell <cottrell@wfu.edu> - - * term/metapost.trm: Set terminal flag TERM_IS_LATEX unless the - "notex" option is active. This causes axis tic labels to use the - same default format "$%h$" as other TeX terminal types. - -2015-11-12 Douglas Mason <douglasmason1@users.sf.net> - Lukas Jirkovsky <stativ@users.sf.net> - Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c (apply_lighting_model) src/pm3d.h src/save.c src/set.c - src/show.c src/stdfn.h src/tables.c src/tables.h docs/gnuplot.doc: - - Add a simple lighting model to pm3d rendering. - Syntax: - set pm3d nolighting # default state - set pm3d lighting {primary <fraction>} {specular <fraction>} - - The command `set pm3d lighting` selects a simple lighting model in which - a single fixed light contributes 50% of the overall illumination. - The strength of this light relative to the ambient illumination can be - adjusted by `set pm3d lighting primary <fraction>`. Specular highlights - are calculated using a Phong model with fixed exponent. The fractional - contribution of specular highlighting can be adjusted. Model parameters - controlling the illumination angle and Phong exponent are not exported - to the user in this version, but easily could be if requested. - - Original patch by Douglas Mason. See Feature Request #323 (Mar 2012). - Revised for gnuplot version 4.6 by Lukas Jirkovsky. Revised by EAM for - version 5.1 and modified to coexist with pm3d settings for depthorder, - interpolation, and projection to the bottom or top of the view box. - - * demo/pm3d_lighting.dem: New demo - -2015-11-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/graphics.c src/save.c src/set.c src/show.c - src/unset.c: The documentation says that "set tics `front` or `back` - controls whether the tics are placed behind or in front of the plot - elements". This was sort of true but it did this by moving the entire - grid along with the tics, so you could not entirely place the tics - and tic labels in front of the grid lines. - Decouple these two operations so that `set tics {front|back}` does only - what it is documented to do. - Bug #1704 - - * src/axis.c (gen_tics): "set {*}tics rangelimit" applies to minor - tics as well as major tics. - Bug #1705 - -2015-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp: Improved vertical alignment of Qt text - fragments (analogous to Jun's cairo patch). - -2015-11-06 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * src/wxterminal/gp_cairo.c: Fix longstanding bug in vertical alignment - of text fragments in cairo terminals (including wxt). Text containing - superscripts was placed too low; text with subscripts too high. - This is corrected by a query to pango_layout_get_baseline(). - Bugs #1319 #1586, probably others - -2015-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_word f_words): The implementation of word(string,N) - returned the total number of words for any N<0. This was used internally - to implement words(string) and word(string,-1) but meant that any N<0 - returned an unexpected value to the user. Limit the special case to - a single magic value and let all other N<0 return "" as expected. - -2015-11-02 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to doc version 1.967 - - * docs/gnuplot.doc: typos - -2015-11-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.h src/plot2d.c: Add a new field to (struct curve_points). - plot->base_linetype holds the original linetype index for this 2D plot, - prior to applying variable color, linetypes defined in terms of other - linetypes, etc. This allows assigning successive colors or other - properties to elements of a 2D plot (e.g. histogram components, boxplot - factors). An analogous field splot->hidden3d_top_linetype is already - maintained in (struct surface_points) for use by 3D plots. - - * src/graphics.c src/plot2d.c: In boxplots with multiple component - factors, interpret "lc variable" as requesting a new color for each - factor. - -2015-10-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/util3d.c src/util3d.h (edge3d_intersect two_edge3d_intersect): - Change parameters to (coordinate *) rather than (array, index) so that - the same routines can handle clipping 3D vectors that are not stored as - successive entries in an array. - - * src/graph3d.c src/plot3d.c: Support "set clip {one|two}" for 3D - vector plots. - - * src/datafile.c (df_set_key_title): Use of columnheader(N) could - sometimes leave an extraneous character '@' in the plot title. - This was introduced in 5.0.1 as a side effect to the fix for Bug #1596. - -2015-10-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/interpol.c (mcs_interp): Handle log-scaled y axis when using - monotonic cubic splines ('smooth mcs'). - - * src/plot2d.c (boxplot_range_fiddling) src/graphics.c (plot_boxplot): - Fix autoscaling of x axis if there are multiple boxplots with factors. - Bug #1696 - - * src/graphics.c (plot_points plot_boxplot): Declare and initialize - p_height and p_width locally (no code was updating the global copy). - This fixes nonfunctional "set clip points" command in version 5. - - * src/boundary.c (do_key_layout) src/graph3d.c (boundary3d): - Remove reference to p_height, p_width, which were not being initialized. - - * src/show.c (show_clip) docs/gnuplot.doc: Clarify effect of "set clip". - -2015-10-27 Ethan A Merritt <merritt@u.washington.edu> - - * Modify demos to increase coverage of gnuplot features. - line_arrows: illustrate 'set arrow from ... rto ...' - rgba_lines: illustrate 'set arrow from ... length ... angle ...' - smooth: illustrate both smooth cumulative and smooth cnorm - dashtypes: illustrate numerical dashtype definition - monotonic_spline: smooth mcs - break_continue: exercise "exit" command from inside "call <foo>" - volatile: exercise 'skip', 'volatile', 'refresh' - boxplot: illustrate 'nooutliers' - - * demo/all.dem: Call additional demos to increase code coverage. - rgba_lines fitmulti break_continue monotonic_spline volatile - -2015-10-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/axis.c src/util.c src/util.h src/mouse.c - src/dynarray.c src/util3d.c src/hidden3d.c: Get rid of graph_error(). - The routine graph_error() was originally intended as a special case of - int_error() to be called "while graphics active". We have long since - gone to calling int_error() everywhere. Replace the remaining instances - of graph_error() and remove it. Comment out one call site in mouse.c - that can no longer be reached since the error is trapped elsewhere. - -2015-10-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (save_autoscaled_ranges restore_autoscaled_ranges) - src/axis.h src/plot2d.c: Auto-scaled axis ranges are extended as data - is read in, but this is counterproductive for some processing modes - (e.g. the y values contributing to 'smooth cnorm'). The new save/restore - routines allow these plot modes to undo the effect of range extension. - -2015-10-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (gstrptime): Fixes a bug in processing time input using - format "%s". Because time input can cross whitespace between fields, - the string being parsed for one field may continue on into the next - field. The "%s" code looked for the first decimal point in the string, - but would read beyond the current field to find it, causing an erroneous - fractional second to be added to the input time value. - - * term/post.trm: Fix scope of dictionary in Prolog - - * src/term_api.h term/post.trm src/graphics.c (plot_border) - term/PostScript/prologue.ps term/PostScript/prologues.h: - - This change addresses a backward-compatibility issue with the postscript - terminal in version 5. The long ago original postscript terminal used a - double-width line for the plot border. This was what you got when you - specified "lt -1" in a gnuplot command. All terminals agree that lt -1 - is black and solid, but postscript is anomalous in thinking that it has - double width. Furthermore postscript is anomalous in applying the - current line width to draw dots (pointtype 0). This meant that dots - drawn with lt -1 were twice as big as dots drawn with other linetypes. - We could just get rid of the double-width anomaly, but then new plots - would have a thinner border than old plots produced with the same - script. This patch instead adds a layer flag TERM_LAYER_BEGIN_BORDER - so that the postscript terminal can temporarily use a new line type LTB - rather than LTb. All other terminals will ignore it. - Bug #1689 and others - -2015-10-16 Abhijin Adiga <abhijin@users.sf.net> - - * term/lua/gnuplot-tikz.lua: Truncate term->h_char using math.floor(). - This prevents text placement errors on OSX 10.10.2 with lua5.3. - Bug #1682 - -2015-10-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua/gnuplot-tikz.lua: lua5.2 deprecates loadstring() in favor of - load(). One of my test systems gives runtime errors without this change. - Bug #1682 - -2015-10-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/makefile.awc (COREOBJS): Add jitter.c module. - - * src/jitter.c (jitter): Repair initializer --- completely empty - is not allowed. - -2015-10-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (parse_label_options): Only the full word "boxed" is - acceptable as a label option. Allowing the shorthand "box" causes - confusion in other commands with a "box" option. Bug #1681 - - * src/interpol.c (cp_implode): Fix bug in "smooth cnorm" that has been - there since the option was first introduced. - -2015-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.h src/plot2d.c docs/gnuplot.doc: Until now, - "plot foo using N smooth freq" and "plot foo using N smooth kdensity" - were interpreted as if the using clause was "using 0:N". This is - almost certainly not what the user expected. Change it so that the - interpretation is "using N:(1.0)", i.e. unit weight for each data point. - This was always the recommended use in the docs; now it is the default - interpretation as well. - -2015-10-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_obj): "set obj N polygon ..." failed to consume all - possible options and keywords. - Bug #1680 - - * src/plot2d.c (get_data): "plot $foo using N smooth kdensity" is now - interpreted as "using N:(1)". Before it was interpreted as "using 0:N" - which makes little sense. - -2015-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/graphics.c src/save.c src/set.c src/term_api.h - src/unset.c demo/varcolor.dem: - Clean up implementation of "set errorbars <line properties>". - Apply errorbars line properties also to candlesticks and boxplots. - - Add explicit handling for two line property settings that to the best - of my knowledge were not used intentionally by other code paths. - - * src/term.c (term_apply_lp_properties): Treat LT_DEFAULT as "do not - change current setting" rather than pass it to term->linetype(), which - could produce unpredictable behaviour (not all terminals act the same). - - * src/gadgets.c (apply_pm3dcolor): Treat TC_VARIABLE as "do not change - current setting". Previously it would have resulted in setting the - color to black, but that was unintentional. - -2015-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): The test intended to check whether the - user requested more than 7 columns of formatted input has always been - incorrect for 'splot'. It tested against MAXDATACOLS rather than the - actual number of requested columns. The test worked but was redundant - for 'plot' since requesting more than 7 columns will trigger another - error message "too many columns for requested style". Remove the test. - Bug #1675 - - * src/axis.c src/axis.h src/boundary.c src/gadgets.c src/gadgets.h - src/graph3d.c src/graphics.c src/hidden3d.c src/misc.c src/save.c - src/set.c src/term_api.h src/term.c: - #define and use DEFAULT_P_CHAR for all initializers. - Change lp_style_type.p_char from an unsigned long to char [8]. - This suffices to hold the UTF-8 encoding of all unicode code points. - Bug #1676 - -2015-09-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c (do_key_sample): Use the same arrowhead style in the - key sample as used by the plot itself. - -2015-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxplot): Fix overrun if no valid points are - found for some boxplot category (a.k.a. "level"). Fix clipping of - outliers in zoomed boxplot. - -2015-09-15 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/lua.trm: lua 5.3 deprecates luaL_checkint() - Bug #1672 - -2015-09-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/jitter.c src/jitter.h src/makefile.all - src/Makefile.am src/save.c src/save.h src/set.c src/show.c - src/tables.c src/tables.h src/unset.c: New plot capability. - - Syntax: - set jitter {overlap <yposition>} {spread <factor>} {wrap <limit>} - {swarm|square} - When the x coordinates of a data set are restricted to discrete values - then many points may lie exactly on top of each other. Jittering - introduces an offset to the coordinates of these superimposed points - that spreads them into a cluster. This type of plot is called a - "bee swarm" plot in R and other packages. - - * demo/all.dem demo/html/index.canvas demo/html/index.save - demo/html/index.svg demo/html/Makefile demo/html/Makefile.canvas - demo/html/Makefile.svg demo/jitter.dem docs/gnuplot.doc - docs/plotstyles.gnu: Documentation and demos for jitter settings and - bee swarm plots. - -2015-09-12 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Reorganize the section containing plot style - examples so that styles not generated by "with <foo>" are listed - separately at the end. E.g. polar plots are generated by the same - "plot ... with <foo>" commands as non-polar plots. - -2015-09-11 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/help.c term/lua.trm: #ifdef _WIN32 - '\r' is accepted as a terminator after a prompt. - -2015-09-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: For 2-column data plots with filledcurves, treat - y=<value> as if it were provided in the 3rd data column. - Bug #1568 - - * src/graphics.c (plot_boxes): Prevent array overrun if there are - undefined points are at the end of a data set, as in the first plot - of smooth.dem. - -2015-08-31 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * src/wxterminal/wxt_gui.cpp: Reset "yield" interlock on ctrl-C. - Prevents endless futile loop with single-threaded wxt terminal. - -2015-08-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: Remove FPRINTF statements referring - to a stopwatch timer that no longer exists. - -2015-08-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): - The single-threaded code path used by OSX and Windows (and optionally - linux) was not honoring "pause mouse ..." commands, including "pause - mouse close". - - * src/wxterminal/wxt_gui.cpp (wxt_exec_event): - The single-threaded code path could lose an input character that arrived - during a "pause mouse" interval. Use ungetc to push a character back - onto the input queue in this case. (Not applied for Windows but maybe - it should be?) - -2015-08-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_option_index): Sanity check that index >= 0. - - * src/datafile.c (df_determine_matrix_info): "skip" option applies to - records at the start of ascii matrix data as it does for normal ascii - files. - - * src/datafile.c (initialize_plot_style): - Some binary file options need to know what style of plot is involved. - This lookup was being done as part of adjust_binary_use_spec(), but - not all plots need to call that routine for anything else. - Move the plot style lookup into a separate routine. - - * src/datafile.c (df_add_binary_records): - Remove dead code (error checks that can never be reached). - Make some internal bookkeeping variables df_* static. - - * src/datafile.c: whitespace cleanup - -2015-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): The code supporting an input format - assumed that the data being interpreted came from a file rather than - using whatever string was returned by df_gets(). - E.g. this failed - plot $datablock using 1:2 "format-string" - Bug #1666 - -2015-08-24 Dima Kogan <dima@secretsauce.net> - - * src/datafile.c (df_open): - Syntax "<&N" plots data read from an arbitrary file descriptor, but - that descriptor may be a pipe (non-seekable) rather than a true file - (seekable). If the fd is not seekable, mark it a "volatile" so that - gnuplot doesn't try to reread it on "replot". - -2015-08-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/doc2tex.c (process_line): Improve passing of hyperlinks to - pdftex. Allow both multi-line and single line format, for both - external and internal hrefs. - -2015-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (map_position_r): There is no way to indicate - "no offset" as opposed to "offset 0", which was causing problems - if "offset 0" was applied as axis coordinates on a log-scaled axis. - Now in 2D "offset 0" is interpreted as no offset even for log-scaled - axes. 3D offsets are still a sore point. - Bug #1662 - - * src/datafile.c src/eval.c src/gp_types.h src/graphics.c sec/plot3d.c - src/save.c term/svg.trm term/tgif.trm: - Remove dead code. - -2015-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c src/parse.h src/plot2d.c src/plot3d.c src/set.c - src/unset.c demo/iterate.dem docs/gnuplot.doc: - New special case of iteration in a plot command: - plot for [i=<start> : *] datafile ... - This will iterate over all available data without generating an - error message when the data is exhausted and without generating - empty plots. It can be used to iterate over an unknown number of - columns (e.g. for histograms), an unknown number of data blocks - (e.g. plot for [i=0:*] datafile index i) or an unknown number of - datafiles where the file name is generated from the iteration - variable. - -2015-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotEvent.cpp src/qtterminal/qt_term.cpp: - Make the error messages from a broken connection to gnuplot_qt less - alarming. No change in functionality. See Bug #1554 - - * src/qtterminal/qt_term.cpp: Use fprintf(stderr, ...) instead of - qDebug() << ... for the inboard driver. This allows allows Windows - to catch error messages by the redefinition of fprintf in wtext.h. - See Bug #1554 - -2015-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/dumb.trm src/stdfn.h: Handle UTF-8 encoding so long as each - printed glyph occupies only one character cell. The code is specific - to UTF-8; i.e. it does not handle other multi-byte encodings. - Bug #1477 - -2015-08-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): The sampling coordinates - generated by pseudofiles '+' and '++' were passed as an ascii string, - which truncated precision to 6 digits (default for format %g). Now pass - in parallel the original (double) value so that no precision is lost. - Bug #1650 - -2015-08-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/misc.c src/tables.c - * docs/gnuplot.doc demo/break_continue.dem: - New commands `break` and `continue` to short-circuit or terminate - iteration of a `do` or `while` bracketed clause. - -2015-08-07 "Jun T." <takimoto-j@kba.biglobe.ne.jp> - - * term/aquaterm.trm: Failure to save+restore original color was causing - successive fill areas to become more and more transparent. - Alsi, make background color pure white. - -2015-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (string_or_express): Prevent an empty string variable or - expression from being interpreted as the magic names '' or "". - E.g. - file1 = 'real-file' - file2 = "abc"[3:0] # any expression that evaluates to '' - plot file1,file2 # plots file1 twice, no error message - Bug #1660 - -2015-08-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/graphics.c src/graphics.h src/save.c src/save.h - src/set.c src/setshow.h src/show.c src/unset.c src/tables.c - docs/gnuplot.doc demo/varcolor.dem: - - Support a separate set of line properties for errorbars. - New command "set errorbars" is an expansion of "set bars" to include - line characteristics. Save errorbars style (previously not saved). - E.g. set errorbars lc "black" lw 0.75 - - * src/util.c (streq): Avoid buffer underrun on empty string. - -2015-08-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/qtterminal/qt_term.cpp: Fix #ifdef block syntax, modify - string concatenation to make it acceptable in VS2010. - -2015-08-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/Makefile.am (GNUPLOT_QT) [BUILD_QT]: New variable to - communicate optionally transformed name of gnuplot_qt into main to - main executable. - (AM_CPPFLAGS) [BUILD_QT]: Pass GNUPLOT_QT to the preprocessor. - (clean-demo) [BUILD_QT]: Fix copy-paste-edit oversight. - - * src/qtterminal/qt_term.cpp (GNUPLOT_QT): If not defined from - outside, provide fall-back definition equal to previously - hardcoded value. - (execGnuplotQt): Untangle the conditionals a bit. Use new macro - GNUPLOT_QT for the name of the outboard driver executable (fixes - SF bug #1652) - - * term/pslatex.trm [!EAM_BOXED_TEXT]: Remove empty fallback - definition for new entry function. Remove extraneous optional - terminal API entry. - -2015-08-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (history_command): protect against try_to_get_string - failure in history commands. - - * src/parse.c (next_iteration): protect against user corrupting - iteration variable. E.g. either of these used to segfault - plot for [n=1:2] x lw n='foo' - do for [n=1:2] { n="foo" } - - * src/plot2d.c src/plot3d.c src/set.c: Do not allow function plots - to specifc an image style (with image/rgbimage/rgbalpha). - - * src/command.c (pause_command): protect try_to_get_string failure in - 'pause' command. linux/windows/os2 code fixes are distinct. - - * src/command.c (plot_command splot_command): Fuzz-testing found - cases where 'refresh' triggered program failure if there was not an - active refreshable plot. - - * src/plot3d.c (eval_3dplots): 2015-05-07 code to accommodate images in - hidden3d plots was being invoked even if hidden3d was not active. - - * src/set.c (set_key): protect against try_to_get_string failure. - - * src/axis.c (get_position_type): Revert recoding of get_position_type - (2015-02-15). Fixes failure to keep axis setting if already known. - Bug #1658 - - * src/command.c (new_clause {if|else|while|do}_command): - Better bookkeeping for the depth of nesting in bracketed clauses. - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): - Example of bug: plot for [i=1:3] T=sprintf("%d",i),i title T - previous code evaluated the definition three times and only then - drew [one] plot. After this fix the code executes define+plot - three separate times. - - * src/graphics.c (place_parallel_axes): Ignore plots containing no data - and hence no initialization information for parallel axis structures. - Example of bug: plot 'foo' using 1:2:3:4:5 with parallel, 0 - - * src/command.c (toggle_command): Handle plots with no title. - -2015-07-31 Ethan A Merritt <merritt@u.washington.edu> - - Sync restored repository on SourceForge to in-progress commit tree - from 2015-07-15. So far as I can see the only files affected are - demo/html version updates. - -2015-07-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_determine_matrix_info): The new (12 May 2015) - mechanism for tracking matrix and image dimensions transposed the - row and column counts in the case of - plot $asciidata matrix with image - Bug #1654 - - * demo/imageNaN.dem: Revise the demo to use non-square matrices - so that it acts as a unit test for errors like the above. - - * demo/html/index.*: Update version and date - -2015-07-15 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/eval.c (update_gpval_variables): Windows variant of linux/posix - uname() information. Store in variables - GPVAL_MACHINE e.g. i686, x86_64 - GPVAL_SYSNAME e.g. linux, Windows - GPVAL_BITS number of bits in a pointer - - * src/eval.c: Re-order code to support Windows non-C89 compilers - (e.g. Visual Studio 2010) (thanks to Akira Kakuto). - -2015-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): Bookkeeping for matrix dimensions in plot - structure must not be applied inside a stats command. - - * src/graphics.c (process_image): Sanity check that input image data - does not overflow the space allocated for it based on dimensions - calculated when the input file was first opened. - - * src/plot3d.c (eval_3dplots): Skip empty input file cleanly, as we - already do for 2D plots. - - * src/datafile.c (df_open): Filename of the form "+file.dat" must not - be mistaken for special file '+'. - -2015-07-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp term/cairo.trm term/wxt.trm: - Change fixed-length fontname storage to dynamic (cairo + wxt terminals) - to prevent crashes found by fuzzing. - - * term/hpgl.trm (set_font): Prevent same crash in hpgl/pcl5 terminal. - - * src/datablock.c: The storage in a zero-length datablock was not - initialized. - -2015-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (bind_command) src/mouse.c (bind_fmt): - Very old bug (pre v4.0) in parsing the bind command, such that - bind X" some longish command" - would corrupt memory. The output format was bad also. - - Remove ancient files from active repository: lineproc.mac header.mac - According to Changelog.4 this was done in 2013, but apparently not. - -2015-07-11 Christoph Bersch <usenet@bersch.net> - - * term/epslatex.trm: enable dashtype processing - -2015-07-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/imageNaN.dem: Fix broken command in demo. - -2015-07-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (load_tic_series): Incorrect nesting of brackets caused - "set xtics 0" to be accepted rather than rejected. This could lead - to various bad outcomes (as found by fuzz-testing). - - * src/stats.c: More fuzz-testing. - Possible double free if string_or_express returns via int_error(). - - * src/set.c: More fuzz-testing. Fix various places where failure to - parse a string could lead to a double-free - - * src/axis.c (load_range): More fuzz-testing. "set [xyz]range" - per se does not care if the range limits are extremely large, - e.g. xrange [ -inf.0 : inf.0 ] - but other places in the code do not handle this cleanly. - Limit the range to +/- VERYLARGE - - * src/set.c (set_terminal) src/unset.c (unset_terminal) - src/eval.c (del_udv_by_name): More fuzz-testing. - If GNUTERM is defined but empty, or if a "set term <garbage>" command - fails during parsing, then the current terminal could be left as NULL. - Now (I hope) we guarantee that at worst it is "unknown". - - * src/pm3d.c (pm3d_plot): More fuzz-testing. - If no interpretable pm3d scan lines are found in a file the program - could die on a divide-by-zero error before noticing the real problem. - - * src/set.c (set_style) src/show.c: "set style func parallelaxes" - is not supported. "set style data parallelaxes" was not saved. - -2015-07-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/estimate.trm: Initialization of enhanced text string buffer. - Bug #1648 - - * src/set.c src/fit.c src/term.c src/parse.c term/cgm.trm term/gd.trm - term/x11.trm: Fuzz-testing found a recurring pattern of fragile code: - if (isstringvalue(c_token)) - foo = try_to_get_string(); /* cannot fail */ - Unfortunately it _can_ fail if an expression begins with a quoted string - but is coerced into returning a numerical value. All of these sites - require a specific check for (foo != NULL). - Bug #1649 - - * src/eval.c (pop_or_convert_from_string): Some of the cases of bad - syntax can also be caught inside try_to_get_string() itself. It doesn't - hurt to add the check at this level also (belt+suspenders approach). - Bug #1649 - -2015-07-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_set_dashtype): If the dashtype - is changed then the current path must be stroked and reopened. - -2015-07-03 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/plot2d.h: Move the definition of SMOOTH_BINS_OPTION - into plot2d.h, since configure.ac is not seen by the build system on - MSWin. - - * demo/html/webify.pl: Default to pngcairo terminal rather than png. - -2015-07-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: An incorrect test for variable color was used for - splots with impulses or points. Replace it with a shared correct test - in check3d_for_variable_color. Note: Binary plots can still set an - incorrect flag plot->pm3d_color_from_column but this flag is no longer - sufficient to cause the observed problem. - Bug #1644 - -2015-06-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.ac: Check for existence of latex2html. - * docs/Makefile.am (htmldocs/gnuplot.html): Do not try to build if - latex2html was not found. - (alldoc): Target 'ms' no longer exists. Test actual outputs made - from gnuplot.ms instead. - -2015-06-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotItems.dpp (drawPoint): - The "dots" style was inadvertantly made a no-op by change on 2015-02-15. - - * configure.ac demo/bins.dem docs/gnuplot.doc src/gp_types.h - src/plot2d.c src/interpol.c src/interpol.h demo/random.dem: - - New data filter "bins" sorts the original data into equal width bins - on x and then plots a single value per bin. The default number of bins - is controlled by `set samples`, but this can be changed by giving an - explicit number bins=N in the plot command. The new feature is marked - EXPERIMENTAL in the documentation because we may decide to change the - syntax to "smooth bins" or "filter bins" or something else. - -2015-06-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (do_event) src/command.c (replotrequest): - An attempt to zoom or scroll the output from a "test" command could - produce useless error messages on the console. Now it will revert to - the previous plot command, if any. - Bug #1627 - -2015-06-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (gprintf): 'L' had broken if-else since 2010; 'B' was - missing handling for power zero; 'B' had problem with excess - precision. - -2015-06-15 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/term.c (test_term): Use of unsigned terminal coordinates could - cause overflow and jam up display of very small plots in x11 terminal. - Bug #1626 - -2015-06-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxes): Autocalculation of box widths was bad - whenever a NaN data value was encountered. Now such data points are - ignored, as they were in version 4. - Bug #1623 - -2015-06-14 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/term.c (test_term): Dashtype sample labels displayed by `test` - were off by one. - -2015-06-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/fit.c (fit_command): If there's exactly one more range in a - 'fit' command than there are independent variables, that last - range has to be applied to the dependent variable - (a.k.a. "function"). - -2015-06-04 <pudh4418@users.sf.net> - - * configure.ac: Qt5 as build for Arch linux apparently requires - compilation with -fPIC rather than -fPIE. - Bug #1616 - -2015-06-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/util3d.c (draw3d_line_unconditional polyline3d_next): - Do not reset line properties for each component line segment in a - contour line. This improves the dash-pattern rendering for contours. - Bug #1612 - - * src/parse.c (add_udv): Warn if too-long variable name is truncated. - Bug #1526 - -2015-06-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c: Clarify the current "set clip" settings in "show clip". - - * src/term_api.h src/graph3d.c: Send TERM_LAYER_3DPLOT to the terminal - at the start of an splot. - - * src/qtterminal/QtGnuplotScene.{cpp|h} src/qtterminal/qt_term.cpp: - If the current plot is 3D, do not update the status dispplay of x/y - coordinates in response to a mouse move event. - Bug #1605 - -2015-06-01 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/mouse.c (event_buttonrelease): Improved bookkeeping for which - icon to display during mouse interaction. - Bug #1617 - - * src/gplt_x11.c (reset_cursor): Do not reset the cursor of the - currently active plot to default just before setting it to the correct - cursor icon. Prevents flicker due to transient change of icons. - Bug #1618 - -2015-05-31 Jun-ichi Takimoto <jtakimoto@users.sf.net> - - * src/qtterminal/qt_term.cpp: Mouse coordinates must be passed to the - clipboard as a QString. - Bug #1602 (and earlier bugs) - - * src/qtterminal/QtGnuplotScene.cpp (mouseReleaseEvent): With the above - fix in place, it is not necessary to lock out events during the - doubleclick interval. - -2015-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotEvent.cpp src/qtterminal/QtGnuplotScene.cpp: - Always respond to mouse button release event, even if the graph widget - is busy or the mouse has left the window area. This prevents the event - from being lost, causing the rotate-on-mouse-motion mode to get stuck. - Bug #1602 - - * docs/doc2ms.c docs/windows/doc2html.c: Avoid finicky C90 compiler - warnings. - -2015-05-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/Makefile.am (noinst_PROGRAMS): Add doc2wxhtml. - (MOSTLYCLEANFILES, CLEANFILES): Split up into two lists, updated. - (GNUPLOT_EXE): New variable, points to freshly built gnuplot - executable. - ($(GNUPLOT_EXE)): Build executable, if not already present. - (grotxt, grodvi, grops): Turn into proper phony targets: depend on - the file actually built, do nothing themselves. - (troff, gnuplot.nroff, gnuplot.txt, gnuplot-groff.dvi) - (gnuplot-groff.ps): Must depend on titlepag.ms in srcdir, not - builddir. Use automatic make variables to simplify. Changed build - of gnuplot.ms allows to remove complications for out-of-tree - builds. - (gnuplot.ms): Call doc2ms with new argument to ease out-of-tree - builds. - (gnuplot.tex, pdffigures, figures, nofigures, pdffigures.tex): - Rules removed. Having different rules produce files of the same - name, but with different content depending on the order of make - targets built, cannot possibly work. - (figures.tex, nofigures.tex): Keep two different versions of - gnuplot.tex in different-named files. - (pdf_figures, wxhelp_figures): New targets to handle generation of - figures for use. - (gnuplot.tex): Now just a link to (or copy of) nofigures.tex. - (gnuplot.pdf, nofigures.pdf): Create pdffigures.tex on-the-fly, - because its content cannot be assumed correct any other way. - (dvi): Re-enabled. - (gnuplot.dvi, gnuplot.pdf, nofigures.pdf, gpcard.dvi): Must depend - on titlepag.tex and toc_entry.sty in srcdir, not builddir. - (gnuplot.htb): Add necessary dependencies, some of them in srcdir. - (doc2wxhtml_SOURCES, doc2wxhtml_CPPFLAGS): Use automake to build - wxhtml, instead of spelling out compile rules ourselfs. - - * configure.ac (AM_INIT_AUTOMAKE): Up version requirement a bit, - enable option subdir-objects. - - * docs/doc2ms.c (main, init): Add optional argument giving the - location of titlepag.ms to be put into the file. This way the - file can be processed by roff tools as-is, without having to patch - it on-the-fly. - -2015-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_svg.js: The test (typeof tspan_element == 'tspan') - is now failing in multiple browsers. Comment it out for now. - Bug #1340 - -2015-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/tables.c docs/gnuplot.doc: - New command `printerr` works exactly as `print` except that output is - always to stderr even if normal print output has been redirected using - `set print`. - -2015-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h: Update routines that were missed in the - axis pointer revision. Remove GET_NUM_OR_TIME (no callers remain). - Reorganize GET_NUMBER_OR_TIME, get_num_or_time to handle parallel axes. - -2015-05-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/tek.trm (SIXEL_fillbox): Handle FS_DEFAULT - - * term/tek.trm (SIXEL_make_palette): A second call to make_palette() - was failed to reset the state, leading to loss of all palette info. - Now it overwrites any previous palette. - Bugfix (e.g. heatmaps demo) - -2015-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotScene.* src/wxterminal/wxt_gui.* - term/svg.trm term/js/gnuplot_svg.js docs/gnuplot.doc: - EXPERIMENTAL support for a variant of hypertext that allows you to pop - up an image on mouse-over. The initial implementation looks for a - hypertext string of the form "image{{xsize},{ysize}}:filename". - -2015-05-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/command.c (pause_command): The windows "pause" command is - sensitive to the locale encoding. Keep a translation table to convert - between gnuplot's idea of the encoding and WIN32 encoding states so that - strings output by "pause" are not corrupted. - Bug #1580, Feature Request #415 - -2015-05-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/gadgets.h: Move definition of struct t_image - from term_api.h (no terminals use it) to gadgets.h (2D and 3D plots). - - * src/datafile.c src/graphics.c (process_image): Remove old code that - tried to empirically determine grid size of an image based on 3D coords. - Replace it with new bookkeeping in plot->image_properties.{ncols,nrows} - that is initialized when the image data is read in. - Bug #1607 - -2015-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/contour.c src/graphics.c src/internal.c src/interpol.c - src/plot3d.c src/save.c src/set.c src/show.c src/tabulate.c: - Whitespace/codestyle cleanup "if (FOO)" rather than "if( FOO )" - - * src/bitmap.c src/eval.c src/gadgets.c src/getcolor.c src/hidden3d.c - src/plot3d.c src/save.c src/set.c src/show.c src/stats.c src/unset.c: - Whitespace/codestyle "for (...) {" rather than "for( ... ){" - -2015-05-07 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h - src/plot2d.c src/hidden3d.c: - Replace plot_image_or_update_axes(*plot, TBOOLEAN), which handled - 2 options, with new routine process_image(*plot, t_procimg_action). - - * src/plot3d.c (eval_3dplots): Accommodate images in hidden3d - plots in a way analogous to the current handling of pm3d surfaces. - A phantom surface is constructed consisting of a single rectangle - that overlays the image, and that phantom is included as surface - in the hidden3d sort/divide/occlude processing. - -2015-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (build_networks): In hidden3d mode do not draw - the surface if the keyword 'nosurface' is present (set the linetype - internally to LT_NODRAW). Normally this keyword would mean "draw only - the data lines, not the isosampled grid lines", but that makes little - sense for a hidden3d surface. This provides a way to draw only the - contours of a hidden3d contour plot. - See Bug #1603 - -2015-05-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/caca.trm: Insert missing include of <sys/select.h>. - - * src/wxterminal/wxt_gui.cpp: Insert missing include of - <sys/select.h>. - (wxt_waitforinput): Add note about missing check for HAVE_SELECT. - -2015-05-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/Makefile.am (getcolor_x11.o): Use Automake macros to - control whether tool calls are echoed or not. - - * docs/Makefile.am (LUA_HELP, allterm.h, troff, gnuplot.nroff) - (grotxt, grodvi, grops, gnuplot.ms, htmldocs/gnuplot.html) - (pdffigures.tex, figures, nofigures, gnuplot.pdf, gnuplot.tex) - (gnuplot.dvi, gpcard.dvi, gnuplot.ps, gpcard.ps, gnuplot.hlp) - (gnuplot.gih, allgih, gnuplot.htb, wxhelp/wgnuplot.html) - (wxhelp/doc2html.o, wxhelp/doc2html$): Use Automake macros to - control whether tool calls are echoed or not. - (gnuplot.texi gnuplot-eldoc.el): Move compilation of ELisp out of - here. There was already a separate rule for it. - (${ELCS}, gnuplot.info, install-info, gnuplot.ipf, gnuplot.rtf) - (gnuplot.rnh, check-local, clean-local, install-vms): Use Automake - macros to control whether tool calls are echoed or not. - - * docs/gnuplot.doc: Blank-only line fixed. - -2015-04-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c: If a hidden3d plot included a "with image" component, - the hidden3d processing was tracking individual pixels as points. This - slowed everything down without accomplishing anything useful. Now we - ignore image plots altogether in the hidden3d code. - - * demo/hidden2.dem: Add a demo/test for hidden3d processing of image - plots. It doesn't actually work at this point, but is useful as a test - case for new code. - - * src/axis.c (axis_init) src/axis.h src/plot2d.c: Funnel existing - macros AXIS_INIT2D and AXIS_INIT3D into a single routine axis_init(). - Whatever reason there was originally to distinguish the 2D and 3D cases - is no longer applicable in version 5. - -2015-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * Makefile.maint docs/pdffigures.tex docs/Makefile.am: - Try to reduce churn during "make check" "make pdf" etc by removing - dvi as an auto-generated target and defaulting to documentation with - figures. - -2015-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Turning on "hidden3d" caused an off by - one error in assigning color to contours levels. - Bug #1603 - - * src/command.c (do_line): If an input line starts with a shell escape - (e.g. '!' for linux) bypass first stage processing (df_tokenise) of the - remainder of the line. NB: This means that text following a comment - character is now passed to the shell rather than being stripped. - Bug #1517 - -2015-04-24 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/misc.c (parse_fillstyle): Additional sanity checks when parsing - fillstyle options. - Bug #1597 - -2015-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: Fit code really cares about MAX_NUM_VAR, not MAXDATACOLS. - -2015-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_stringcolumn f_columnhead df_set_key_title): - columnhead(FOO) could return strange results for FOO > 999 or - undefined or otherwise invalid. Now we extend the range of valid - column number to 9999 and return 0 for invalid or out of range FOO. - Bug #1596 - -2015-04-21 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac src/axis.c src/axis.h src/plot2d.c src/set.c src/unset.c: - Switch to dynamic allocation of parallel axis structures. The count of - currently allocated structures is kept in global num_parallel_axes. - All storage is released by "reset". - At this stage there still remains a limit on how many parallel axes you - can use in practice because each one consumes a slot in the `using` - specifier (limited by MAXDATACOLS). - -2015-04-20 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * src/term.c (test_term): Show terminal's native dashtype support in - the `test` command output. - -2015-04-20 Jun Takimoto <takimoto-j@kba.biglobe.ne.jp> - - * src/mouse.c (apply_zoom): axis->formatstring and axis->ticfmt are - now dynamically allocated and must be saved and restored when zooming. - -2015-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h: axis_defaults[PARALLEL_AXES] no longer needed. - - * src/set.c src/show.c src/unset.c: Clean up a few references to - PARALLEL_AXES that should instead test for a more restrictive set of - axes. - - * src/axis.c src/axis.h: Simplify implementation of axis_name(). - -2015-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h: Second stage of moving parallel axis support - into dynamically allocated storage. Move the parallel axis structures - into a separate array and shrink the main axis_array[] accordingly. - - * src/save.c src/set.c src/unset.c: Split various loops over the full - set of axes into two separate loops - for (axis=0; axis<AXIS_ARRAY_SIZE; axis++) ... axis_array[axis] - for (axis=0; axis<num_parallel_axes; axis++) ... parallel_axis[axis] - - * src/unset.c (unset_range reset_command): Simplify code sections that - only have to handle the regular axes (not called for parallel axes). - Add temporary code to handle "reset" of parallel axes; this can go away - again when "reset" is changed to deallocate the parallel axes altogether. - -2015-04-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (set_color): Some terminals (pdfcairo, post) produced - invalid output if given NaN as a gray value in term->set_color(). - Others variously ignored it, replaced it with black, or gray=0. - Now we trap NaN in the core code and substitute a request for background - color. Note: I'd rather substitute with a fully transparent color, - but not all terminals handle transparency. - Bug #1595 - - * src/axis.c src/axis.h: Initial stage of moving parallel axis support - into dynamically allocated storage. Here we introduce a new global - AXIS *parallel_axis = &axis_array[PARALLEL_AXES] - For now it points to the existing storage. Later it will become dynamic. - - * src/graphics.c (plot_parallel place_parallel_axes) - src/set.c (set_paxis) src/show.c (show_paxis): - Index or point to parallel axis structures relative to parallel_axis[] - rather than relative to axis_array[]. - - * src/plot2d.c (get_data) src/save.c (save_set_all) - src/unset.c (unset_command): - Index or point to parallel axis structures relative to parallel_axis[] - rather than relative to axis_array[]. - - * src/unset.c (free_axis_struct): New routine to free fields in an - axis structure that is about to be reinitialized or deleted. - -2015-04-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_paxis): Simplify call to save_prange(); - (show_range, show_link): Call save_prange() instead of deprecated - save_range(). - - * src/save.c (save_range): No longer called. Removed. - (save_set_all): Replace calls to save_range() by equivalent ones - to save_prange(). - - * src/stdfn.h (FPRINTF, DEBUG_WHERE): Make inactive definitions - more similar to active ones, for the benefit of people who don't - like to use {} around their if() bodies. - - * src/save.h: Remove prototype for save_range. - -2015-04-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_parallel place_parallel_axes): Revise to use - axis pointers rather than AXIS_INDEX. - - * src/unset.c: Avoid using AXIS_INDEX where practical. - Limit initialization of grid/labels/etc to the axes that need it. - - * demo/fit.dem: Exercise "set fit covariancevariables" in the demo. - - * src/save.c: Avoid using AXIS_INDEX where practical. - -2015-04-10 Daniel J Sebald <daniel.sebald@ieee.org> - - * term/tkcanvas.trm: Fix problems handling an empty font family name - in a requested font string, as in set term tkcanvas font ",15" - Bug #1591 - -2015-04-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c: Revise internal routines to use axis pointers rather - than AXIS_INDEX. - -2015-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (setvarcovar): Allocated size of string for FIT_COV_*_* - variables was too small, corrupting the allocation heap. - - * src/fit.c (regress_finalize): Show results in the log file even if - the "quiet" option suppresses screen output. - -2015-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (termp_apply_lp_properties): Fix incorrect assumption - that dashtype 1 is always solid and already set by default. - Bug #1588 - - * term/emf.trm (EMF_linetype): Two linetypes (LT_SOLID LT_AXIS) have - an intrinsic dash pattern. - Bug #1588 - - * src/term.c (test_term): Use same sequence of setting line properties - linewidth/linetype/dashtype in the "test" command as in the core code. - - * demo/imageNaN.dem: Illustrate NaN generated by negative values - on a log-scale palette mapping. - - * src/set.c src/term.c: Adjust the new "set mono" option so that - "set term xxx mono" is not persistent. I.e., it doesn't leave "set mono" - in effect after the next terminal change. This makes it more like the - version 4 mono terminal option. "set mono" itself is still persistent. - -2015-04-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term_api.h (DEFAULT_MONO_LINETYPES): Empty initializer is - not allowed. - -2015-04-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE): - If the value being stored to a log-scaled axis is negative, the stored - value should be NaN rather than the un-logged original value. - - * src/plot2d.c (get_data): But even that doesn't help if UNDEF_ACTION - re-stores the orginal value, so don't do that. Together these changes - fix the problem that negative values mapped onto a log-scaled cbaxis - produced a valid (but wrong) color rather than being treated as NaN. - -2015-04-02 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * docs/gnuplot.doc: Document the C library routines used to parse - numerical constants in commands and expressions. Integer constants are - read using strtoll(); floating point constants are read using atof(). - -2015-04-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * compile: Add script required by automake. - - * demo/plugin/Makefile.am (demo_plugin_so_SOURCES): Add - gnuplot_plugin.h. - (EXTRA_DIST): Add plugin.dem. - - * demo/Makefile.am.in (Makefile.am): Subdir 'plugin' has a - Makefile.am, so it should not be in EXTRA_DIST. - -2015-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/set.c src/setshow.h src/tables.c - src/tables.h src/term_api.h src/term.c src/unset.c term/x11.trm - src/show.c docs/gnuplot.doc: - New commands - {un}set monochrome {linetype N <line-properties>} - set color (same as "unset mono") - Maintain a set of monochrome linetypes (all black with varying dot- - dash pattern and/or width) in parallel with the default set of - color linetypes. Switch between the two sets using "set mono" or - "set color". Terminal types that used to provide a separate "mono" - keyword now trigger "set mono" as appropriate. For example, - "set term pdf mono" is equivalent to "set term pdf; set mono". - Six default monochrome linetypes are pre-defined. These do not exactly - duplicate the idiosynchratic mono linetypes of various pre-version 5 - terminals (be cairo cgm emf fig pdf post ...). - Some further adjustment for individual terminals may be needed. - -2015-03-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c src/save.h src.show.c: Axis pointer conversion of - save_range, save_tics, save_num_or_time_input. - -2015-03-24 Erik Olofsen <olofsen@users.sf.net> - - * term/tek.trm: RGB + palette support for sixel terminal. - The vt100/vt340 sixel emulator is limited to 16 distinct colors per - plot but other emulators may permit more. - -2015-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/fig.trm term/epson.trm term/tek.trm: Remove unused variables. - -2015-03-24 <dcb314@users.sourceforge.net> - - * src/mouse.c src/plot2d.c src/wxterminal/gp_cairo.c: - Incorrect argument type to abs() or fabs(). - - * src/stats.c (analyze_sgl_column): Incorrect truncation of double to - int while calculating absolute deviation. - Bug #1584 - -2015-03-24 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/command.c (pause_command): Work around a bug seen for - mingw + SJIS encoding. - -2015-03-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/fig.trm: Preload user-defined linetype colors and gnuplot's - set of named colors so that they are available in fig plots. - -2015-03-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: The cairolatex terminal should not set the flag - TERM_ENHANCED_TEXT since latex markup is not the same as gnuplot's - enhanced text mode. This does not hurt plotting per se, but it - causes the "test" command to emit a non-latex string. - - * src/unset.c: Revise internal routines unset_tics() unset_minitics() - and unset_range() to use axis pointers rather than AXIS_INDEX. - -2015-03-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/plugin/.cvsignore: Added. - - * config/cygwin/.cvsignore: Added. - - * config/watcom/.cvsignore: Ignore two more files. - - * docs/Makefile.am (clean-local): $(LUA_HELP) file has to be - cleaned, too. - -2015-03-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c (do_key_sample) src/graph3d.c src/graphics.c - src/graphics.h (check_for_variable_color): The key sample for plots - with filled objects (boxes, circles, ellipses, etc) and "lc variable" - was drawn in some non-obvious color not necessarily present in the plot. - Now we guarantee that the key sample is drawn using the color of the - first point in the plot. - -2015-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c: Revise many internal routines in set.c to use axis pointers - rather than AXIS_INDEX. - -2015-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/plot2d.c: Revise macros AXIS_INIT2D and (the big one) - ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE to use axis pointers rather than - AXIS_INDEX. This is mostly invisible to the higher-level code. - - * src/axis.h src/axis.c src/set.c: Revise load_range() to take axis - pointers. Export get_num_or_time(). - - * src/axis.h src/axis.c src/plot2d.c src/set.c src/datafile.c: - Revise add_tic_user() to take axis pointer rather than AXIS_INDEX. - -2015-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/datafile.c src/plot2d.c: - Revise axis_unlog_interval() to use pointers rather than AXIS_INDEX. - - * src/axis.c src/axis.h src/graphics.c: - Revise old routine axis_revert_range(AXIS_INDEX) to be a wrapper for a - new routine axis_invert_if_requested(struct axis *). - - * src/axis.c: Change many call sites to use the new macros and new - routine variants taking an axis pointer rather than an AXIS_INDEX. - This set of changes is purely internal to code in axis.c. - - * src/axis.c src/axis.h src/boundary.c src/graphics.c src/mouse.c - src/plot3d.c: Revise make_tics(), copy_or_invent_formatstring(), and - setup_tics() to use axis pointers rather than AXIS_INDEX. - - * src/unset.c: Fix memory leak (linked axis function) on reset. - -2015-03-12 Ethan A Merritt <merritt@u.washington.edu> - - Begin bottom-up revision of axis handling routines to use pointers - rather than array indices. - - * src/axis.h: Modify the template for axis tic-generation callbacks from - callback(AXIS_INDEX, ...) to callback(struct axis *, ...) - * src/axis.c (widest_tic_callback): Modify widest_tic_callback to match - the new template, although it needs no axis information - * src/graphics.c (xtick2d_callback ytick2d_callback) - src/graph3d.c (xtick_callback ytick_callback ztick_callback): - Modify 2D and 3D axis callbacks. - * src/color.c (cbaxis_callback): Modify color axis callback. - * src/axis.c (gen_tics): Modify the call sites for all of these. - - Next level up: Modify gen_tics() and all the places that call it. - old: gen_tics(AXIS_INDEX axis, callback) - new: gen_tics(struct axis *this, callback) - - * src/axis.h src/axis.c (gen_tics): - * src/boundary.c src/color.c src/graph3d.c src/graphics.c: call sites - -2015-03-11 Ethan A Merritt <merritt@u.washington.edu> - - Gradually move all axis-related information into the axis structure - itself rather than leaving it spread out among multiple arrays indexed - in parallel. The rationale is to allow routines that process this - information to operate from a pointer to (struct axis) rather than from - an array index. This will allow dynamically allocated axis definitions. - - * src/axis.c src/axis.h src/unset.c: Part 1 - Keep a copy of the axis - index (e.g. SECOND_Y_AXIS) in the axis structure. This may eventually - go away again, but for now it allows calling a routine that wants the - axis index from a routine that works from an axis pointer. - - * src/axis.c src/axis.h: Part 2 - Replace the separate arrays - timelevel[] and ticstep[] by moving their respective contents into new - fields axis->timelevel and axis->ticstep. - - * src/axis.c src src/axis.h src/unset.c: Part 3 - Replace the static - array ticfmt[AXIS_ARRAY_SIZE][MAX_ID_LEN+1] with a dynamically - maintained field axis->ticfmt. - - * src/axis.c src/axis.h: Part 4 - Reduce length of axisname_tbl[] to - contain only the axes that use it (i.e. no individual parallel axis - entries). - - * src/axis.h: New versions of axis data macros that use axis pointers. - New macro axis_{un}do_log(struct axis *,value) analogous to - AXIS_{UN}DO_LOG(AXIS_INDEX, vlaue) - New macro axis_map(struct axis *, variable) analogous to - AXIS_MAP(AXIS_INDEX, variable) - New macro tic_scale(ticlevel, struct axis *) analogous to - TIC_SCALE(ticlevel, AXIS_INDEX) - -2015-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: The code tracking matrix column/row headers tried - to extract the relevant string from the wrong internal array. - Bug #1575 - -2015-03-06 Allin Cottrell <cottrell@wfu.edu> - - * src/wxterminal/gp_cairo.c: Prevent free() of a string constant. - -2015-03-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c src/graphics.c term/estimate.trm: - New routine estimate_plaintext(char *enhancedtext) returns a string - stripped of all enhanced text markup. Use this to provide plain - text titles in output files even though the plot title itself contains - markup characters. - Bug #1573 - - * demo/hypertext.dem: Simplify output file (attach hypertext to only - one set of points). - -2015-03-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/tables.c src/graphics.c (plot_filledcurves) docs/gnuplot.doc: - The "y1=foo" and "y2=foo" options to the filledcurves style are - confusing, as both operate on the current plot's y axis regardless - of whether it is y1 or y2. Rename the option as "y=foo" and remove - mention of the older y1= and y2=. All three are accepted on input. - Bug #1568 - -2015-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c src/fit.h src/set.c src/save.c src/show.c: "set fit nolog" - - * term/tek.trm: Remove SIXEL_set_color() terminal entry. This function - does not perform the operation expected by the core code (change the - current color for lines/texts/points/etc). Instead it redefines one of - 16 linetypes. In gnuplot version 5 this causes most objects to be - drawn in black. Removing the entry allows the sixel terminal to work - more or less like a fixed color 16-pen plotter. - Bug #1556 - -2015-02-24 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * configure.ac m4/apple.m4 term/aquaterm.trm: - Correct "Aquaterm" to "AquaTerm" (framework name is case sensitive). - -2015-02-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c: Special case code for axis tickmarks in polar plots was - incorrectly being applied to all axes, not just the polar axis. - Bug #1569 - -2015-02-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/gd.trm (PNG_vector): Prevent accummulated round-off error in - dotted line emulation by using (double) variables to track incremental - coordinates. - Bug #1549 - -2015-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (term_apply_lp_properties do_point load_linetype): - Restore old (version 4) behavior of terminals such as hp pen plotter - and pbm that do not support user-selected colors. - Bug #1556 - -2015-02-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/set.c: Do away with 4 utility routines - {set|get}_writeback_{min|max} that did nothing but provide a - round-about way to access the next field in a structure that is - already active. E.g. axis->min = get_writeback_min(axis) becomes - axis->min = axis->writeback_min. - - * src/boundary.c src/color.c: Remove dead code (commented-out extra - parameter to gen_tics()). - -2015-02-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (AXIS_INDEX): Change value of NO_AXIS to -2. Make - AXIS_ARRAY_SIZE an enum entry, again. - (NUMBER_OF_MAIN_VISIBLE_AXES): New name, to be used instead of - LAST_REAL_AXIS. - (LAST_REAL_AXIS): Removed. - (AXIS_IS_SECOND, AXIS_IS_FIRST): New macros to formalize checking - if an axis is among the second or first axes, respectively. - (AXIS_MAP_FROM_FIRST_TO_SECOND, AXIS_MAP_FROM_SECOND_TO_FIRST): - New macros to centrally define how to switch from a first axis to - its corresponding secondary axis, and vice versa. - (axis): Change type of linked_to_primary from bool to an actual - pointer to the linked axis struct. - (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE): Missing parentheses - around macro argument use. Use linked_to_primary as a pointer. - - * src/axis.c (setup_tics): Cloning takes only one argument now. - (axis_output_tics): Rely less on axis array layout. - (some_grid_selected): Use new axis range macro. - (get_position_type): Use correct type for axis index argument. - (get_position_default): Use correct type for localaxis index - variable. Catch attempted use of z2 axis. - (clone_linked_axes): Use only one argument. The other is implied - anyway. Do some sanity checks first up. - - * src/command.c (link_command): Initialize local variables. Axis - link information is a pointer now. Concentrate knowledge about - links between axes more into axis methods. - - * src/eval.c (eval_link_function): Use correct type for axis index - argument. - - * src/gplt_x11.c (plot_struct): Use new axis range name. - (byteswap): Define variable more locally. - (exec_cmd): New local pointer to make code easier to understand. - Use new axis range name. - - * src/graphics.c (adjust_offsets): Concentrate knowledge about - links between axes more into axis methods. - - * src/plot2d.c (eval_plots): Concentrate knowledge about links - between axes more into axis methods. - - * src/save.c (save_set_all): Use new axis range name. - (save_range): linked_to_primary is a pointer now. - - * src/show.c (show_zeroaxis): Use new macro about distinction - between first and second axes. - - * src/unset.c (unset_logscale): Use new axis range name. - (reset_command): linked_to_primary is a pointer now. - - * term/x11.trm (X11_text): Loop over AXIS_INDEX should use that - type for the index variable. Use new axis range name. - - * docs/doc2tex.c (section, puttex): Correct use for <ctype.h> functions on - plain char requires a cast to unsigned char. - - * docs/doc2ms.c (section): Correct use for <ctype.h> functions on - plain char requires a cast to unsigned char. - - * src/set.c (set_dummy): Correct use for <ctype.h> functions on - plain char requires a cast to unsigned char. - (set_degreesign): Avoid -Wunused. - (set_logscale): Use modified axis range name. - (set_range): Concentrate knowledge about links between axes more - into axis methods. - -2015-02-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (apply_pm3dcolor): Variable color specifier "palette cb" - failed to handle log-scaling of the color axis. - Bug #1560 - - * src/mouse.c (load_mouse_variables): MOUSE_BUTTON was not set correctly. - -2015-02-11 Erik Olofsen <olofsen@users.sf.net> - - * configure.vms: update compile-time variables to include HAVE_VFPRINTF - and MAX_PARALLEL_AXES - -2015-02-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c (do_key_sample_point) src/graphics.c (do_plot) - src/graph3d.c (do_3dplot): Until now "with labels" plots could have - a point associated with each label but the point style was not - indicated in the key. Now it is. - - * src/qtterminal/QtGnuplotIterms.cpp (drawPoint): - Don't draw an extra dot at the nominal origin of each point symbol. - -2015-02-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/interpol.c (cp_implode): The monotonic cubic spline code - does not expect or handle multiple curves in a single data set. - Thus cp_implode should not set the total number of averaged points - to more than the total corresponding to the first curve. - Bug #1548 - -2015-02-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Allow "noautoscale" keyword to appear anywhere in - the plot command, not just immediately after the using specifier. - - * src/interpol.c: Rework "smooth kdensity" so that - 1) it now handles logscale on y - 2) it treats xrange as other plot styles do; in particular it no longer - limits the x range to that of the points making up the kernel. - -2015-02-02 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to doc version 1.935 - -2015-02-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_betweencurves): This routine now handles both - the 3-column variant of filledcurved ("between") and the y1=<yval> or - y2=<yval> variants. In order that various lower level routines do not - get confused, set the same options flag FILLEDCURVES_BETWEEN for all - of these. (Bug fix) - -2015-01-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/show.c docs/gnuplot.doc: Report maximum number of - parallel axes in "show version long". Enforce this limit when plotting. - Document the limitation. - - * src/util.c (gprintf): The "%h" format want a proper multiplication - sign rather than 'x' when possible. We already do this for UTF8 and - CP1252, now add support for iso_8859_* encodings. - - * src/save.c: Use "set xyplane relative" rather than the deprecated - "set ticslevel". - -2015-01-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (test_palette_subcommand): Apply numeric locale to the - $PALETTE datablock created by the "test palette" command. - - * term/pslatex.trm: Separation of linetype/dashtype in version 5 means - that term->set_color should not be turned into term->linetype. - Bug #1545 - - * src/term.c (term_test): Fix failure to save/restore arrow style. - Use LT_SOLID for box around central text. - Bug #1546 - -2015-01-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Restore several lines of code that were inadvertantly - lost in the revision to filledcurve processing (2015-01-16). - - * src/graphics.c src/help.c src/hidden3d.c src/interpol.c src/color.c - src/graph3d.c: Back in 2001 some comparator functions passed to qsort - were made non-static to work around a bug in HPUX. The reason for that - is long gone, so make them static as they ought to be. - -2015-01-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/set.c src/save.c: set/save/apply text justification - to key title. - - * src/command.c src/datablock.c src/eval.c src/eval.h src/fit.c - src/gp_types.h src/internal.c src/misc.c src/mouse.c src/parse.c - src/plot2d.c src/plot3d.c src/plot.c src/save.c src/set.c src/show.c - src/standard.c src/stats.c src/term.c src/util.c term/lua.trm: - Move the "undefined" status flag from udvt_entry->udv_undef into - the value itself (udvt_entry->udv_value.type == NOTDEFINED). - This prevents coding mistakes which would leave a data type in the - value even though the variable itself is marked undefined. - Also it allows tracking or setting the undefined status in routines - that are passed a pointer to a value rather than a udvt_entry. - -2015-01-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c: Tabular output of time/date values should check the - new flag output flag (tictype) rather than the input flag (datatype), - and fall back to a generic time format if the axis doesn't have one. - - * src/time.c (gstrptime): If the time format explicitly includes day, - month, or year then always do sanity checking on the interpreted date. - Return NULL if the sanity check fails. Previously the sanity check - was only done if that field of the format was evaluated (i.e. it was - not done if input garbage caused parsing to terminate early), and - zeros were returned in the time structure with no indication of failure. - This "failure silently returns zero" behaviour is still kept for - hour, minute, and second input fields. - - * demo/timedat.dat: Add a line of headers to exercise the new sanity - checks in gstrptime. - - * src/graphics.c src/plot2d.c: Fix breakage in plot style - filledcurves {above|below} y1=<yval> - -2015-01-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_filledcurves): Reevaluate variable fill color - for every polygon in the input stream to "with filledcurves". - Bug/Feature Request #411 - - * src/gadgets.c (apply_pm3dcolor) src/term.c (load_linetype): - Remove special-cased test for monochrome terminals that can lead cause - a failure to update the linecolor in version 5 (e.g. background->black). - Bug fix - -2015-01-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_read_matrix) demo/matrix_index.dem: - Handle named indices (extra line in data file containing name of - subsequent data matrix) for nonuniform ascii matrix data. - Bug #1538 - - * src/stats.c: The special code path to handle ascii matrix data was - not correct. Fortunately the general case code works so long as the - data is recognized as matrix data. This removes the broken code path. - -2015-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_tics): The order in which tics options were saved - could produce illegal syntax in the save file. - Bug fix - - * term/cairo.trm (cairotrm_put_text): For some reason the bold/italic - flags can become stuck after printing text. This patch fixes it by - restoring the original terminal font after printing any enhanced text - string, but I do not understand why this would be necessary for the - cairo terminals when other terminals do not require it. - Test case: set key title "{/:Bold Hello}"; plot sin(x) title "World" - Bug fix - -2015-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Ensure that the brush used for drawing dotted lines - is reinitialized for each new line. - Bug #1516 - -2015-01-10 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * docs/gnuplot.doc: Clarify sampling used by '+' special file. - -2015-01-10 Christoph Bersch <usenet@bersch.net> - - * src/multiplot.c demo/heatmaps.dem demo/layout.dem docs/gnuplot.doc: - Fix inconsistencies in the margin and spacing options for - "set multiplot layout". Allow using character or screen units. - Make the character/screen keyword sticky; i.e. it applies to all four - values in the command `set multiplot margins screen 0.1,0.9,0.9,0.1` - Issue appropriate errors or warnings if margins and spacing aren't set - together. Update and expand the documentation. - -2015-01-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_determine_matrix_info): Apply numeric locale - when reading ascii matrix data. - Bug #1536 - -2015-01-07 Ethan A Merritt <merritt@u.washington.edu> - - * configure.ac: Qt5 check via pkg-config --variable=host_bins seems - fragile; revise to work on two different test machines. - - * src/graphics.c src/graphics.h src/plot2d.c: Improved handling of - boxplot data with multiple "factors" (i.e. category labels). The data - is now sorted only once, rather than once per factor. - -2015-01-07 Achim Gratz <Stromeko@nexgo.de> - - * configure.ac: Qt5 check via pkg-config should use --variable=host_bins - rather than --variable=exec_prefix - -2015-01-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/gadgets.h src/graph3d.c src/save.c src/set.c - src/show.c src/unset.c: Track font and enhanced flag for the key title - separately from those for the key entries. - Bug #1525 - - * docs/gnuplot.doc src/set.c src/show.c: - In 5.0.0 the set margin command interpreted 4 values in the order - set margin <left>, <right>, <top>, <bottom> - but this order in non-intuitive and conflicts with the order in - other commands (e.g. set multiplot layout). CHANGE this to - set margin <left>, <right>, <bottom>, <top> - Note that the code now sanity checks that (top > bottom), so this change - will not be noticed for margins given in screen coordinates. - -2015-01-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graphics.h src/plot2d.c: Simplify the boxplot - data handling. Collapse the separate filter_boxplot_factor() and - filter_boxplot() into a single routine with a single supporting - routine compare_ypoints(). Points are now sorted using the "factor" - as a primary key, rather than using a separate pass to overwrite - all y values to VERYLARGE if the factor does not match. - Inspired by a patch from Jouke Witteveen <j.witteveen@gmail.com> - Bug #1532 - -2015-01-04 Jouke Witteveen <j.witteveen@gmail.com> - - * src/plot2d.c (check_or_add_boxplot_factor) src/gadgets.h: - When the requested "factor" column of boxplot data is missing or - empty, the y value was being stored instead. Now we store - DEFAULT_BOXPLOT_FACTOR (-1) instead, since this can never be - mistaken for a label array index. - EAM: Store this factor index in z rather than ylow. This prepares - for a later patch to get rid of repeated swapping of y and ylow - values rather than simply looking at the stored index directly. - Bug #1532 - -2015-01-03 Jouke Witteveen <j.witteveen@gmail.com> - - * src/plot2d.c (check_or_add_boxplot_factor): Distinguish between - boxplot category labels where one is a leading substring of the other. - Bug #1532 - -2015-01-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/boundary.c src/graph3d.c: Add a sanity check to - ensure that the top margin is above the bottom margin. This corrects - for possible user confusion or error in specifying on one line - set margins <left>, <right>, <bottom>, <top> # (wrong order) - -2014-12-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_atexit): Sanity check. - -2014-12-28 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/titlepag.ms: Update to version 5. - - * docs/gnuplot.doc: groff tables for stats command. Several groff - syntax fixes and minor layout tweaks. - - * config/mingw/Makefile: New targets grops and gropdf. - - * config/config.os2 config/makefile.os2: Update to version 5. - - * src/term_api.h src/os2/gclient.c: Eliminate compiler warnings. - - * src/wxterminal/wxt_gui.cpp: - Use cairo_show_page() rather than cairo_surface_show_page() - -2014-12-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp: Remove dead code. Avoid implicit - casts to unsigned int. - -2014-12-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph) src/win/wgdiplus (drawgraph_gdiplus): - Failure to re-initialize the font name and size for enhanced text. - Bug #1529 - -2014-12-24 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgdiplus.cpp (SetFont_gdiplus): Font names may be given in - current encoding. Patch #712 - -2014-12-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgnuplot.mnu: Parameter input for atan2() was wrong. SF - patch #1530 by Shigeharu Takeno. - - * src/win/wgnuplot-ja.mnu: Dito. - -2014-12-21 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/wxterminal/wxt_gui.cpp: Track the most recent directory used - by the export-to-file widget. - -2014-12-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::wxt_cairo_create_bitmap): - Another fix for the wxt terminal linked against wxWidgets 3.0. - wxWidgets + wxgtk version 2.8 were fine with the sequence - delete cairo_bitmap; - cairo_bitmap = new wxBitmap(*image); - but version 3.0 hits a use-after-free that can be attributed to a - UI-triggered event invoking OnPaint(), which tries to access the old - bitmap before the new one has been assigned. Omitting the delete - "cures" this, but then there is a memory leak. Empirical tests seem - to show that it suffices to defer the delete operation until after - the assignment operation. A proper interlock might be better yet. - -2014-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_parse_string_field): If an input data file uses - Mac OS-9 format with \r as a line terminator, the entire file is - mis-recognized as one very long line. If there are nevertheless - recognizable field separators, the code to split out string fields into - separate saved storage goes crazy, consuming huge amounts of memory. - Detect and warn if an input string field exceeds MAX_LINE_LEN. - Bug #1445 (also see Bug #1355) - - * src/command.c (do_line): - Report error if a "load" file fails to close an open bracketed clause. - Bug #1522 - -2014-12-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/win.trm (WIN_set_font): Revert incorrect change from - strncpy() to safe_strncpy(). - -2014-12-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.ac: Added copy of former configure.in, updated to - preferences of autoconf-2.69, automake-1.14. - - * configure.in: Dropped - - * mkinstalldirs, missing, install-sh, depcomp: Update from recent - autoconf/automake. - - * src/syscfg.h (RETSIGTYPE): Note that former fall-back definition is now - hardwired. - -2014-12-16 Bastian Maerkisch <bmaerkisch@web.de> - - * win/gnuplot.iss: Change working directory of shortcuts to - current users's document folder. Works on Vista and upwards. - Bug #1415 - -2014-12-15 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/kdensity.dem: End demo with pause / reset - - * config/mingw/Makefile: Convert eol style of text files to CRLF - during install. - Bug #1520 - -2014-12-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (do_event) src/gplt_x11.c src/wxterminal/wxt_gui.cpp - src/qtterminal/QtGnuplotWidget.cpp: - Distinguish auto-generated replot events (e.g. replot-on-resize) from - user-generated replot events ('e' hotkey or toolbar replot widget). - Use GE_replot for the former, GE_keypress('e') for the latter. - Reject auto-generated replot requests while multiplot is active. - (wxt was already doing this; now we extend it to qt and x11 also). - Bug #1521 - - * src/wxterminal/wxt_gui.cpp: Do not change working directory in - file export widget. - -2014-12-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/command.h src/mouse.c src/mousecmn.h src/plot.c - src/qtterminal/qt_term.cpp src/win/wgraph.c src/win/wpause.c - src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h: - Revise "pause mouse" handling on Windows to handle windows, wxt, qt - and caca terminals. Test if the current terminal window is actually - open before waiting for mouse input. (Not yet implemented for qt.) - The windows terminal no longer expects the core code to reset the - paused_for_mouse flag (like the qt, wxt and x11 terminals). The - code no longer opens an invisible window to handle "pause mouse" and - code to close this window when "pause mouse" mode ends can thus be - removed. Interrupting pause mouse via Ctrl-C should now be possible. - Bug #1502 - - * term/caca.trm (waitforinput): Support "pause mouse" if the graph is - shown in a window. Bugfix. - - * docs/windows/doc2html.c: Rename variable "basename" to "name" to - avoid a name conflict on some platforms. - -2014-12-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::wxt_cairo_refresh): - The wxt terminal has been failing when linked against wxgtk3.0. - The overt symptom is a library assert statement sometimes followed by a - segfault: - ./src/gtk/dcclient.cpp(2043): assert "m_window" failed in DoGetSize(): - GetSize() doesn't work without window [in thread 7fb21f386700] - Call stack: - [00] wxOnAssert() - [01] wxClientDCImpl::DoGetSize(int*, int*) const - [02] wxBufferedDC::UnMask() - Both the assert and the segfault are due to the plot window not yet - having been rendered on the screen. The documented wxwidgets function - panel->IsShownOnScreen() fails to reliably detect this condition, so we - must use our own window id bookkeeping to skip any refresh commands - before the window appears. - - Gnuplot Bug #1401 - Debian Bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750045 - wxWidgets Bug http://trac.wxwidgets.org/ticket/16034 - -2014-12-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_move): Do not let zero-length - move interrupt the current polyline context (dash pattern, end caps, - polygon closure). - Bug #1523 - - * src/datafile.c (df_generate_pseudodata): Prevent infinite loop if - sampling range is zero. - - * src/plot2d.c (eval_plots): Save/restore original dummy variable name - for 'x', so that a sampling range using a named variable does not - clobber it. - -2014-12-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgaph) src/win/wgdiplus.c (drawgraph_gdiplus): - Ignore intermediate move commands in a polyline sequence. Fixes - custom dashpatterns for splots and improves drawing performance. Note - that custom dashpatterns are only available for the GDI+ variant. - Bug #1523 - -2014-12-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (parse_range) src/datafile.c (df_generate_pseudodata): - Allow an optional sampling interval as part of the sampling range spec - for pseudofile '+' in a plot command: - plot sample [a=0:360:10] '+' using (3+sin(a)):(cos(a)) with points - -2014-12-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/term.c (do_point): Always use solid lines to draw point symbols. - - * src/win/wgraph.c term/win.trm: Make sure that the window size - variables are initialized if wgnuplot.ini does not exist yet. - Fixes a regression introduced on 2014-10-16. - -2014-12-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): The sampling variable in a - sampled plot is not necessarily x, so "set log x" should not affect it. - E.g. set log x; set angle degrees; - plot sample [a=1:360] '+' using (3+sin(a)):(cos(a)) with points - Bug #1495 - -2014-12-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/PostScript/prologue.ps: Re-order dash types to more closely - match the cairo and qt terminals. - -2014-12-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c: Indentation cleanup for type-check macro BAD_DEFAULT - - * src/gp_types.h: New state flag INVALID_NAME for internal variables. - src/eval.c (pop_or_convert_from_string eval_link_function): - Consolidate initial tests for invalid internal variable type. - Test for the correct use of linked axis mapping function variables - (f(x) for x axis, f(y) for y axis, etc). - Bug #1519 - -2014-12-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (clone_linked_axes): Sanity check for linked axis via and - inverse functions used fabs() with wrong grouping of parentheses. - Bug #1519 - -2014-11-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp: Increase the number of pre-defined dash - patterns for the qt terminal to 5, matching the order used by the cairo - terminals. - -2014-11-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/set.c: The full names of the parallel axes are too long - to fit in character arrays built to hold the simpler name "x2/cb/etc". - But the 'set' commands using these arrays do not apply to parallel axes, - so we avoid problems by never loading these arrays for parallel axes. - -2014-11-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Replace the dotted-line code in PNG_vector with an - adaptation of the dash pattern code used by canvas.trm. - - * src/term.c (term_apply_lp_properties): Special linetype LT_AXIS is - intended to produce a dotted line if possible, even on terminals that - do not support the general dash pattern mechanism introduced in v5. - This means that when rendering lines with linetype LT_AXIS the - dashtype code should not be called at all. This bug affected at least - the gd and qt terminals. - Bug #1516 - - * src/axis.c (axis_name) src/save.c: paxis tics and range settings - were not being saved. - - * src/show.c: formatting typos (missing \t at beginning of line) - - * src/graphics.c (map_position_r): If only the x coorinate delta is - requested, don't bother to calculate delta y, particularly because - delta y=0 will fail if y is log scale. - Bug #1512 - -2014-11-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/config/mingw/Makefile: Build gnuplot-tikz.help. - - * src/config/config.mgw: Sync with config.h created by autoconf tools. - -2014-11-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.*: The toolbar widgets for replot/zoom/grid - require intervention by the core code in order to act. This is not - possible when in -persist mode after the parent process has exited, - so disable the toolbar widgets. - -2014-11-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/Makefile.am.in (Makefile.am): Drop creation of conditional - definition of build_lua. - (all, $(srcdir)/lua/gnuplot-tikz.help): Drop rules for lua help - file fragment generation. - - * docs/Makefile.am (LUA_HELP) [BUILD_LUA]: Define to name of lua - help file fragment. - ($(LUA_HELP)) [BUILD_LUA]: Build lua help file fragment. - (allterm.h): Depend on $(LUA_HELP). - - * term/lua.trm: Make inclusion of help file fragment depend on - HAVE_LUA. Needed for doc builds that unconditionally include all - terminals' help. Remove "lua/" from include file name. - -2014-11-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/Makefile.am.in ($(srcdir)/lua/gnuplot-tikz.help): Test for - file existence is -f, not -x. - -2014-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * term/Makefile.am.in: rebuild term/lua/gnuplot-tikz.help - only if --with-lua, otherwise skip this in building the docs - -2014-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua/gnuplot-tiz.help (remove from repository) - * term/Makefile.am.in: rebuild term/lua/gnuplot-tikz.help - -2014-11-07 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * term/luz/gnuplot-tikz.lua: Use \errmessage rather than \PackageError - because not all TeX variants provide the latter. - -2014-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (gstrftime xstrftime) docs/gnuplotdoc demo/timedat.dem: - Introduce a new time format modifier 't', used to distinguish dates - from times. This allows formatting time data as hours/minutes/seconds - relative to time=0 rather than as a calendar date. Compare these - representations of the stored value -3672.50 seconds: - default date format # "12/31/69 \n 22:58" - format "%tH:%tM:%tS" # "-01:01:12" - format "%.2tH hours" # "-1.02 hours" - format "%tM:%.2tS" # "-61:12.50" - -2014-11-04 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/wxterminal/wxt_gui.cpp: Restore Copy-to-Clipboard option in wxt - toolbar. - -2014-11-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_dollar f_column): When a data field containing NaN - is encountered, df_readline returns DF_UNDEFINED to the caller. - This is sufficient to handle plotting that point per se, but if the - value is also used in evaluation of an arithmetic expression with a side - effect then this undefined status flag is not available. For consistency - we now pass NaN to the expression evaluation code as well. E.g. - plot FOO using 1:(side_effect=f($2)) - could leave some random (probably left-over) value in side_effect. - Now if $2 is NaN and for example f(x) = (x+foo) then side_effect becomes - NaN also. Before this side_effect would have received some other, - incorrect, numerical value. - - * src/save.c (save_dashtype): dashtype -1 is an internal flag; do not - save it to an external file. - -2014-11-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/config.oww: If we're going to use strnlen_s for strnlen, - must define according C99 library extension macro. - - * src/set.c (set_dashtype): Command input following the 'default' - option would cause a crash by double-deleting from linked list. - (parse_histogramstyle): Option "title" is not protected against - multiple use. This might cause double-free of font field. - - * src/bf_test.c (main): Move file-open error handling further up, - to avoid (harmless) memory leak. Use standard failure return - instead of magic constant. Allocations were relying on - sizeof(float)==sizeof(float *). - - * src/getcolor.c (GROW_GRADIENT): Query realloc()ed pointer for its - own type's size; safer than making assumptions about it. - (approximate_palette): Dito; and in this case the type was - actually wrong. - -2014-11-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_put_text) src/wxterminal/wxt_gui.cpp - (wxt_put_text): Start each top level enhanced text recursion using - the full font name given in "set term font 'foo'", rather than the - most recent font stored in the plot (which is only the font family - name, not bold/italic/other). This maintains bold or italic in the - original font name, but I am not entirely convinced that it cannot - overwrite an intentional change in font family. - Bug #1505 - -2014-10-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Issue a warning if someone tries to specify a - sampling range for a data plot. - Bug #1510 - -2014-10-31 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp (wxtFrame::OnSize): Only replot on - resize if the wxt settings were properly initialized by wxt_init(). - On Windows, this would otherwise cause many graph windows to be - opened when the first plot command is issued and gnuplot finally - hangs or crashes. - Bugfix. - -2014-10-30 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/wxterminal/wxt_gui.{cpp|h}: Replace the clipboard widget on the - wxt terminal toolbar with a widget to save current plot to a file. - EAM: Output to PNG via standard wxWidgets component - Output to SVG or PDF by replaying cairo history for current plot. - -2014-10-29 Christoph Bersch <usenet@bersch.net> - - * term/lua/gnuplot-tikz.lua term/luz.trm: Boxed text support. - -2014-10-29 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc docs/term-ja.diff docs/gnuplot-ja.doc: - Fix typos. Sync Japanese documentation to 1.921 - -2014-10-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/wxt.trm src/wxterminal/wxt_term.h src/wxterminal/wxt_gui.*: - Add a checkbox to the tool widget controlling whether or not the - plot is redrawn via "replot" as the terminal window is resized. - -2014-10-19 Christoph Bersch <usenet@bersch.net> - - * term/lua/gnuplot-tikz.lua: Missing initializations. - Bug #1503 - -2014-10-16 Christoph Bersch <usenet@bersch.net> - - * src/stats.c: The stats code was confusing the x and y dimensions of - matrix data. E.g. it would report a 5X7 matrix as being 7X5, and - mis-calculate the indices of the min/max values. - Bug #1501 - - * term/lua/gnuplot-tikz.lua: Fix incorrect font test. - Bug (Feature Request) #409 - -2014-10-16 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: The `size` option - now refers to the canvas size instead of the window size in order to be - consistent with the qt and wxt terminals. The window size can still be - set with the new `wsize` option. Settings are now included in output of - `show term`. - Bug #1400 - -2014-10-11 Christoph Bersch <usenet@bersch.net> - - * term/lua/gnuplot-tikz.lua: LT_AXIS and LT_SOLID imply specific - dash types. - Bug #1491 - -2014-10-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (copy_or_invent_formatstring): Lower end of axis may - need more precision in invented format than the distance between - max and min. Bug #1496 - -2014-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_all): Write out the filename last used for plotting. - This makes a saved plot command referencing '' slightly more useful. - -2014-10-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lf_push lf_pop): If lf_push/lf_pop are invoked from - do_string_and_free to handle bracketed if{} or do{} expressions, they - should not touch the call arguments ARG1, ARG2, ... Save/restore of the - call arguments is only needed if lf_push/lf_pop are invoked by "call". - Bug #1494 - -2014-10-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/set.c (set_format): - - Timefmt revision part 6 - - Add tictype keywords to "set format {axis} {time|geographic|numeric}" - - Reset to numeric on "unset format" - -2014-10-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/datafile.c src/fit.c src/mouse.c src/parse.c - src/save.c src/set.c src/setshow.h src/show.c src/unset.c - docs/gnuplot.doc demo/gantt.dem: - - Timefmt revision part 1 of 4 - - Remove axis->timefmt and replace it with a single global timefmt. - This is what the documentation has always said, but it breaks the - undocumented command: set timefmt y "fmt-different-from-xaxis-fmt" - - Add a new flag axis->tictype to control interpretation of tic format. - axis->datatype will continue to control input format interpretation. - - If only a single parameter is passed to timecolumn() try to emulate - the version 4 behavior (use global timefmt) - - * src/save.c src/save.h src/setshow.h src/show.c: - - Timefmt revision part 2 of 4 - - Replace macro SAVE_NUM_OR_TIME with routine save_num_or_time_input(). - This routine uses _input_ data format, mostly for reporting axis range. - - * src/save.c src/save.h src/show.c: - - Timefmt revision part 3 of 4 - - Show and save xyz positions using time-format coordinates when needed. - Note that like axis ranges, these are meant to be read in again later - so they are written using the input format not the output format. - - * src/axis.c (get_tics copy_or_invent_formatstring) src/set.c - src/unset.c src/show.c src/save.c docs/gnuplot.doc demo/world.dem: - - Timefmt revision part 4 of 4 - - New command set {xyz}tics {time|geographic|numeric} sets axis->tictype - - Output formats chosen based on axis->tictype rather than axis->datatype - - Report axis->tictype setting with axis->format in "show" and "save" - -2014-10-03 Christoph Bersch <usenet@bersch.net> - - * term/lua/gnuplot-tikz.lua: linetype -1 must reset dashtype to solid. - Bug #1491 - -2014-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (arrow_parse): Remove order dependence of "fixed" keyword. - - * src/hidden3d.c (draw_edge): When an arrow is split into segments by - hidden surface processing, only keep the arrowhead on the original tip. - - * src/plot2d.c (get_data): Timedata for HISTOGRAMS requires a special - case. - - * src/boundary.c src/color.c src/gadgets.c src/gadgets.h src/graph3d.c - src/graphics.c src/hidden3d.c src/misc.c src/mouse.c src/multiplot.c - src/term.c: Remove wasted parameter passed to apply_pm3dcolor(), - reset_textcolor(), and get_offsets(). - - * docs/gnuplot.doc: Replace outdated section on `set xdata time`. - -2014-09-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_mouse.js: Typo in logical test for hypertext. - - * src/axis.h src/save.c src/set.c src/show.c src/unset.c src/graphics.c - src/graph3d.c: set [*]tics {{no}enhanced} - -2014-09-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c term/win.trm: The windows terminal allowed users - to change linetypes via an ini file or with the help of a dialog. This - has been superseeded by the more general `set linetype` mechanism. - The old code is still available but only active with WIN_CUSTOM_PENS - defined during compilation. - - * src/win/wgraph.c src/win/wgidplus.c: Accept zero point size. - Eliminates drawing of unwanted point symbols for labelled contours. - Bugfix - -2014-09-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/aed.trm term/v384.trm - config/makefile.dj2 config/makefile.emx config/makefile.vms - configure.vms docs/doc2texi.el docs/Makefile.am src/makefile.all - src/makefile.awc src/term.h: - - Remove obsolete terminals: - aed: pre-1980 display device ($15,000) with 500x500 pixels, 256 colors - v384: Vectrix VX 384 mid 1980s graphics display terminal ($5000) with - 672x480 pixels, 512 colors - - * src/interpol.c: Force the number of intervals used for interpolating - monotonic cubic splines ("smooth mcsplines") to be at least twice the - number of data points. - -2014-09-22 Christoph Bersch <usenet@bersch.net> - - * src/misc.c (parse_fillstyle): Remove order dependence of keyword - "transparent". - - * term/lua.trm term/lua/gnuplot-tikz.lua: - Support RGBA linecolors and LT_NODRAW. Add a linewidth terminal option. - -2014-09-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c src/fit.h src/save.c src/set.c src/show.c src/unset.c - docs/gnuplot.doc demo/fit.dem: Remove xerrors option (which requires 3 - columns) since it is not like the xerrorbars plot style (which requires 4). - Rename `noerrors` option to `unitweights`. Let the fit command default - to `unitweights`, i.e. do not interpret the last column of the using - spec as z-errors. Add a command `set fit v4|v5` to switch between - old-style command line syntax and the new one. Default to `v5`, but - `reset` does not change the current setting. - - Note that this change is backward-incompatible with v5-rc1 and v5-rc2. - However it restores compatibility with v4, subject to the restriction - that all independent variables must appear in the "fit" command itself - (see below). - - * src/fit.c: Ethan A Merritt - use the tally of dummy variable names - to detect version 4 syntax in which the last column of a using spec - contains zerror but no "*error" keyword is provided. - -2014-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c src/parse.c src/parse.h (int fit_dummy_var[]): - Track the occurrence of dummy variable names in a fit command. This lets - us count the independent variables so long as they are not obscured. - fit f(x,y) 'data' using 1:2:3:4 # flags use of 'x' and 'y' - fit x*y 'data' using 1:2:3:4 # flags use of 'x' and 'y' - g(x) = x*y; - fit g(x) 'data' using 1:2:3:4 # flags 'x', doesn't notice 'y' - In each case fit_dummy_var[0] is 1. In the 3rd case fit_dummy_var[1] - is 0 but should be 1. Fixing this would be quite hard. - -2014-09-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/wgraph.c term/win.trm: windows terminal - supports the toggle command. - -2014-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Revised error message for datafile open failure. - -2014-09-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/tables.c src/command.c src/command.h docs/gnuplot.doc: - New command `toggle {<plotno> | "plottitle" | all} has the same effect - as left-clicking on the key entry for a plot shown by an interactive - terminal (qt, wxt, x11). - -2014-09-12 Bastian Maerkisch <bmaerkisch@web.de> - - * src/mouse.c (xDateTimeFormat): Use ggmtime() instead of gmtime() to - avoid platform specific restrictions. - Bug #1470 - -2014-09-09 Pieter-Tjerk de Boer <p.t.deboer@utwente.nl> - - * docs/gnuplot.doc: Update help on fit to new command syntax. - - * src/fit.c: Fix init of num_errors. - -2014-09-09 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/win/wpause.c (PauseBox): Do not wait for further events after - pause dialog box was closed. Bugfix. - -2014-09-08 Christoph Bersch <usenet@bersch.net> - - * demo/stringvar.dem docs/gnuplot.doc src/internal.c (f_word f_words): - Modify the word() and words() functions to recognize quoted strings - inside the top level string as single entities. - -2014-09-08 Christoph Junghans <ottxor@users.sourceforge.net> - - * configure.in: New option --without-libcerf - -2014-09-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse parse_colorspec): Allow a quoted colorname to - immediately follow the keywords lc|linecolor|fc|fillcolor; i.e. in this - case the additional rgbcolor keyword is optional. - -2014-09-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: "set linetype 1 pt 'A'; plot x with lp" requires that - the plot->labels field be initialized before plotting. - - * src/save.c: handle PT_CHARACTER when saving linetype - -2014-09-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_src/api.h src/gadgets.c src/hidden3d.c src/misc.c - src/plot2d.c src/plot3d.c src/save.c src/set.c src/ show.c src/term.c: - - The field lp_style_type.pointflag was variously used as a Boolean, - an integer, or a magic number indicating an uninitialized state. - Clean this up by replacing it with a bitfield lp_style_type.flags - with defined bits LP_SHOW_POINTS LP_NOT_INITIALIZED LP_EXPLICIT_COLOR. - This has the side effect of allowing a trivial fix for a regression - in 4.6.5 that caused "set hidden3d; splot ... lc <foo>" to ignore the - requested color. See Bugs #1284 #1475 - -2014-09-05 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * docs/plotstyles.gnu: Dummy up a version of the missing/NaN figure - for use with Windows documentation. - -2014-09-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c src/term_api.h src/gplt_x11.c - src/qtterminal/QtGnuplotScene.cpp src/qtterminal/qt_term.* - src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h - term/caca.trm term/README term/win.trm term/x11.trm: - - Add a 2nd parameter to the API term->modify_plots(operations, plotno). - All terminals for which this entry point is not NULL are updated - accordingly. This patchset does not by itself add any new - functionality or change user-visible behavior. It prepares for later - adding command-line equivalents to mouse operations like "toggle". - -2014-09-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_arrows) src/graph3d.c (place_arrows3d): - Revert arrowhead patch of 2014-08-18. Document that if you want a - dashed arrow shaft it is best to use "nofilled" for the arrow head. - Bugs #1460 #1476 - -2014-09-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/hidden3d.c: "splot ... with dots" was not drawing - the dots. - Bug #1474 - -2014-08-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c docs/gnuplot.doc: Calculate and report sample standard - deviation (STATS_ssd) as well as the population standard deviation - (STATS_stddev). Provide formulae for the reported quantities in the - LaTeX documentation, and document the difference between - _ssd and _stddev in all documentation formats. - - * src/stats.c: In version 5 when there is no using spec df_readline() - always returns at most the number of columns present on the first line. - Bug #1472 - -2014-08-30 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.os2: Use _strtoll. - -2014-08-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c (exec_cmd process_configure_notify_event): - Add missing #ifdefs: USE_X11_MULTIBYTE and PIPE_IPC. - -2014-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: Handle columnheaders in input to "fit". - Bug #1467 - - * src/misc.c (lp_parse): Flag "set object N lt <lt>" as an error, - since currently this must be done be "set object N fs bo <lt>". - Probably we should figure out how to make this command work, but - better to issue an error than accept it and then ignore it. - Bug #1460 - - * src/bf_test.c: Use HAVE_STDLIB_H and HAVE_MALLOC_H to include proper - header file for calloc(). "Jun T." <takimoto-j@kba.biglobe.ne.jp>. - -2014-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 5.0 (cvs tag -b branch-5-0-stable) - - The main (development) branch is now marked 5.1 and will eventually - be used as the basis for a future release named gnuplot version 5.2. - ->>> Earlier entries are in ChangeLog.5 diff --git a/docs/old/ChangeLog.0 b/docs/old/ChangeLog.0 deleted file mode 100644 index 4fe81efdc..000000000 --- a/docs/old/ChangeLog.0 +++ /dev/null @@ -1,13227 +0,0 @@ -This is ChangeLog for gnuplot development period from April 1998 until April 2004 -when gnuplot 4.0 was released -================================================================================= - - -2004-04-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * README: Mention CTAN as a distributor. - -2004-04-15 Ethan Merritt <merritt@u.washington.edu> - - * INSTALL: Give more complete description of the environmental - variables GNUPLOT_FONTPATH, GNUPLOT_DEFAULT_GDFONT and GDFONTPATH. - -2004-04-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/version.c (gnuplot_date): Raised for yet another tarball. - - * docs/gnuplot.texi: Regenerated. - - * src/show.c (show_version): Updated the splash text another time. - -2004-04-15 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS: Updated. - - * README.1ST: Updated. - - * BUGS: Updated. - - * docs/gnuplot.doc: Section "New features" reformatted to 80 chars - width. - - * docs/gpcard.tex: Updated. - -2004-04-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot.c (get_user_env): Check $USERPROFILE on Windows, before - giving up on finding a $HOME. - - * docs/gnuplot.doc (startup, environment): Document the behaviour - regarding USERPROFILE. - - * docs/gnuplot.texi: Recreated. - -2004-04-14 Petr Mikulik <mikulik@physics.muni.cz> - - * FAQ: Updated for gnuplot 4.0. - - * pm3d/README: Updated. - - * lisp/gpelcard.tex: Corrected "pm3d" instead of "mouse". - -2004-04-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/version.c: Activate "RELEASE_VERSION" code by inserting a - #define. - (HELPMAIL, CONTACT): Provide fall-back definitions. - - * src/show.c (show_version): Update splash text for better - formatting, and to get of the "pre-release" status. - - * TODO: Lots of small updates. - - * BUGS: Moved one bug from TODO to here. - - * INSTALL.gnu: Updated to more current upstream (FSF) version. - -2004-04-13 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: If gnuplot_x11 dies, or fails to start, then make - sure all locks on the [now defunct] pipe are cleared. - -2004-04-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Reset to zero. - - * VERSION: Updated to 4.0 for the release. - - * All over the place: Removed pointers to mailing lists at - Dartmouth from all source files. Updated Copyright statements to - list 2004 as one of the years. Changed remaining references to - mailing lists to the new ones as SourceForge.net. - - * docs/gpcard.tex: Small updates to reflect at least the major - changes since 3.7. - - * lisp/README.1st: A new file to explain the relation between this - directory and the stand-alone gnuplot-mode package made by Bruce - Ravel. - - * lisp/configure.in: Set AC_PREREQ() to 2.52 like in the master - configure.in, to avoid strange interactions caused by mixed - autoconf versions. - - * tutorial/.cvsignore: Ignore *.toc files, too. - - * term/gd.trm (PNG_options): Bugfix: font options "tiny" - ... "giant" failed to unset the freetype "font" option. - -2004-04-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c (do_system) [!USE_OWN_WINSYSTEM_FUNCTION]: disable - usage of winsystem(), which apparently causes more trouble than - it's worth. To re-enable this, manually #define the - USE_OWN_WINSYSTEM_FUNCTION macro. - -2003-04-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * INSTALL: Include a notice about the demise of 16-bit versions on - MS-DOS and Windows. Updated the paragraph about the history of - gnuplot-mode. - - * README.1ST: Updated. Added a paragraph about PDFlib licensing. - - * README: Updated to reflect imminent release. Changed text about - mailing lists. Added pointers to the web pages at SF.net. - Removed some mirrors that don't exist any longer. - - * src/fit.c (Dblfn): Re-initialize va_args between uses. Needed - to be C standard compliant and survive running on Linux/AMD64. - (Fixes SF bug #932162). - -2004-04-08 Ethan Merritt <merritt@u.washington.edu> - - * src/readline.c: Revert patch from 2003-05-10 "Allow <tab> - characters in input stream." This broke filename auto- completion - by gnu libreadline. Reversion re-introduces the problem that - gnuplot's own readline makes it impossible to enter <tabs> in a - command line. - -2004-04-08 Petr Mikulik <mikulik@physics.muni.cz> - - * TODO: Updated. - - * INSTALL: Updated. - -2004-04-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (looks_like_numeric): Recognize blanks and other - special formatting characters in floating point formats correctly. - - * src/save.c (save_set_all): Moved writing of timefmt strings up - in the list of saved settings, so 'set xtics' can have time/date - strings as endpoints. - -2004-04-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * BUGS: Removed lots of long-since fixed bugs. Updated - descriptions of some others. Got rid of numbering --- it was - completely mixed-up anyway. - - * term/win.trm: Added a note regarding the limitation of no wide, - patterned lines in Windows terminal. - -2004-04-05 Petr Mikulik <mikulik@physics.muni.cz> - - * BUGS: Removed point "8. contour line clipping of 3D data plots": - it should go to FAQ or to gnuplot's web page => "Useful - scripts". Removed point "11. bug in OS/2 emx/gcc 2.7.x optimizer" - (cite this in makefile.os2). Added link to gnuplot's sourceforge - bug tracker. - - * config/README: Small update. - - * config/makefile.os2: Mention compiler optimization problem from - BUGS. - -2004-04-04 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: 'Set term svg {fontfile <filename>}' option to embed a - font, or a hyperlink to it, in the output svg document. This allows the - use of symbol fonts in conjunction with enhanced text mode. The file - search path is controlled by environmental variable GNUPLOT_FONTPATH. - -2004-04-01 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot.c: Fix OS/2 release version string if wrong in using - utsname.h. - - * src/mouse.c: On OS/2, don't start with mouse on by default. For some - unknown reason, it clashes with arrow keys and even palette color - allocation in multiplot mode... I guess these strange features are in - gnuplot for ages, as it was always recommended to put "unset mouse" - into gnuplot.ini. - - * FAQ: Updated to current version. - Technote: not used "lynx -dump" from its Makefile (spurious references - left) but from menu "Save formatted document" in links in xterm with - 80 columns. - -2004-03-31 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (do_3dplot): Ignore "set grid {back|front}" in - hidden3d mode --- they would directly contradict the idea of - hidden-line removal. - - * docs/gnuplot.doc (grid): Document effect of hidden3d mode on - options "back" and "front". - (border, xtics): Document that "set grid {front|back}" also - controls the drawing order of border and ticmarks. - (xtics axis): Describe actual effect of on-axis tics coming too - close to the graph border. - - * configure.in: New options --enable-h3d-quadtree and - --enable-h3d-gridbox to control compile-time flags of hidden3d - code. - - * src/show.c (show_version): Lots of mostly stylistic changes to - "show version long" part. Replaced long comma-separated chain of - assignment statements by individual initialized variable - definitions. Added printouts for new feature macros - HIDDEN3D_GRIDBOX and HIDDEN3D_QUADTREE. Joined string output by - fputs into the fprintf() format string. Broke the list of - compiler flags into two lines. - - * src/hidden3d.c (HIDDEN3D_GRIDBOX, HIDDEN3D_QUADTREE): Renamed to - avoid namespace collisions since these are now globally visible. - Used to be called TEST_GRIDBOX and TEST_QUADTREE. Changes occur - all over hidden3d.c. - -2004-03-30 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c: Fix another case of arithmetic assignment to a - boolean. - -2004-03-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (plot3d_lines_pm3d, plot3d_points_pm3d, - get_surface_cbminmax): Make local copy of - plot->pm3d_color_from_column a TBOOLEAN. - - * src/pm3d.c (pm3d_plot): Likewise. - - * src/hidden3d.c (in_front): Simplify by removing almost-boolean - local variables v{1,2}_inside_p. - -2004-03-29 Ethan Merritt <merritt@u.washington.edu> - - * src/hiddden3d.c: Must not do arithmetic using TBOOLEANs!!! - -2004-03-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Increased for yet another release candidate tarball. - - * src/version.c: Updated accordingly. - - * lisp/.cvsignore: Add autom4te.cache to set of ignored names. - -2004-03-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * tutorial/Makefile.am.in: Add tutorial.toc to CLEANFILES. - -2004-03-29 Per Persson <persquare@users.sf.net> - - * term/aquaterm.trm: Major update to driver. - Built if libaquaterm present, requires AquaTerm 1.0 or later. - -2004-03-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix up a blunder exposed by making TBOOLEAN an actual boolean - type: the TBOOLEAN argument "head" of term->arrow() was misused as - an integer. - - * src/term_api.h (TERMENTRY): Change type of argument "head" of - function pointer "arrow" to int. - - * src/term.c (do_arrow): Changed type of argument 'head' to int. - - * term/tpic.trm (TPIC_arrow): Likewise. - - * term/tgif.trm (TGIF_arrow): Likewise. - - * term/texdraw.trm (TEXDRAW_arrow): Likewise. - - * term/pstricks.trm (PSTRICKS_arrow): Likewise. - - * term/metapost.trm (MP_arrow): Likewise. - - * term/metafont.trm (MF_arrow): Likewise. - - * term/latex.trm (LATEX_arrow): Likewise. - (best_latex_arrow): Likewise. - - * term/gpic.trm (GPIC_arrow): Likewise. - - * term/fig.trm (FIG_arrow): Likewise. - - * term/epslatex.trm (EPSL_arrow): Likewise. - - * term/eepic.trm (EEPIC_arrow): Likewise. - - * term/dumb.trm (DUMB_arrow): Likewise. - -2004-03-27 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Further fixes to enhanced text mode. Revise option - parsing so that it is not sensitive to the command line order. - -2004-03-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/config.nt: Remove HAVE_STDBOOL_H and HAVE__BOOL again --- - turns out MSVC doesn't have them. - -2004-03-26 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg: Added -DHAVE_STDBOOL_H to the compile - command for pgnuplot.exe to avoid compiler warnings. - -2004-03-25 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Prevent wrap-around of ruler coordinates. - -2004-03-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c: References to pipe_died must be surrounded by - #ifdef PIPE_IPC. - - * config/config.os2: #undefine HAVE_STDBOOL_H and HAVE__BOOL. - -2004-03-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/config.amg config/config.cyg config/config.mgw - config/config.nt config/config.os2: Added new macros - HAVE_STDBOOL_H and HAVE__BOOL needed by my change to the TBOOLEAN - setup in syscfg.h two days ago. - - * src/term.c (curr_arrow_headfilled): Changed type from TBOOLEAN - to int, because this variable has more than 2 possible values. - - * src/term_api.h (curr_arrow_headfilled): Changed extern - declaration accordingly. - -2004-03-24 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Change window size immediately on 'm' toggle. - - * term/gd.trm: Update comments on libgd version requirements. - -2004-03-23 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: If gnuplot exits while "x11 -persist" is active, - hand over mousing of last active plot to gnuplot_x11. This fixes - the test case provided with bug #921033. Also, continue to honor - 'm' key as a toggle for mousing in detached windows. - -2004-03-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in (AC_HEADER_STDBOOL): Added call to this macro. - - * src/syscfg.h: Rewrite the definition of FALSE, TRUE and TBOOLEAN - from scratch, this time based on autoconf's recommendations. The - previous version collided with a "#define bool _Bool" found - somewhere deep in the Mac OS X system headers. - -2004-03-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (t_timelevel): Start enum values at 1, to avoid - wrap-around of expression TIMELEVEL_SECONDS - 1. - (make_auto_time_minitics): Fine-tune thresholds and generate tick - step sizes to get more sensible minor tick steps. - (quantize_time_tics): Only set timelevel[axis] to a higher value - if the tic step is at least one unit long. - (time_tic_just): Remove superfluous update of local variable just - before exit from function. - (setup_tics): Handle reverted time/date axes correctly. - -2004-03-22 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c src/gplt_x11.c term/gd.trm term/pdf.trm term/x11.trm - term/dumb.trm term/post.trm: Revamp the implementation of the '@' - character (phantom box) in enhanced text processing. This fixes - bug #906056 "@-aligned string does not work with font change". - Basically it adds a save/restore position command to the - term->enhanced_open() routine, and brackets the @-text with a save - and restore. Probably a PostScript guru can beautify my code - further. - -2004-03-21 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Add an enhanced text mode for the svg - terminal. It's not perfect, but it works well enough to overcome - some of the text formatting limitations in the svg plain text - mode. - -2004-03-18 Ethan Merritt <merritt@u.washington.edu> - - * term/dumb.trm: Fix segfault on 'unset output' while in dumb - terminal. - -2004-03-15 Hans-Bernhard Broeker <broeker@ac3b07.physik.rwth-aachen.de> - - * src/axis.c (load_range): Un-set 'reverse' option if fixed range - specification is given in forward order. - -2004-03-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Raised to 2 for new release candidate. - - * src/version.c: Updated. - - * docs/doc2texi.el (d2t-texi-header): Updated version to 4.0, - changed "organized by" entry from Dave to Lars. Added Copyright - year entry for 2004. - - * docs/titlepag.ms: Likewise. - - * docs/gnuplot.texi: Regenerated. - - * docs/Makefile.in ($(srcdir)/gnuplot.texi): Renamed rule target - to include $(srcdir). Fixed copy command to pull gnuplot.doc, - into build directory, not gnuplot.texi. - -2004-03-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - The fix for SF bug "[905651] Grid and border overlap the plot". - This is rather elaborate, unfortunately: - - * src/graph3d.c (USE_GRID_LAYERS): New feature test macro. Turned - on automatically for now. If PM3D is on , this is forced on, too. - (whichgrid): Removed global variable. - (do_3dplot) [USE_GRID_LAYERS]: Draw back part of grid before the - plotted data/functions, and front part afterwards, by passing a - new argument to draw_3d_graphbox(). - (draw_3d_graphbox): Added new argument 'whichgrid' to control - which parts of the graph box will be drawn. Default is ALLGRID, - i.e. draw all of it. All calls updated accordingly. - (draw_3d_graphbox) [USE_GRID_LAYERS]: Use new parameter to decide - which parts to actually draw. Changed #if PM3D to USE_GRID_LAYERS - to enable this former PM3D-only code for general usage. - (xtick_callback, ytick_callback, ztick_allback): Removed former - PM3D-only checks --- they're done in graphbox now, before calling - gen_tics(). - - * src/pm3d.h (PM3D_HAVE_SOLID): New macro, default value zero. - Disables pm3d option {transparent|solid}, which is no longer - needed --- it's a duplicate of what 'set grid front' already - achieves. - (pm3d_struct) [!PM3D_HAVE_SOLID]: Remove struct field - corresponding to disabled option. - - * src/pm3d.c (pm3d) [!PM3D_HAVE_SOLID]: Remove initializer of - removed struct field. - (pm3d_reset) [!PM3D_HAVE_SOLID]: Remove operation to clear removed - struct field. - - * src/set.c (set_pm3d) [!PM3D_HAVE_SOLID]: Ignore disabled option, - warn if running interactively. - - * src/show.c (show_pm3d) [!PM3D_HAVE_SOLID]: Disable display of - removed option. - - * src/save.c (save_set_all) [!PM3D_HAVE_SOLID]: Disable saving of - removed option. - - * docs/gnuplot.doc (pm3d): Removed documentation of no longer - existant option. - (grid): Document new default layering of 3D grid/boundary. - -2004-03-11 Petr Mikulik <mikulik@physics.muni.cz> - - * tutorial/tutorial.tex tutorial/header.tex: Updates about - TeX-friendly terminals in gnuplot 4.0. - - * term/gd.trm term/gif.trm: Don't print debugging message. - -2004-03-10 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Revise the conditional code sections so that it is - possible to select USE_ULIG_FILLEDBOXES without PM3D. - -2004-03-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gnupmdrv.rc: Renamed menu entry "~data style" to "style - ~data", and same for "~function". - - * config/config.mgw config/config.os2: #define - HAVE_TIME_T_IN_TIME_H. - - * ChangeLog: Fixed typos and spaces in author names and their - e-mails in ChangeLog entries. - -2004-03-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/doc2texi.el: Add @dircategory Math to place the gnuplot - info file into a suitable place in the master info directory page. - - * docs/gnuplot.texi: Updated accordingly. - -2004-03-07 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Selecting linetype -2 worked only because bounds - checking was incorrect. Now treat LT_BACKGROUND, LT_NODRAW, and - other negative linetypes as a request for the background color. - - * src/term.c: Allow explicit vertical offset of 0 in enhanced text - mode overprint statement. Patch by Harald Harders (SF.net bug - report #911068). Overprint positioning remains inexact at best in - non-PostScript drivers. - -2004-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): Added check - against infinities and NaNs. Most paths were already blocked, but - modern systems can have "inf" and "nan" right in the datafile, - which wasn't tested against. - -2004-03-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (fit): Clarify behaviour in case no "using" - specification was given. - -2004-03-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/standard.c (f_tanh): Added extra code to return an exact 1.0 - for large absolute arguments. Fixes SF bug #908184. - - * term/x11.trm [TERM_HELP]: Explain colour control via command - line options more clearly, including the -xrm for colors other - than the background. - - * docs/gnuplot.doc (random, palette): Fixed entries showing up as - sub-topics in the wrong places of gnuplot.gih. - -2004-03-02 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc term/x11.trm: Fix entries appearing in 'help - help'. - -2004-02-27 Ethan Merritt <merritt@u.washington.edu> - - * term/mif.trm: Revise #ifdef so that it compiles if you select - configure --disable-filledboxes - - * src/gplt_x11.c: Add #ifdef so that it compiles if you select - configure --disable-pm3d - -2004-02-27 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg config/config.mgw config/config.os2: Shape - these config files to the form of config.hin generated by - ./configure. This will more easily facilitate to synchronize - particular #(un)define options added to the ./configure procedure - in future. - -2004-02-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix SF bug [ 905691 ] "save" does not save correct arrow heads. - - * src/term_api.h (t_arrow_head): New enum type to provide manifest - constants for arrow head choices. - (arrow_head_names): Added declaration of new global in term.c. - (arrow_style_type): Change type of member "head" from int to new - enum. - - * src/term.c: Define constant strings for arrow head placement - options. - - * src/save.c (save_set_all): Use new string constant to correctly - output head placement options. - -2004-02-27 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc term/x11.trm: Added missing labels for hypertext - references. - -2004-02-24 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.amg config/config.cyg config/config.mgw - config/config.os2: Changed GP_FIT_ERRVARS from #undef to #define - (complies with the default value of ./configure). - -2004-02-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (bind, mouse variables, if, using, label, - mouse, x11 mouse, pm3d, palette, style arrow, style line): Removed - help entries that would go directly under 'help'. - (pm3d): Remove help entries that suggest 'set pm3d' has sub-nodes: - it doesn't. - - * term/vgagl.trm [TERM_HELP]: Removed help entries that would go - directly under 'help'. - - * term/x11.trm: Likewise. - - * term/pc.trm (PC_move, PC_vector, PC_put_text): Change coordinate - arguments to unsigned int to match terminal API. - - * src/term.h [DOS386]: Allow DOS386 platforms to load the - PC-specific driver section, too (--> Watcom). - - * src/plot3d.h: Prepend 'extern' to turn erroneous definition into - a declaration. - - * src/plot3d.c (plot_has_palette): Moved definition here, from - src/plot3d.h. - - * src/plot.c (main): Leave at end of main using return statement, - not the exit() system call. Exit() confuses compilers that expect - main to return an int. - - * src/bf_test.c (main): Likewise. - - * docs/doc2tex.c docs/doc2rnh.c docs/doc2ms.c docs/doc2ipf.c - docs/doc2hlp.c docs/doc2gih.c docs/checkdoc.c (main): Likewise. - - * docs/doc2rnh.c (main): Replace one EXIT_SUCCESS returned on - error condition by EXIT_FAILURE. - - * config/makefile.wc: Lots of changes to make this ancient - orphaned file workable with current releases of the Watcom - compiler. Will need further files config/config.wc - src/makefile.awc and to actually work, though. Converted to Unix - text file format in CVS. - - * config/README: Converted to Unix text file format. - - * config/config.cyg (HAVE_TIME_T_IN_TIME_H): Add this missing - configuration item. - -2004-02-22 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: When drawing rotated text, only modify pixels - that actually contain part of the text. Fixes bug #668782. Patch - originally submitted by Mike Sutton - <suttonm@users.sourceforge.net>, lightly modified by me. NB: This - code makes refreshing the plot window very slow if rotated text is - present. It is particularly noticeable when the window is - resized. - -2004-02-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix SF bug: [ 666462 ] steps/histeps calculation/display problem. - - * src/graphics.c (edge_intersect_steps, ): Replace invidual tests - against axis range ends by calls to macro cliptorange(), which can - handle reverted ranges. - (edge_intersect_fsteps): Likewise. - (two_edge_intersect): Use GPMAX() of axis endpoints instead of - axis.max element to compare to, again to avoid surprises with - reverted axes. - (do_key_sample): De-ANSI-fied. Reindented. - -2004-02-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Tagged a patchlevel 1 to incorporate some post-last-minute - changes: - - * PATCHLEVEL: Incremented by 1 for these post-release changes. - - * src/version.c: Updated. - - * configure.in (X11 handling): Append ${EXEEXT} to gnuplot_x11 - program name to allow building on X11 platforms that use .exe - extensions for programs (Win32, OS/2). - - * config/config.mgw config/config.cyg config/config.os2: Remove - '#' lines that aren't actual preprocessor commands. - - * src/win/wgraph.c (GraphStart): Don't grab keyboard focus unless - mouse mode is on. - -2004-02-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/electron.dem (3rd plot): Use "set key default" to get a - sensible position of the key. Without it, it's outside the page - and you get terminal driver errors. - -2004-02-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Tagged and released version 3.8k.0, which also serves as release - candidate #1 for release as version 4.0. - -2004-02-18 Ethan Merritt <merritt@u.washington.edu> - - * src/readline.c term/x11.trm: Patch by Bill Fenner fixing bug - #899245, suspend/resume with gnu readline requires us to trap - EINTR. - -2004-02-18 Ethan Merritt <merritt@u.washington.edu> - - * demo/webify.pl demo/Makefile.am.in: Make output html compliant - with 4.0.1 transitional standard. Add enhancedtext.dem to the - list of auto-generated html pages. - -2004-02-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in (--disable-defined-var): Remove annotation as - EXPERIMENTAL. - (--disable-fiterrvars): Changed default to enabled, removed - annotation as EXPERIMENTAL. - -2004-02-18 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg config/config.mgw config/config.os2: Added - #undef GP_FIT_ERRVARS and #define GP_ISVAR. - - * src/plot3d.c: Issue a warning when trying to draw surface with - pm3d style and there has not been previous "set pm3d". Maybe we - could refrain from this requirement in future by adding new field - 'pm3d.on' to 'pm3d.where' in 'struct pm3d'. - -2004-02-15 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c src/plot3d.c src/pm3d.c: Trivial changes to - prevent stupid compiler warnings. - -2004-02-13 Ethan Merritt <merritt@u.washington.edu> - - * demo/prob.dem demo/prob2.dem: pause(-1) after final plot - - * term/svg.trm term/post.trm: Rearrange things slightly so that - the output code is less ugly (cleanup of my 1 Feb 2004 patch). - -2004-02-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt (makefile.nt, config.h): Copy makefile.nt and - config.nt over into the src directory, if necessary. - - * src/time.c [!USE_SYSTEM_TIME] (gstrptime): Replace - implementation of %s format. Now reads in a double-precision - number and uses gnuplot's own ggmtime() routine instead of library - function gmtime(). This should fix SF bug #885279 "Reading '%s' - timefmt is not 64 bit safe". - (CHECK_SPACE, COPY_STRING, FORMAT_STRING): Macros moved inside - function xstrftime() they belong to. Changed to use do {...} - while(0) pattern. #undef them after use. - (xstrftime): Changed return type to size_t to avoid warnings. - (LETTER, NOTHING): Macros moved into function gstrptime() they - belong to. #undef them after use. - -2004-02-13 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.os2: Add SELECT_TYPE_ARG* definitions. - -2004-02-12 Ethan Merritt <merritt@u.washington.edu> - - * src/specfun.c demo/random.dem docs/gnuplot.doc: - Modify behaviour of rand() function in response to bug report #870706 - rand(0) returns a pseudorandom number generated from current seeds - rand(-1) resets both seeds to a standard value - rand(x) for x>0 sets both 32-bit seeds to x - rand({x,y}) for x>0 sets seed1 to x and seed2 to y - -2004-02-12 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Let the color sequence of the first 5 line - types be the same as in postscript. - - * src/term.c (do_point): Let sequence of the 6 defined point types - be the same as in postscript, png and x11. - -2004-02-12 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/plot.c src/win/winmain.c src/win/pgnuplot.c - term/win.trm: Let gnuplot on Windows accept the '-persist' command - line option (preferred synonym to '-noend' and '/noend'). - -2004-02-12 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw: Missing copy of file - VERSION into the latexing directory. - -2004-02-01 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm term/post.trm term/pdf.trm term/svg.trm: In the rare - case of a request to draw a line or polygon-fill with LT_NODRAW or - LT_BACKGROUND it makes more sense to set the color to white than - to black. The x11 terminal already behaves this way. - -2004-01-25 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm docs/gnuplot.doc: Take default font for gdlib - terminals (png jpeg) from environmental variable - GNUPLOT_DEFAULT_GDFONT. - -2004-01-20 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/Makefile.in: gnuplot.tex needs to be latexed 3 times (it - contains multipage toc). - -2004-01-19 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.os2: - Copy file VERSION into the latexing directory (setting TEXINPUTS - from within Makefile does not portably work). - -2004-01-17 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c src/save.h src/show.c: Consolidate the save and show - routines for data and function plot styles into a single place. - -2004-01-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Remove superfluous files from LISP_DISTCLEANFILES. - - * docs/Makefile.in: Add $(top_srcdir) to TEXINPUTS. Add installcheck - target. Fix uninstall-gih and uninstall-info targets. - - * docs/titlepag.tex: Remove path to VERSION file, this is now taken - care of by TEXINPUTS. - - * lisp/Makefile.am: Remove superfluous files from DISTCLEANFILES. - Remove dist-hook. - - * src/Makefile.am: Include PKG_MAJOR in pkglibexecdir. Adjust - X11_DRIVER_DIR accordingly. New variable pkglibexec_PROGRAMS for - gnuplot_x11, remove install-exec-local and uninstall-local targets - as automake creates them for pkglibexec_PROGRAMS. - -2004-01-13 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c: The color axis format was not being saved; now it is. - -2004-01-12 Ethan Merritt <merritt@u.washington.edu> - - * demo/webify.pl demo/mgr.pl demo/polar.dem demo/random: - Use 'print' rather than 'pause 0' in demos to avoid empty plots. - Have webify.pl delete empty *.png files on exit. If gpsavediff is - available, use it to create a script for each plot. If gnuplot.css - is present, reference it as a stylesheet. - -2004-01-11 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c, src/term.c, term/x11.trm, docs/gnuplot.doc: - Add sanity checks to 'pause mouse' command; give a warning if mousing - is not active. For X11, do *not* terminate 'pause mouse' on normal - input from stdin. This is necessary to allow 'pause mouse' to work - from piped input since more commands may already be queued up in stdin. - -2004-01-10 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d.c (geomean4): Support negative values to help splot surfaces with - all color coordinates negative and "set pm3d corners2color geomean". - - * gplt_x11.c: Print the debugging message "gnuplot_x11 3769: mouse - button 1 from window 1 at 0 0" only #ifdef DEBUG. - -2004-01-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/configure.in: Remove superfluous file copying commands, now - taken care of by auto* tools. - - * src/gplt_x11.c(pr_window): Bugfix: static array must be computable - at compile time. - -2004-01-07 Ethan Merritt <merritt@u.washington.edu> - - * src/plot.c, term/x11.trm: Set stdin to unbuffered on program entry - rather than waiting for the start of an X11 plot. All buffered input - is lost by the call to setvbuf(), so the only safe time to call it is - before there is any input. This fixes the latest manifestation of the - "x11 clipboard paste problem", and also the "piping from awk" problem. - -2004-01-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in, configure.vms, src/fit.c, src/gplt_x11.c, src/stdfn.h, - term/ggi.trm, term/x11.trm: Use AC_FUNC_SELECT_ARGTYPES instead of - AC_FUNC_SELECT and related changes. - - * config/config.amg: Updated. - - * docs/gnuplot.doc: Removed whitespace-only line as pointed out by - "make check". - - * m4/apple.m4, m4/beos.m4, m4/msdos.m4, m4/next.m4: Newer autoconf - versions require stricter quoting. - -2004-01-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/x11.trm (X11_args) [!USE_MOUSE]: Don't try to parse - "-nofeedback" option if mousing disabled. - - * src/command.c (test_palette_subcommand, test_time_subcommand): - Made static; added missing local prototype. - (test_palette_subcommand): Changed static const int "colors" to an - enum to make it eligible as an array size under C90. Renamed to - "test_palette_colors" to avoid global name space contamination. - Made several local string constant variables 'static', and removed - a superfluous one. Reindented. - -2004-01-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: Add webify.pl to distribution. - -2004-01-01 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Fix incorrect nesting of libpdf status test. - -2003-12-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util3d.c (polyline3d_next): Bugfix. The patch on 2003-12-19 - broke contouring in hidden3d mode. polyline3d_previous_vertex - wasn't updated. - -2003-12-26 Jim Van Zandt <jrv@debian.org> - - * src/set.c (load_tic_user): user tic definition can have 3rd - token specifying minitic - - * src/axis.h: ticmark.level specifies major or minitic - - * src/axis.c (gen_tics): Request user-supplied minitics - - * docs/gnuplot.doc: document user-supplied minitics - -2003-12-24 Ethan Merritt <merritt@u.washington.edu> - - * src/show.c: Fix buffer overflow in conv_text() if the text - contains many characters with the high bit set. - - * demo/enhancedtext.dem: Add demo for enhanced text mode. - - * demo/charset.dem: Add demo that displays font and character - encoding. - -2003-12-21 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm src/gplt_x11.c src/set.c src/term_api.h - src/term.c: Add support for ISO-8859-15 character encoding. - - * docs/gnuplot.doc: Minor changes to What's New. - -2003-12-21 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm: Add missing #ifdef PIPE_IPC. - - * term/pm.trm: Remove useless declaration. - -2003-12-19 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Sodipodi didn't care that the namespace URL was - junk, but the Adobe svg viewer doesn't like this. Give it the real - URL. - -2003-12-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util3d.h (polyline3d_start, polyline3d_next): Prototypes - added. - - * src/util3d.c (draw3d_line_unconditional): Avoid re-doing the - linetype change if it's to the same as in the lp_style_type - already applied. - (polyline3d_previous_vertex): New static variable. - (polyline3d_start, polyline3d_next): New functions. Draw connected - polylines in 3D. Hidden3d currently disables this --- to be added - in later. Polylines can't change colour in the middle of a run, - so palette mode turns this optimization off, too. - - * src/graph3d.c (cntr3d_lines): Use new helper routines to draw - connected polyline instead of isolated segments. - (do_3dplot): Since cntr3d_linespoints would break polyline - handling, call cntr3d_lines() and cntr3d_points() in a row, - instead. - (cntr3d_linespoints): Now unused --> #if'ed out. - -2003-12-16 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: Add a new x11 command line option - -nofeedback, and the corresponding Xresource gnuplot*feedback. It - disables the feedback loop by which gnuplot_x11 reports font and - plot size information back to gnuplot via the mouse pipe. This is - a work-around for feedback synchronization problems triggered by - certain scripting environments and possibly by other causes under - os2. - -2003-12-16 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Changes in "What is New in 4.0". - - * src/mouse.c (bind_display): Minor change in the hotkey help. - - * term/post.trm (START_HELP): Fixed undefined references in - gnuplot.tex. - - * src/gplt_x11.c: #if (USE_MOUSE && MOUSE_ALL_WINDOWS) => #if - defined(...) && defined(...) - -2003-12-15 Ethan Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in demo/webify.pl demo/airfoil.dem - demo/prob2.dem: Integrate generation of demo web pages into the - Makefile, so that 'make html' autogenerates most of them. A few - oddball scripts need to be processed by hand. - -2003-12-15 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Lauris Kaplinski <lauris@users.sourceforge.net> - diagnosed that the reason gnuplot point styles were not displaying - properly in some svg applications was our failure to specify the - xlink: namespace. - - * term/post.trm: PS_filled_polygon() must flush current path on - entry if there is one. This fixes the missing arrow-shaft - problems seen in arrowstyle.dem. It is possible that the awk - scripts in pm3d/contrib need to be modified to parse the resulting - "stroke" command. - -2003-12-15 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: Lowercased IF EXIST and DEL commands (there - is a make.exe program reported to dislike uppercases). - -2003-12-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c: - (getMultiTabConsoleSwitchCommand): New routine to return system - command to switch to the appropriate "tab" of a multitab console - window where gnuplot is running. Currently implemented for KDE's - Konsole (it returns a "dcop" command). - (process_event): Let hotkey "<space>" in gnuplot_x11 work also in - gnuplot running in multitab KDE's Konsole. - -2003-12-15 Andrey V. Panov <panov@iacp.dvo.ru> - - * NEWS docs/gnuplot.doc src/term_api.h src/term.c src/gplt_x11.c - src/set.c term/post.trm: New encoding koi8-r (Russian locale on Unices). - SourceForge patch #853823. - -2003-12-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/color.c (draw_color_smooth_box): Fixed position of color box - to what it is in default view orientation, to make it stop - rotating along with the plot. - -2003-12-12 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/gnuplot.texi term/post.trm term/x11.trm: - Update the "New in Version 4.0" section of the docs, and change - all the URLs for demos to point to the SourceForge web site rather - than to Alex Woo's old web site at nasa.gov. - - * docs/gnuplot.doc docs/gnuplot.texi docs/titlepag.tex - src/Makefile.am src/plot.c: Change references to mailing lists to - - gnuplot-info@lists.sourceforge.net - gnuplot-bugs@lists.sourceforge.net - gnuplot-beta@lists.sourceforge.net - - There are many more explicit references to dartmouth.edu in the - source files and in the hard-wired Makefiles that I did not - change. - - * demo/bivariat.dem: Fix key placement in final plot. - - * demo/webify.pl: New File. This is a perl script that converts a - single gnuplot demo script into a web page with associated png - images. I used it to generate a new set of demo pages for version - 4 on gnuplot.sourceforge.net/demo/index.html - -2003-12-05 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Leave current window unchanged when closing old - window using the 'set term x11 <old> close' command. - -2003-12-02 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Add conditional code to make svg output compatible - with the Sodipodi svg viewer/editor. Sodipodi does not yet - implement the full svg syntax, including the "currentColor" - attribute. This change was checked for correctness using the Adobe - svg viewer, which produces the same display given either the - original or the simplified output. - - * term/svg.trm: Force a new graphics context whenever linewidth - changes. - -2003-12-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/tables.h (enum set_id): Renamed parser constant S_OUTPUT to - SET_OUTPUT, in order to avoid collision with MacOS X 10.3 system - headers. - - * src/tables.c (set_tbl): Likewise. - - * src/set.c (set_command): Likewise. - - * src/unset.c (unset_command): Likewise. - - * src/show.c (show_command): Likewise. - -2003-12-01 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c src/history.c docs/gnuplot.doc: New option - "history quiet" to suppress enumeration of history entries (helps - cut&paste). - -2003-11-30 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm src/term_api.h src/term.c: Move enhanced text mode - parsing and processing from post.trm to the gnuplot core. This - requires 3 new entries in TERM_TABLE for any terminal driver that - wants to share the enhanced text code. The behaviour of the - postscript terminal is unaffected by this change. - - * src/gplt_x11.c term/dumb.trm term/gd.trm term/pdf.trm - term/x11.trm NEWS: Add enhanced text mode support to four - additional drivers. The implementation in dumb.trm is intended as - sample code for extending enhanced text mode support to other - drivers. - -2003-11-30 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Get documentation for 'palette gray' and - 'palette gamma' close together. - -2003-11-30 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (test_palette_subcommand): Don't forget the replot - command after 'test palette'. - - * src/setshow.c src/set.c: Global variable enable_reset_palette to - enable/disable reset_palette(). Required by 'test palette'. - -2003-11-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Fixed vertical and horizontal shifts - associated to text angles. - -2003-11-28 Petr Mikulik <mikulik@physics.muni.cz> - - * tables.c: Moved definition of test_tbl[] out of #ifdef PM3D. - - * command.c (test_palette_subcommand): Reworked 'test palette' to - use only one temporary file. - -2003-11-25 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: Clean up code to remove compiler - warnings. - - * src/parse.h src/unset.c: Export a prototype for - cleanup_udvlist(). - - * src/command.c: Include "getcolor.h" for rgb1_to_gray prototype. - -2003-11-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/variable.c (PATHSEP_TO_NUL): Reindented. Applied do {} - while(0) wrapper. - (PRINT_PATHLIST): Renamed from PRINT_LOADPATH. Reindented. - Applied do {} while (0) wrapper. Made pointer variable local to - the macro, initialize it from additional argument for clarity. - (loadpath_handler, fontpath_handler): Removed static local - 'beenhere'. Test directly for 'p != NULL' in ACTION_GET handler - instead. - -2003-11-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (test_palette_subcommand): Don't crash 'test - palette' in read-only directory. - -2003-11-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/xlib.h: Fixed typo (missing ` makes some of doc2xxx fail). - -2003-11-24 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc src/gp_hist.h src/command.c src/history.c: - Allow 'history "file"' be a pipe. New option 'history "file" - append'. - -2003-11-24 Daniel J Sebald <daniel.sebald@ieee.org> - - * NEWS src/gplt_x11.c term/x11.trm: SourceForge patch #774822. - Organized x11 terminal windows into a linked list. Removed the - limit of max 16 enumerated terminal windows. New options 'set term - x11 close' and 'set term x11 title "<title>"'. - -2003-11-24 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/command.h src/command.c src/tables.h - src/tables.c src/term.c: New command 'test palette' for testing - rgb profiles of the current palette. Command 'test' gets an - optional argument of what to test: 'test terminal' (default) is - what 'test' currently does. Undocumented command 'testime' - changed to 'test time'. - -2003-11-21 Ethan Merritt <merritt@u.washington.edu> - - * src/show.c: Remove unused variables to quiet compiler warnings. - - * src/parse.c src/unset.c: Add garbage collection of defunct - user-defined variables. This plugs a small memory leak that would - grow into a much larger one if/when we add string variables. - - * src/graphics.c: Break out creation of key entries into a - separate subroutine, with related code cleanup. This is more - preparation for support of multiple keys. - -2003-11-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (drawgraph): Fix names of struct elements - changed on 2003-11-13. - -2003-11-18 Ethan Merritt <merritt@u.washington.edu> - - * src/specfun.c: Add parens to make DEC cc compiler happy. - -2003-11-18 Petr Mikulik <mikulik@physics.muni.cz> - - * src/unset.c (unset_colorbox) (unset_pm3d): Removed extra - c_token++. - -2003-11-18 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c (cbtick_callback): Fixed position of nomirrored - horizontal color box tics. - -2003-11-17 Ethan Merritt <merritt@u.washington.edu> - - * term/xlib.trm src/term.h: Update xlib device to use the actual - x11 driver routines, so the output will be identical. - -2003-11-14 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Fix bug in enhanced text overprint mode; vertical - offset of overprinted text is now honored as specified in the - documentation. - -2003-11-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/history.c (write_history): Typo fixed. - - * src/command.c (history_command): Better error message for the - "history" command not being available for GNU readline. - -2003-11-13 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/show.c docs/gnuplot.doc: Options {float | int} for - 'show palette palette <n>', and let the output go to that of 'set - print'. - - * src/command.h src/command.c: Let variables print_out and - print_out_name be global instead of static. - -2003-11-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h src/axis.c src/plot3d.c: Renamed set_pm3d_zminmax() - to set_cbminmax(). - -2003-11-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.h src/color.c src/getcolor.h src/getcolor.c - src/gplt_x11.c src/show.c src/win/wgraph.c term/metapost.trm - term/pdf.trm term/svg.trm: New structure rgb255_color for uchar - r,g,b. Renamed color_from_gray() to rgb1_from_gray(). Renamed - rgb_from_gray() to rgb255_from_gray(). New routine - rgb255_from_rgb1(). - -2003-11-10 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c: Don't try to set color of non-supporting terminals. - -2003-11-06 Ethan Merritt <merritt@u.washington.edu> - - * configure.in, term/pdf.trm: Test for and accommodate older - versions of pdflib. - -2003-11-01 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Do not use %lg to printf doubles. Some compilers - complain because it is not strict ANSIC. - -2003-10-31 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm src/gplt_x11.c: Added #ifdef PIPE_IPC where missing - (fixes compiling X11 terminal on OS/2). - -2003-10-29 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/unixplot.trm: Fix misprints in gnuplot manual - (#13). - -2003-10-27 Ethan Merritt <merritt@u.washington.edu> - - * demo/*.dem: Replace deprecated syntax in demos with current - preferred syntax. - -2003-10-23 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Add a soft lock on the mousing pipe so that input - from stdin is delayed until completion of a query/response operation - over the mousing pipe. This fixes the problem of input characters - being lost when stdin is fast (e.g. a script) and the X11 response - is slow. It does *not* fix the problem with unbuffered input being - lost, e.g. from awk scripts. - -2003-10-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c reset_palette(): Added missing reset of variable - pm3d_last_set_palette_mode. Bugfix by Daniel J Sebald. - -2003-10-21 Ethan Merritt <merritt@u.washington.edu> - - * src/specfun.c: Fix reported bug #826811. The inverse_error_func() - code to perform Newton-Raphson improvement was incorrectly nested - so that it was only invoked in 1 of 3 range cases. Also empirical - testing indicated that a 3rd cycle of Newton-Raphson was needed. - -2003-10-21 Petr Mikulik <mikulik@physics.muni.cz> - - Changes allowing to save gnuplot session to a pipe, for example - save "|cat >a.gp". - - * docs/gnuplot.doc: Documentation update. - - * src/command.c capture_filename_and_pfopen(): New routine, like - CAPTURE_FILENAME_AND_FOPEN but with popen() in addition. - - * src/command.c save_command(): Reorganized. - - * save.c save_functions() save_variables() save_all() save_term(): - Reorganized. - -2003-10-17 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/old/README.os2: File removed. Information therein were already - moved into appropriate places of gnuplot documentation long time ago. - -2003-10-17 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/animate.dem bivariat.dem borders.dem candlestics.dem discrete.dem - fillcrvs.dem fillstyle.dem fontfile.dem fontfile_latex.dem hidden.dem - mousevariables.dem multimsh.dem param.dem pm3d.dem pm3dcolors.dem - pm3dgamma.dem poldat.dem random.dem scatter.dem steps.dem textcolor.dem - textrotate.dem timedat.dem vector.dem: Added Id: tags and trailing reset - command where missing. - -2003-10-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.h src/gp_types.h: Moved enum of MODE_QUERY, MODE_PLOT, and - MODE_SPLOT from mouse.h to gp_types.h to be available for non-mousing - routines as well. - -2003-10-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c src/graph3d.c: Title of 'set key title' was not - placed properly under simultaneous 'set key height'. - -2003-10-08 Petr Mikulik <mikulik@physics.muni.cz> - - * src/tables.h src/tables.c: New routine lookup_table_nth. - -2003-10-06 Ethan Merritt <merritt@u.washington.edu> - - * axis.h: The recent (8 Sep) change to define NOOP as 0 caused - gcc 3.2 -Wall to emit dozens of warning messages. Change this to - #define NOOP ((void)0) instead. - * interpol.c, plot2d.c: Remove extraneous redefinition of NOOP. - -2003-10-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in (AC_PREREQ): Requirement raised to version 2.52 of - autoconf. - (HAVE_DECL_SIGNGAM): New test, searches for declaration of signgam - variable in <math.h>. - - * src/specfun.c : General cleanup, adapting to gnuplot CodeStyle - conventions. Changed function definitions to K&R style (keeping - ANSI prototypes). Moved all prototypes to central place at head - of sourcefile. - (signgam): Only activate own extern declaration if system provides - none --- might cause conflicts on strange systems. This needs the - new autoconf test for HAVE_DECL_SIGNGAM. - (ermsg): Message array marked const, moved into only routine using - it: mtherr(). - (polevl, p1evl): Marked argument coef and local pointer p const. - (A, B, C, LS2PI, MAXLGM, LOGPI): Marked const; moved into the only - function using them: lngamma(). - (f_erf, f_erfc): Sanitized handling of local variable fsign. - (f_erfc): Fix check for error-return from igamma(). - (f_gamma): Replace magic number 88.0 by negative of macro MINEXP. - (pn1, pn2, pn3, pn4, pn5, pn6): Moved into single function using - them: igamma(); - (igamma): Remove spurious check of argument against MINEXP --- - gp_exp() already does that, if necessary. This should fix SF bug - #806455. - (Xm1, Xm2, Xa2, Xa2): Marked const; moved into only function using - them: ranf(). - (P0, Q0, P1, Q1, P2, Q2): Marked const; moved into only function - using them: inverse_normal_func(). - (UTHRESH, SQRTH, ndtr): Unused --- removed. - (P, Q, R, S): Marked const, moved into only function using them: - erfc(). - (erfc): Only compile this if !defined(HAVE_ERFC). - (T, U): Marked const, moved into only function using them: erf(). - (erf): Only compile this if !defined(HAVE_ERF). - (inverse_error_func): Marked local parameter arrays a, b, c, d - static and const. - -2003-09-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Part II of portability glitches reported by Scott Marovich from HP - labs: - - * term/x11.trm (X11_set_default_font): Made static to match - declaration. - - * term/png.trm (png_default_write_data) [PNG_NO_STDIO] : New - callback function to be used if libpng was built with the - PNG_NO_STDIO option. - (PNG_text) [PNG_NO_STDIO]: Use it instead of png_init_io. - - * configure.in (--with-png): Test for png_create_write_struct - instead of png_init_io, since the latter can be removed from - libpng at build time. - (--with-pdf): Remove spurious comma in test for libpdf and - pdflib.h precence. - -2003-09-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c (test_term): Fixed incomplete if statement. - -2003-09-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Portability glitches reported by Scott Marovich from HP labs: - - * src/pm3d.h (PM3D_WHICH_CORNES2COLOR): Fix comma placement in - enumeration. - - * src/getcolor.c (color_components_from_gray): Remove trailing - semicolon after definition. - - * src/axis.h (AXIS_INDEX): Fix comma placement in enumeration. - (NOOP): #define as 0 instead of /* */, to work around - preprocessors that forbid empty macro arguments. - - * src/gplt_x11.c (stipple_halftone_bits, stipple_pattern_bits): - Changed from unsigned char to straight char, to silence a compiler - warning. - -2003-08-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in (--with-pdf): Moved check for pdflib.h so it only - gets done if -lpdf itself was found. - - * src/beos/Makefile: Removed lots of spurious <TAB> characters. - -2003-08-22 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/fig.trm, term/gd.trm, term/post.trm, - term/x11.trm: Fix misprints in gnuplot manual (#12). - -2003-08-20 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c src/show.c: Fix incomplete/incorrect description of point - properties from 'set label' commands. - - * src/set.c docs/gnuplot.doc: Remove order-dependence of options to - 'set [xyz]label' command. Deprecate omission of 'font' keyword. - -2003-08-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/parse.c (push_vars): Changed initialization to TRUE, as it - was before yesterday's patch. Fixes SF bug #790489. - -2003-08-17 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.h src/eval.c src/parse.c: There is no need to have - push_vars a global exported from eval.*; move it to parse.c, the - only user. - -2003-08-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/specfun.c [!GAMMA] (signgam): Replace explicit variable - definition by macro to map from sgngam in fall-back implementation - to default name. Fixes gamma(x)==0 bug on Cygwin/MinGW32 builds. - -2003-08-12 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Apply linewidth changes directly to pm3d mode (fixes - bug that linewidths in pm3d were one plot late in being applied). - -2003-08-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/aquaterm.trm: Updated from aquaterm cvs bugfix branch. - Thanks to Per Persson for the note. - -2003-08-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Tag and release 3.8j.0 snapshot. - -2003-08-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: Add equipo2.dat, field2xy.dat to CLEANFILES. - -2003-08-05 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fix misprints in gnuplot manual (#11). - -2003-08-04 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm docs/gnuplot.doc: Honor explicit request - for "bold" or "medium" font weight when parsing X11 font requests. - -2003-07-31 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Fix incorrect bracketing of switch statement entries - introduced way back in Dec 2000. This fixes the "x11 clipboard" bug. - -2003-07-27 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/titlepag.tex: This is a first pass at updating - the "What is New" section to reflect changes since version 3.7. I also - slightly re-arranged the sections on mousing, and added my name to the - list of contributers. - -2003-07-27 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/mouse.c docs/gnuplot.doc: Report key modifiers - active at the time of a mouse click in variables MOUSE_SHIFT, - MOUSE_ALT, and MOUSE_CTRL. - -2003-07-23 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Rename the configuration option for Jaime Reed's - 'defined(var)' code, and enable it by default. The option is now - ./configure --disable-defined-var - - * show.c: Move listing of undefined variables to an FPRINTF. - -2003-07-22 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/mouse.c: - Add a new user command 'pause mouse {"text"}'. On mouse-capable - terminals the pause will terminate on either a mouse click or on - a <cr>; for all other terminals it is treated as 'pause -1'. - - * src/parse.c src/parse.h: Add a new function get_udv(key) that can - search for user-defined variables even if the key is not a token in - the current command line. - - * src/mouse.c src/command.c: When mousing is active, each mouse click - in the current plot window will update the current value of user-defined - variables MOUSE_BUTTON MOUSE_X MOUSE_Y MOUSE_X2 MOUSE_Y2. In combination - with Jaime Reed's patch below, this allows gnuplot scripts to test for - the presence and result of mouse input. - - * src/gplt_x11.c term/x11.trm: Continue processing mouse activity for - all displayed X11 windows. This is necessarily done in gnuplot_x11, - since gnuplot discards the old scaling information each time it starts - a new plot. The mouse position is updated in the window itself. - There is dummy code in gplt_x11.c that logs mouse clicks to stderr, but - ideally it should be fed to some higher-level process (e.g. Octave). - - * docs/gnuplot.doc demo/mousevariables.dem: Document new mousing - behaviour and provide a sample script that uses it. - -2003-07-22 Jaime Reed <jaime2003@users.sourceforge.net> - - * src/parse.c src/eval.h src/eval.c src/standard.c src/standard.h - src/internal.c src/internal.h configure.in: Create a new builtin - function "defined(<uservar>)" that returns 1 if the user variable - is defined and returns 0 if undefined. This was patch #714750 on - SourceForge. Select at build time by ./configure --enable-isvar - -2003-07-15 Ethan Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/graphics.c src/plot2d.c: Create a new flag - PLOT_STYLE_HAS_BOXES and use this to trigger filled-box processing - rather than testing individually for each plot style that uses it. - - * src/mouse.c: #include "util3d.h" to get prototype for map3d_xy(). - -2003-07-10 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Gnuplot disables mousing if it thinks the - controlling terminal is not interactive. In this case X11_graphics() - must not attempt to wait for a mouse event during initialization - [Fixes reported bug that first character of input line can be lost]. - -2003-07-07 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Detect request for illegal window number and - treat it as window number 0. - - * term/x11.trm: Detect missing font name during "set term x11". - - * src/command.c: Add missing line from what should have been a - patch too trivial for me to mess up (do_string). - -2003-07-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c (do_string_replot): Minor simplification: use - gp_strdup() to duplicate current input_line string. Add some - blanks as per CodeStyle document. - (do_string): Likewise. - -2003-07-04 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c: Rewrite do_string() and do_string_replot() so - that no memory corruption occurs if extend_input_line() triggers a - realloc(<xxx>,input_line) during processing. - - * term/x11.trm: Font requests to a remote X-server are very slow; - track font used for most recent text placement and only send a - font request if the current text font is different from the - previous one. - - * src/gplt_x11.c: Collect sequential vector draws into a single - polyline before sending it to the X-server. This makes wide lines - smoother, and gives a small speed improvement for remote displays. - - * src/graphics.c: Replace problematic adjustment of key placement - below plot with a better one. - -2003-07-02 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c: DU4.0 cc compiler does not automatically promote - argument of sqrt to (double), so change it to double explicitly. - - * demos/arrowstyle.dem, demos/vector.dem: Show more of what the - `plot with vectors <arrowstyle>` option can do. - -2003-07-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (pm3d_reset): Forgotten change of the default value - from 'set pm3d clip1in' to 'set pm3d clip4in' in the patch from - 2002-10-09. - -2003-07-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (do_string_replot): Don't allocate so much of the - temporary buffer. - -2003-07-01 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: Make sample arrow in plot key match the arrow - style used by 'plot with vectors'. - -2003-06-30 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.h src/misc.c src/plot2d.c src/set.c docs/gnuplot.doc: - Vector plots are drawn using the linetype in a stored arrowstyle - structure. Make sure this defaults to the linetype for the current - plot #, and that this and the overall plot linetype always agree. - -2003-06-27 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Fix unexpected behaviour that 'set grid nox noy' - turned the x and y grids ON rather than off. - -2003-06-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/dxf.trm (DXF_HTIC, DXF_VTIC): Fixed definitions so 'set - size ratio' can work. - -2003-06-25 Ethan Merritt <merritt@u.washington.edu> - - * src/term_api.h src/command.c term/x11.trm: Define a flag - TERM_INIT_ON_REPLOT by which a terminal driver can request that - term->init() be called at the start of a replot command. - - * src/gplt_x11.c src/mouse.c: Send the current true size of the - x11 display window back from gnuplot_x11 to x11.trm during - term->init(). Use this information to update the aspect ratio. - -2003-06-21 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: gnuplot_x11<->x11.trm font info exchange is now - working. - -2003-06-20 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: - It turns out that yesterday's patch breaks the "pause -1" command - (it always returns immediately). I have temporarily disabled the - new code while I track down the problem. The offending line is now - protected by #ifdef X11_FONT_UPDATE. - - * term/x11.trm: - Add an interlock so that the gnuplot_x11<->x11.trm font info exchange - is only performed once per splot, rather than every time the view is - changed using the mouse. - -2003-06-19 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c src/graphics.c src/mouse.c src/mousecmn.h term/x11.trm - Use existing mouse communication pipe to send X11 font characteristics - back from gnuplot_x11 to x11.trm. This allows gnuplot to lay out the - plot with v_char and h_char sizes that are correct for the current - default X11 font. This patch slightly changes the timing of initial - operations over the pipe, and adds a FFLUSH(), so there is a remote - possibility that it also fixes a reported problem in which gnuplot_x11 - eats CPU cycles while supposedly idle. This patch should have no effect - if gnuplot is configured with --disable-mouse. - - * term/pslatex.trm: Escape % to %% inside printf() statement. - -2003-06-18 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.h: Fix FPRINTF typo. - -2003-06-16 Petr Mikulik <mikulik@physics.muni.cz> - - * command.c do_string_replot(): Dynamically allocate temporary input - line buffer instead of using a fix-size one. Fixes crash when replotting - a long plot command by mouse/hotkey. - -2003-06-15 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: Center key title over entire key box rather than - cramming it into the first column only. - -2003-06-14 Ethan Merritt <merritt@u.washington.edu> - - * term/epslatex.trm: Clean up file name handling; now it is OK to give - either .eps or .tex in 'set output', or no file extension at all. - -2003-06-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/epslatex.trm: Fix misprints in gnuplot manual. - -2003-06-11 Ethan Merritt <merritt@u.washington.edu> - - * term/epslatex.trm term/pslatex.trm: Add text rotation. - - * term/epslatex.trm: Add missing PostScript macros used by - t->filled_polygon. - - * src/term.c: Fix size of test polygon relative to plot. - -2003-06-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL, configure.in: Add note about GNU readline bug. - - * docs/Makefile.in, src/makefile.all, src/term.h, term/aquaterm.trm: - Add support for AquaTerm, a new MacOS X graphics terminal. - - * src/Makefile.am: Fix for bug #738816 "configure --without-x not - effective". - - * src/readline.c: Remove gnuplot SIGWINCH handler, see note about - GNU readline bug. - -2003-06-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c (show_palette_fit2rgbformulae): Take care of color models. - -2003-06-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c (show_palette_rgbformulae show_palette_palette - show_palette_colornames): Fixed indentation. - -2003-06-03 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/show.c docs/gnuplot.doc: New command 'show palette - fit2rgbformulae'. - -2003-05-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gplt_x11.c (main) [!DEBUG]: Redirect stderr to /dev/null on - entry to -persist mode event loop. Avoids hanging emacs if you - run "gnuplot -persist" via shell-command. In DEBUG mode, leave it - alone. - -2003-05-19 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Make pattern fill sequence consistent with other - terminal types. Fix off-by-one y coordinate error in box fill - code. - -2003-05-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_palette_colornames): Fix a C++-ism (variable - declarations not at the beginning of a block). - -2003-05-17 James R. Van Zandt <jrv@debian.org> - - * term/README: spelling and grammar fixes - -2003-05-17 Petr Mikulik <mikulik@physics.muni.cz> - - * term/svg.trm: Support filled polygons with more than 4 corners. - -2003-05-17 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c show_palette_colornames(): Command 'show palette - colornames': print color names and their rgb values (was printing - only names). - -2003-05-16 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/unset.c docs/gnuplot.doc: - Add new command options 'set key {on|off|default}'. - Using 'set key' to restore default values is deprecated. - -2003-05-16 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg: New configuration define - GNUSORT. - -2003-05-13 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c docs/gnuplot.doc: Apply current fill style to boxes - drawn for 'plot with boxxyerror'. - -2003-05-10 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Expand documentation of font handling. - * src/readline.c: Allow <tab> characters in input stream. - -2003-05-09 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Add missing prototype for CGM_fillbox(). - * src/term.c: Work around Microsoft compiler inadequacy. - * src/datafile.c: Trap missing filename in df_open(). - -2003-05-06 James R. Van Zandt <jrv@vanzandt.mv.com> - - * term/cgm.trm (CGM_fillbox): Implement pattern filled boxes, - conditioned on USE_ULIG_FILLEDBOXES. - -2003-05-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c (test_term): Improvements in the 'test' command: Some of - the text labels are in colors; added test for text at +-45 deg; added - test for mouse and for pm3d. - -2003-05-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (recalc_ruler_pos): Take care of ruler in 'set view map' - splot. - -2003-05-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c: Fixed #define is_comment(c): strchr(s,c) returns - !NULL for c=0. - -2003-05-03 Ethan Merritt <merritt@u.washington.edu> - - * term/mif.trm: Implement support for filled boxes, pattern fill - and for PM3D filled polygons. - -2003-05-01 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Remove limit of 4 vertices in fill_polygon(). - -2003-04-30 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Say that the either of `set datafile commentschars` - characters must be the first non-blank blank character on the line. - -2003-04-29 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/datafile.c src/datafile.h src/save.c - src/set.c src/show.c src/syscfg.h src/unset.c: New option 'set datafile - commentschars'. - -2003-04-24 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: The postscript terminal driver now implements - pattern-fill via a (Level 1) PostScript subroutine rather than via - a loop in the driver-level C code. Thanks to Dick Crawford. - - * src/bitmap.c src/gplt_x11.c src/win/wgraph.c - term/emf.trm term/gd.trm term/pdf.trm: - Bring all terminal types that support pattern-fill into agreement - about the order of patterns. The patterns have been chosen for - maximum contrast in mono plots, and to favor symmetric patterns - over diagonal lines that are hard to describe in figure captions. - - Pattern fill support is now uniform for the following terminals - epslatex - gd (png jpeg) - bitmap (pbm epson hp500c hpljii hppj) - pdf - postscript - pslatex - windows - x11 - Not implemented but probably should be - aifm - eepic - emf - -2003-04-24 Ethan Merritt <merritt@u.washington.edu> - - * src/win/wgraph.c: Tweak previous correction to saved pen color - so that it applies cleanly to box fill as well. - -2003-04-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (drawgraph): Fix signedness bug exposed by - saving the "test" page to the clipboard. Shift value of local - variable "pen" by 2 to keep it non-negative. - - * config/makefile.cyg (CFLAGS): Add missing "endif". - (veryclean): Remove pgnuplot.exe, too. - -2003-04-18 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (process_event): Patch "[ 707940 ] bug fix for - graph height underflow 690018". Fixes graph size when mouse is - on/off. The fix is simply to check if vchar > plot->height, and if - so set plot->gheight to zero otherwise plot->gheight = - plot->height - vchar. - -2003-04-18 Harald Harders <h.harders@tu-bs.de> - - * docs/psdoc/ps_fontfile_doc.tex: Patch "[ 696421 ] Improved - ps_fontfile_doc". Some text is modified, the symbol table now - includes the octal and decimal numbers of the characters. - -2003-04-18 Petr Mikulik <mikulik@physics.muni.cz> - - * gnuplot.doc unset.c(reset_command): Remove "unset_loadpath()" - from reset command. After discussion on gnuplot-beta list, the - "reset" command should reset only graphics settings, while it - should let unchanged non-graphics settings (like set term, out, - loadpath and fontpath). - -2003-04-13 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c src/graphics.c: Correct a syntax error in test for - terminal support of filled boxes. This fixes reported crashes - under MSWin. - - * src/gadgets.c src/mouse.c: Fix the same syntax error in other - files also, although no crashes have been reported for these. - -2003-04-13 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Document that libgd will handle both TrueType and - Adobe Type 1 fonts. - - * src/unset.c: Set tic label rotation to 0 on unset or reset. - -2003-04-04 Ethan Merritt <merritt@u.washington.edu> - - * term/pslatex.trm term/epslatex.trm: Add filled box support. - - * term/eepic.trm: Fix broken parsing of terminal options. - - * term/pstricks.trm: Remove unused prototype - PSTRICKS_previous_palette. - -2003-04-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt (winmain.obj): Don't repeat HELPFILE - definition --- already part of CFLAGS. - -2003-04-04 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: Support for IPFC 2.1. Use temporary script file - when creating allterm.h. - -2003-04-03 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c: Only test fill patterns on terminals that support it. - -2003-04-01 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Fix bugs in parsing terminal size and setting tic size. - -2003-03-31 Ethan Merritt <merritt@u.washington.edu> - - * src/bitmap.c src/gplt_x11.c term/gd.trm term/pdf.trm: - Add a cross-hatch fill pattern. The change to bitmap.c affects the - epson, hpxx, and pbm terminal types. - -2003-03-31 Ethan Merritt <merritt@u.washington.edu> - - * src/bitmap.c term/pdf.trm: Revise the order of colors slightly - to maximize contrast between successive plots (affects gd.trm also). - - * src/term.c: Add linewidth and fill patterns to terminal test. - -2003-03-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c (save_set_all): Don't compare an enum label to a - pointer; not even if the enum is zero. Found by John Bollinger on - MS VC++. - - * src/show.c (show_key): Likewise. - -2003-03-26 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS term/gnugraph.trm term/openstep.trm: - Terminal provided by openstep is called "openstep", not "next". - Terminal provided by gnugraph is called "gnugraph", not "unixplot". - -2003-03-22 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Pronounce looking at demo/pm3d.dem. - - * demo/pm3d.dem: In demo of corners2color, transpose positions of - 'c2' and 'c3'. - -2003-03-22 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm(PS_filled_polygon): Don't call PS_FLUSH_PATH but reset - ps_path_count instead (flush is automatic). Fixes broken pm3d map - layout (required by pm3dConvert*.awk scripts) due to "stroke\n" in - PS_FLUSH_PATH. - - * demo/pm3d.dem: Replace "set view 180,..." by "set pm3d map". - -2003-03-21 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm: Allow to use both the default '"gnuplot_x11.exe"' and - optional 'GNUPLOT_X11 ".exe"' for initializing X11_default_command[] - under OS/2 and Windows. - -2003-03-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (boundary3d): Avoid division by zero if graph too - small to contain the key. - -2003-03-21 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gd.trm term/gif.trm: Added #undef gdfont after it is not used - any longer. - -2003-03-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/eval.c (gp_exp): Make this a function in all cases. If - MINEXP wasn't set, use special version that removes ERANGE caused - by large negative arguments to exp(). - - * src/eval.h (gp_exp): Don't #define gp_exp() if no MINEXP set. - - * src/specfun.c (inverse_error_func): Call sanitized gp_exp() - instead of plain exp(). - (lambertw): Likewise. - -2003-03-18 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Default to medium size font (7x13) as claimed - by the documentation and by the output of show term; fixes - bug 696179. If the user provides new colors in 'set term', then - overwrite any previously specified colors (bug 702382). - -2003-03-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (eval_plots): Initialize arrow_properties of plot - with vectors in case of no style options given by the user. - - * src/graphics.c (plot_vectors): Avoid using any coordinates of - UNDEFINED input points. - - * demo/vector.dem: Use set term push/pop to avoid screen terminal - dependency. - -2003-03-17 Leo Brewin <leo.brewin@sci.monash.edu.au> - - * term/pdf.trm: Tell pdflib to use its built-in font metrics for - Symbol and ZapfDingbats fonts, since not all hosts have these. - -2003-03-14 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Improved demo for corners2color. - - * docs/gnuplot.doc: Proofreading pm3d section. - -2003-03-13 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/pm3d.h src/pm3d.c src/tables.h src/tables.c src/save.c - src/set.c src/show.c demo/pm3d.dem docs/gnuplot.doc: New pm3d - option 'corners2color'. - -2003-03-13 Ethan Merritt <merritt@u.washington.edu> - - * set.c: Consolidate set_{blrt}margin into a single routine, break - out text_label creation and label option parsing into separate - routines so that they can be called separately, general code - cleanup. - - * unset.c: Consolidate unset_{blrt}margin into a single routine. - -2003-03-07 Ethan Merritt <merritt@u.washington.edu> - - * graphics.c: Filled boxes can obscure the x-axis (see for example - fillstyle.dem); fix this by retracing the axes at the end of - plotting. - -2003-03-06 Wilhelm Braunschober <Wilhelm.Braunschober@t-online.de> - - * term/svg.trm (SVG_fixed_size): New configuration variable. - (SVG_local_reset): New helper function to reset all to defaults. - (SVG_options): Handle new option 'size {fixed|dynamic}'. Fix font - name input to write to FontNameCur, not FontNameDef. - (SVG_init): Use FontNameCur instead of FontNameDef. Implement - encoding ISO-8859-1 and dynamic size option. - -2003-03-04 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib/colorpts-demo.gp: Removed explicit 'set term'. - -2003-03-03 Ethan Merritt <merritt@u.washington.edu> - - * demo/candlesticks.dem docs/gnuplot.doc src/graphics.c: - Allow 'set boxwidth' to control the box part of candlesticks. - If no boxwidth is set, then default to previous behavior. - -2003-03-02 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: The calculation of plot boundary size is a tangle of - interdependent size estimates. While not addressing the underlying - problem, this patch at least makes the key size match the final plot - size. - -2003-02-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/fillbox.dem: Update to changed syntax of filled boxplots - and fill styles. - -2003-02-23 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_vector): Fix bug in moveto in the previous patch. - Add more comments on the new anti-gs-rounding-bug functionality. - -2003-02-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm (PS_vector): Fix bug introduced by the changes - against postscript error accumulation. Would create paths with a - move as the first command. - -2003-02-19 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg config/makefile.os2: - Somebody has redefined HAVE_TTF to HAVE_GD_TTF without making - appropriate changes here! - -2003-02-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c (histeps_compare): There was a wrong comparison - returned by this qsort-called routine, which caused 'plot with - histeps' buggy. - -2003-02-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * ChangeLog: Modified an old log entry that contained an actual - RCS date tag, which caused it to be updated every time ChangeLog - was checked in. - -2003-02-19 John Bollinger <bbands@yahoo.com> - - * config/makefile.nt (default): Build pgnuplot.exe, too. - (pgnuplot.exe): New rule to build the piping helper program. - (clean, veryclean): Modified what gets cleaned away. - -2003-02-19 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/psdoc/ps_guide.ps: DSC requires the page separators %Page: to - have 2 parameters. - -2003-02-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm: Re-indented in several places. - (PS_vector): Implemented workaround for apparent ghostscript bug - causing accumulated precision loss in long sequences of relative - moves / lines. - - * CodeStyle: Got rid of lots of // style comments all over the - source code, as well as some that look suspiciously like them. - -2003-02-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - The patch for "fit error variables", SF patch #677470, contributed - by <reedjs@atm.ox.ac.uk> - - * configure.in: Add check --enable-fiterrorvars. If set, #defines - GP_FIT_ERRVARS. - - * src/fit.h (fit_errorvariables): Declare new global. - - * src/fit.c (fit_errorvariables): New global status variable to - choose whether fit error variables should be used. - (regress): If enabled, set error variables to parameter errors - from the fit. - (setvarerr): New function to create error variable name from that - of the actual fitted parameter. - - * src/tables.h (enum set_id): Renamed S_FITLOGFILE to S_FIT. - - * src/tables.c (set_tbl): Renamed S_FITLOGFILE to S_FIT. - - * src/set.c (set_fit): Accept new option "err$orvariables" for - "set fit", renamed "set fitlogfile" to "set fit", and made - "logfile" its other option. Renamed function from set_fitlogfile. - (set_command): Updated help text for 'set'. - - * src/save.c (save_set_all): Save state of fit_errorvariables. - Change option name to "fit". - - * src/show.c (show_fit): Display state of fit_errorvariables. - Renamed function from show_fitlogfile. - (show_command): Updated help text for 'show'. - - * src/unset.c (unset_fit): Reset state of fit_errorvariables to - default == off. Renamed function from unset_fitlogfile. - (unset_command): Updated help text for 'unset'. - (reset_command): Call unset_fit under its new name. - -2003-02-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: Fix overlooked instance of general text - rotation angle. - * docs/gnuplot.doc: Mention that 'set datafile missing' can be - used to filter out NaN records. - -2003-02-15 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/gadgets.c src/set.c src/save.c src/unset.c - src/graph3d.c src/graphics.c src/plot2d.c src/plot3d.c: - Move all globals related to the plot legend (key) into a single - structure. This yields cleaner code, and should eventually allow - multiple legends per plot. - -2003-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (fit): Mention that 'thru' doesn't apply to - 'fit' datafile processing. - -2003-02-10 Ethan Merritt <merritt@u.washington.edu> - - * term/next.trm term/openstep.trm term/pdf.trm term/post.trm: - Update term->v_char and term->h_char whenever font is changed. - -2003-02-09 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/graph3d.c: Remove unused parameter. - * src/term.c: Do not calculate line spacing until after new font is set. - Correct the placement of lines in multi-line text rotated by -90. - * term/gd.trm: Take font height and width directly from font structure - (corrects an error in the declared size of small font). Recalculate - font height and width each time a new TTF font is set in PNG_set_font(). - -2003-02-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/configure.in: Determining emacs version was broken for GNU Emacs. - -2003-02-04 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Trap syntax error - * docs/gnuplot.doc Fix indentation, and add a section for `unset`. - -2003-02-04 Ethan Merritt <merritt@u.washington.edu> - - * NEWS docs/gnuplot.doc src/datafile.c src/datafile.h src/save.c - src/set.c src/show.c src/unset.c: - Add new command `set datafile separator { whitespace | "<char>"}`. - This allows plotting from tab- or comma- separated data files. - -2003-02-04 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: Revise handling of text color and point style to - match other terminal types. NB: Justification of rotated text is - still not correct. - * term/pstricks.trm: Remove unused variable. - -2003-02-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: New option --with-gihdir to specify location of - .gih file. This is passed on to docs and src Makefiles. - - * docs/Makefile.in, src/Makefile.am: Use new GIHDIR variable for - .gih file location. - -2003-01-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: Updated file locations. - - * configure.in: Fix gih location report foobar. - - * term/x11.trm: Remove obsolete USE_X11_DRIVER code. - -2003-01-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am, lisp/Makefile.am: Remove gnuplot.info and gnuplot.texi - from gnuplot-mode build. - -2003-01-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: Updated. - - * Makefile.am: Tighter integration with gnuplot-mode. - - * configure.in: Restore --with-gif=png option. Use pdflib-config if - available. Remove conditional building of lisp/ files. Move file copy - operation out of tutorial Makefile. Cosmetics. - - * lisp/COPYING, lisp/INSTALL, lisp/Makefile.am: New files. - - * lisp/configure.in: Updated for better integration with gnuplot as - well as comfortable building in standalone mode. - - * lisp/gnuplot.el, lisp/gpelcard.tex: Updated to 0.6.0. - - * src/win/pgnuplot.c: Add RCS id. - - * term/gd.trm: Fix "missing initializer" compiler warning. - - * tutorial/Makefile.am.in: Move file copy operation into top level - configure. - -2003-01-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (min, max): Renamed internal macros to gnuplot - default names: GPMIN, GPMAX. - - * src/graphics.c (i_inrange): Reformatted. - - * src/graph3d.c (i_inrange): Reformatted. - -2003-01-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix some bugs in handling of reversed axes. - - * src/axis.h (struct AXIS): Renamed element "reverse_range" to - "range_is_reverted", which explains its usage more clearly. All - usages of this element renamed, throughout the source. - (AXIS_INIT3D, CHECK_REVERSE): Mask "autoscale" by AUTOSCALE_BOTH - before comparison, to avoid disruption by AUTOSCALE_FIX{MIN|MAX} - bits stored in there, too. - - * src/stdfn.h (cliptorange): New macro to simplify clipping values - to potentially reversed ranges. - - * src/axis.c (setup_tics): Introduced local "this" pointer into - axis_array. Locals fixmin,fixmax renamed to autoextend_{min|max}, - to be more self-explanatory. - (load_range): If range input "backwards", e.g. '[5:-5]', turn on - the "reverse" flag for that axis. - - * src/graphics.c (plot_impulses, plot_boxes): Replaced explicit - code by call to new macro "cliptorange". - (two_edge_intersect_steps, two_edge_intersect_fsteps): Replaced - explicit code by calls to macros "inrange" and "cliptorange". - Removed some superfluous pointer increments. - -2003-01-27 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Work around png/freetype detection problems with - cygwin. - -2003-01-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h: Removed patch 2003-01-25 about of the changed - definition of AUTOSCALE_FIXMIN and AUTOSCALE_FIXMAX. The bug of - reversed y-axis, "set autoscale fix" and mouse zooming seems to be - more tricky. - -2003-01-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c: Fix typo HAVE_GD_TTY to HAVE_GD_TTF. - -2003-01-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h: Change the definition of AUTOSCALE_FIXMIN from 1<<2 - to AUTOSCALE_MIN | 1<<2. Similarly for AUTOSCALE_FIXMAX. Fixes a - bug of wrong z- and cb-ranges during mouse zooming of a pm3d - splot. - -2003-01-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - A patch from Allin Cottrell <cottrell@wfu.edu> to fix unreadable - low-numbered linetypes in EMF terminal monochrome mode. - - * term/emf.trm (emf_color): New variable. - (EMF_options): Initialize it according to monochrome/colour option - status. - (EMF_dashtype, EMF_point): Use it instead of constan EMF_COLORS. - (TERM_HELP): Slightly reformatted for linelength. - -2003-01-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot.c src/set.c docs/gnuplot.doc: Let the default terminal - or that (re)set from gnuplot's ini file pushed automatically - during gnuplot's startup. Consequently, 'set term pop' will be - always defined to be the default terminal on the given platform, - unless changed explicitly by 'set term push'. - - * src/misc.h src/misc.c: New routines push_terminal() and - pop_terminal(). - -2003-01-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - New Windows menu contributed by John Bollinger <bbands@yahoo.com>: - - * src/win/wgnuplot.mnu: The new menu definition itself. - - * src/win/wmenu.c (MACROLEN): Increased to 10000 to accomodate - larger menu. - - * src/win/wresourc.h (NUMMENU): Increased to 512 to accomodate - larger menu. - - * src/win/wgnuplib.h (WGNUPLOTVERSION): Bumped up because NUMMENU - change makes DLL API incompatible. - -2003-01-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ, src/syscfg.h: Update FAQ location. - - * configure.in: Fix faulty regexp in sed command and vgagl reporting. - -2003-01-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm (ENHPS_recurse): Fix buggy PS output if backslash - is at the end of the input string. - -2003-01-22 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pstricks.trm: Support for PM3D. Thanks to Tim Piessens for - contribution. - -2003-01-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/README src/color.c term/post.trm: Changed "continous" to - "continuous". - -2003-01-13 Hans Werner Strube <strube@physik3.gwdg.de> - - * term/fig.trm: Fix text centering for nonzero text angle. - -2003-01-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot3d.c (get_3ddata): Move dgrid3d call outside if-else - block to have it work with binary and matrix data, too. - -2003-01-09 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Document Mike Kay's addition of font and - textcolor to tick label settings. - -2003-01-09 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg config/makefile.os2: - Sort terminals in the docs alphabetically, i.e. generate allterm.h - like in docs/Makefile.in. - -2003-01-08 Petr Mikulik <mikulik@physics.muni.cz> - - * doc/gnuplot.doc: Remove duplication of hypertext labels "set - encoding" and "plotting styles". - -2003-01-08 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg config/makefile.os2: - Update -D... symbols for the changed syntax of gd/png/jpeg/gif - checks. - -2003-01-07 Mike Kay <Mike.Kay@noaa.gov> - - * src/axis.h src/color.c src/gadgets.c src/gadgets.h src/graph3d.c - src/graphics.c src/save.c src/set.c src/show.c src/unset.c: Allow - user to specify textcolor and font for axis tick labels. - -2002-12-27 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Check for legal value of linetype in - parse_colorspec(). - - * src/unset.c: Invoke 'unset_missing' during a reset. Avoid - calling int_error() from inside a reset, because this prevents it - from restoring the interactive context on exit. - -2002-12-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Completely rewritten and simplified checks for - png, gd, and the required support libraries. Other minor cleanups. - - * config/config.amg, config/makefile.cyg, config/makefile.mgw, - config/makefile.os2, src/show.c, src/term.h, term/gd.trm, - term/png.trm: Update all preprocessor symbols related to new - gd/png/jpeg checks. - -2002-12-17 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Initialize gcCurrentFunction because gcc is too - stupid to see that it can never be used before it is set. - - * src/misc.c: Do not allow input of negative pointsize or - linewidth. - - * term/gd.trm: Check for valid linetype (Mike Kay - <kay@fsl.noaa.gov>). - -2002-12-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Fix typo in allterm.h generation. - -2002-12-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c: Fix saving of 'set xtics 7'. Patch from - Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl>. - - * src/fit.c (fit_command): Replace EOF by DF_EOF in return value - check of df_readline call. - -2002-12-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Adjust DEFAULT_INCLUDES and INCLUDES. Remove - jpeg.trm from CORETERM. New generated file term.h, used instead of - ../src/term.h, and adjust dependencies accordingly. Better rule to - generated allterm.h. - - * term/epslatex.trm: Fix typos in help section (was labeled as post - instead of epslatex). - - * term/pdf.trm, term/svg.trm: Fix indentation of term help section. - - * term/png.trm: Rename "png (OLD)" to "png_old" to allow for - alphabetical sorting of term help entries. - - * term/vgagl.trm: Remove spaces-only line from end of term help. - -2002-12-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Add DEFAULT_INCLUDES. Update CORETERM. Add - gnuplot.out to CLEANFILES. Prepend config.h to allterm.c - - * docs/checkdoc.c, docs/doc2gih.c, docs/doc2hlp.c, docs/doc2ipf.c, - docs/doc2ms.c, docs/doc2rnh.c, docs/doc2rtf.c, docs/doc2tex.c, - docs/termdoc.c, docs/xref.c: Fix compiler warnings, ansify. - - * docs/gnuplot.doc: Update copyright date. - - * docs/psdoc/Makefile: Fix clean target. - - * docs/psdoc/ps_fontfile_doc.tex: Harald Harders' patch to improve - ps fontfile documentation. - -2002-12-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/cgm.trm, term/eepic.trm, term/hpgl.trm: Another installment - of documentation fixes. - -2002-12-15 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: If the TTF support routine in libgd is found under its - old name gdImageStringTTF then force gd.trm to use old name instead of - the newer gdImageStringFT. This addresses support request 652960, and - is necessary for compatibility with libgd < 1.8.4. - -2002-12-15 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg: Compile doc2tex with - allterm.h so that gnuplot.tex documents all terminal drivers, not only - those currently used. - - * post.trm(START_HELP): Added label 'postscript fontfile'. - -2002-12-13 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepag.ms docs/titlepag.tex docs/gnuplot.doc: Added my name to - the authors section. - -2002-12-13 Petr Mikulik <mikulik@physics.muni.cz> - - * gnuplot.doc: Removed references to `help vgagl`. - - * post.trm(START_HELP): Fixed broken reference to `postscript fontfile`. - - * x11.trm(START_HELP): Added label 'help x11 pm3d'. - - * vgagl.trm(START_HELP): Added label 'help vgagl'. - -2002-12-13 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepag.tex: Added fancy headings. Better procedure to read - gnuplot version from file VERSION. - -2002-12-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Regenerated and updated. - - * docs/doc2texi.el: Add all terminal drivers to d2t-terminal-list. - - * src/Makefile.am: Don't create temporary getcolor_x11.c. - - * src/Makefile.maint: Fix logic for updating version.c. - -2002-12-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c(set_terminal): Don't display messages of 'set term push' - when in interactive mode. - -2002-12-13 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c(term_end_multiplot): Remove c_token++. It fixes commands - like 'unset multiplot; another command;'. - -2002-12-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wpause.c (PauseBox): Nigel Nunn's change to the message - loop of the pause window to avoid CPU hogging. - -2002-12-12 Petr Mikulik <mikulik@physics.muni.cz> - - * src/unset.c (reset_command): Call unset_view() before resetting - yrange because its reverse status depends on splot_map_active. - -2002-12-12 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gd.trm term/gif.trm term/png.trm: Replaced typo "ingoring" - by "ignoring". - -2002-12-11 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/djsvga.trm, term/eepic.trm, term/epson.trm, term/fig.trm, - term/gif.trm, term/latex.trm, term/mif.trm, term/post.trm, - term/pslatex.trm, term/tpic.trm, term/xlib.trm: More of same. - -2002-12-11 Johannes Zellner <johannes@zellner.org> - - * docs/titlepag.ms docs/titlepag.tex docs/gnuplot.doc - docs/gnuplot.texi: Added my name to the authors section. - -2002-12-09 Ethan Merritt <merritt@u.washington.edu> - - * src/unset.c: Implement 'unset style arrow'. - - * src/set.c src/setshow.h: Comment out unused function - delete_arrowstyle(prev,next). - -2002-12-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp: gnuplot-mode updated to 0.5t. - -2002-11-27 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: Subtract 1 from plot->cmap->allocated - in PaletteSetColor so that the resulting color index is - always valid. - -2002-12-04 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Alphabetize and re-organize 'set style' options. - The layout could use more work to make the html and tex-derived - documentation come out right. - * docs/doc2texi.el: Add gd.trm and jpeg.trm to the list of files - searched while generating documentation. - * term/png.trm: Modify documentation/help tags to distinguish new - and old png drivers. - * term/post.trm: Delete extraneous documentation/help tag. - -2002-12-03 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Prevent buffer overflow on really long font names. - -2002-12-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c(plot_filledcurves): Added forgotten points=0; after - call to finish_filled_curve(). If fixes sequent drawing of closed curves - from one data file. - -2002-12-01 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Tweak code so gcc3.2 does not complain about - ill-defined behavior of a[i]=b[i++]. - -2002-11-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util3d.c (draw3d_line_unconditional): Removed the GP_INLINE - qualifier. MSVC build would fail otherwise. - -2002-11-27 Johannes Zellner <johannes@zellner.org> - - * term/cgm.trm: - - "plot w filledcurves" didn't use the correct line color - - replaced a few assertions by "truncations" at term->xmax / - term->ymax - -2002-11-26 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c src/set.c src/show.c src/unset.c src/tables.c - src/tables.h docs/gnuplot.doc: Change syntax from 'set missing - "<string>"' to 'set datafile missing "<string>"'. The old syntax - is still accepted. - -2002-11-26 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/be.trm, term/cgm.trm, term/x11.trm: Fix - more misprints in documentation. - -2002-11-26 Peter Wegener <pete@shirkhan.ilr.ing.tu-bs.de> - - * src/Makefile.am: Allow overriding X11_DRIVER_DIR from - environment. - -2002-11-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/winmain.c (WinMain) [MSC, WIN32]: Use predefined __argc - and __argv instead of old hack to generate them from scratch, - which couldn't cope with blanks in file names or quoted arguments. - -2002-11-15 Ethan Merritt <merritt@u.washington.edu> - - * src/term.h src/show.c: Accommodate minor inconsistencies in the - PNG options in various Makefile.{OS} files. - -2002-11-13 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Tweak the logic to correctly handle a more complete - set of combinations of old/new libgd old/new PNG driver and - --with/--without/--with=dir/ configuration options. - -2002-11-12 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c(xtick_callback): Remove extra } when #ifndef PM3D. - -2002-11-05 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/atariaes.trm, term/atarivdi.trm: Fix more - misprints. - -2002-11-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c (regress): Fix SF bug # 631323: spelling "occured" --> - "occurred". - -2002-11-03 Harald Harders <h.harders@tu-bs.de> - - * src/save.c: Fix crash from saving arrowstyle. - -2002-11-01 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c src/gadgets.c src/graph3d.c src/term.c term/pdf.trm: - Remove unused variables and add #include statements to pick up - missing function prototypes. This fixes current crop of warnings - from gcc -Wall. - -2002-10-31 Ethan Merritt <merritt@u.washington.edu> - - * prepare: Fix capitalization of 'Makefile.in' in prepare script. - -2002-10-25 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Bring pattern fill behavior into conformity with - other terminals (opaque background, continuous lines). - -2002-10-28 Petr Mikulik <mikulik@physics.muni.cz> - - * prepare: Added sed command to fix a bug in automake's output to - src/Makefile.in: missing $(EXEEXT). - -2002-10-25 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c src/win/wgraph.c term/fig.trm term/pdf.trm: - Replace tests on fillstyle parameter to use enums FS_* instead of - pure constants. - -2002-10-25 Petr Mikulik <mikulik@physics.muni.cz> - - * win/winmain.h win/winmain.c(kill_pending_Pause_dialog(void)): New - routine. Kills pending "Pause" dialog box on Windows. Called from - bail_from_command_line(). - - * command.h command.c(call_kill_pending_Pause_dialog(void)): New - routine. Calls win/winmain.c: kill_pending_Pause_dialog(). - - * plot.c(bail_to_command_line): On Windows, call - kill_pending_Pause_dialog() when you bail to command line. Needed if - gnuplot encounters a (re)plotting error when Pause dialog is displayed - (e.g. due to very small ranges in mouse zoom or log axis for negative - values in data file). Otherwise the Pause dialog stays on the desktop - until you quit gnuplot. - -2002-10-21 Ethan Merritt <merritt@u.washington.edu> - - * NEWS, docs/gnuplot.doc: Add reference to current `set style fill` - and `set style line` commands. - -2002-09-21 Harald Harders <h.harders@tu-bs.de> - - * NEWS demo/all.dem demo/arrowstyle.dat demo/arrowstyle.dem - docs/gnuplot.doc src/axis.c src/axis.h src/gadgets.c src/gadgets.h - src/graph3d.c src/graphics.c src/graphics.h src/misc.c src/misc.h - src/plot2d.c src/save.c src/set.c src/setshow.h src/show.c src/tables.c - src/tables.h src/term.c src/term_api.h src/unset.c term/fig.trm: - New 'set style arrow' and back angles for arrow head (see Patches: - [587056] arrow styles via 'set style arrow'). - -2002-09-21 Harald Harders <h.harders@tu-bs.de> - - * docs/psdoc/Makefile docs/psdoc/ps_fontfile_doc.tex: This patch - improves the documentation for ps type1 font embedding. A table - containing the most important LaTeX text fonts is added. - -2002-10-20 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/command.c src/command.h src/graph3d.c - src/graph3d.h src/mouse.c src/plot2d.c src/plot3d.c src/pm3d.c - src/pm3d.h src/save.c src/set.c src/show.c src/unset.c: New command - 'set view map': forces splot into a layout suitable for 2D maps. - New global variable: int splot_map. New routines splot_map_activate() - and splot_map_deactivate(). - -2002-10-20 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Fix crash if asked to draw rotated empty string. - -2002-10-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/atariaes.trm, term/atarivdi.trm, term/be.trm, - term/x11.trm: Fix a number of misprints. - -2002-10-18 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * term/linux.trm(LINUX_setup): Make driver work with devfs. - -2002-10-17 Harald Harders <h.harders@tu-bs.de> - - * term/epslatex.trm: Surround the graph by \begingroup ... \endgroup so - that 'unitlength' is not changed globally. - -2002-10-12 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.os2: - Added HAVE_DIRENT_H. - -2002-10-11 Harald Harders <h.harders@tu-bs.de> - - * src/misc.c(recursivefullname): Fix. - -2002-10-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/misc.c: Indentation, ansification. - - * term/post.trm: Fix typo. - -2002-10-11 Harald Harders <h.harders@tu-bs.de> - - * src/misc.c(recursivefullname), src/util.c(existdir), - src/variable.c(fontpath_tbl): Fontpath fix for Windows. - -2002-10-10 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Add one missing }. - -2002-10-09 Johannes Zellner <johannes@zellner.org> - - * term/cgm.trm: fixed bug #616167 "cgm color problem" - -2002-10-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/plot.c(main) makefile.cyg makefile.mgw: Added --help and - --version switches. - -2002-10-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c: Added missing #ifdef PM3D around declaration of - static ... set_palette_... routines. - -2002-10-09 Johannes Zellner <johannes@zellner.org> - - * TODO: started a section for what has to be done before releasing 4.0 - -2002-10-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/post.trm(delete_ps_fontfile): Fix compilation for non-PM3D. - -2002-10-09 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: Remove compiler warning. - -2002-10-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/misc.c (parse_fillstyle): Make the bulk of this function - conditional on USE_ULIG_FILLEDBOXES. If that's not defined, bail - out with an int_error(), instead of a mere int_warn(). - - * src/plot2d.c (eval_plots): Fix --disable-filledboxes compile by - adding an #ifdef USE_ULIG_FILLEDBOXES around a block. - -2002-10-09 Harald Harders <h.harders@tu-bs.de> - - * src/variable.c: Patch #611546 "Save wrong for loadpath and - fontpath". If the local values for fontpath or loadpath is empty - while system values are defined, the save command saves the first - path entry which it shouldn't. - -2002-10-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Enable filledboxes and relative-boxwidth by - default. Remove EXPERIMENTAL labels. Rename help text for options - that are enabled by default. - - * src/plot.c(main): Remove non-standard and undocumented -? and - -help switches. - -2002-10-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c: Changed default value from 'set pm3d clip1in' to - 'set pm3d clip4in'. - - * docs/gnuplot.doc: Pronounce 'set pm3d clip...' in 'help clip'. - -2002-10-09 Johannes Zellner <johannes@zellner.org> - - * src/plot.c(main): Added --help / --version switches. - -2002-10-08 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Format for string of zoomed coordinates changed to - %.12g to avoid error message "Can't plot with an empty range". - -2002-10-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/unset.c (unset_tics): Change condition that triggers freeing - of the list of user-defined tics to fix crash in surface1.dem. - -2002-10-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in, config/config.amg, src/stdfn.h: Change test for time_t - in <time.h> to not require time_t define in config.h. This removes the - need for acconfig.h. - -2002-10-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/specfun.c: Error codes DOMAIN, SING etc. are not available on - every platform, thus define MTHERR_* constants explicitly. - -2002-10-04 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: Use temporary getcolor_x11.c when compiling - gnuplot_x11.exe. - -2002-10-04 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c src/setshow.h src/unset.c: Free list of user ticmarks on - reset or unset [<axis>]tics. - - * src/datafile.c: If "set missing" is active, notify calling routine - of missing data. Previously "set missing" was effectively a noop. - -2002-10-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gnupmdrv.rc src/os2/dialogs.h src/os2/gclient.c: Update of - menu entries of gnupmdrv with respect to the current state of hotkeys - and mousing. - -2002-09-30 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Support for textcolors. - -2002-09-29 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Improve vertical placement of rotated text. - -2002-09-27 James R. Van Zandt <jrv@debian.org> - - * term/cgm.trm (cgm_default_color_table): Adjust default colors - for better contrast with background and each other. - -2002-09-09 Johannes Zellner <johannes@zellner.org> - - * term/cgm.trm: Point types and line types (colors) similar - to the postscript driver. - -2002-09-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Integrated SF Patch #606726 by Harald Harders. This implements a - new setting "fitlogfile" to override the default filename - "fit.log" for the fit result log. - - * src/fit.c (fitlogfile): Renamed from logfile, and made - externally visible instead of file-global. - (fitlogfile_default): New variable to hold default log file name. - (fit_command): Replaced code to determine file name by call to - getfitlogfile. - (getfitlogfile): New function. Extracted from fit_command, and - extended to check new user-settable variable fitlogfile before - using environment variable $FIT_LOG or the default. Returns - - * src/fit.h (fitlogfile, getfitlogfile): Declare new exports of - fit.c. - - * docs/gnuplot.doc (environment): $FIT_LOG is only the default, - but no longer the fixed filename for the fit log output. - (fit): Reference "set fitlogfile" to override $FIT_LOG or - "fit.log", respectively. - (fitlogfile): Document new option. - - * src/tables.h (set_id): New entry S_FITLOGFILE. - - * src/tables.c (set_tbl): New entry to handle set/show/unset - fitlogfile. - - * src/set.c (set_command): Added handling of fitlogfile to error - message and big switch block. - (set_fitlogfile): New function to implement "set fitlogfile". - - * src/show.c (show_command): Added handling of fitlogfile to error - message, big switch block. - (show_fitlogfile): New function to implement "show fitlogfile". - (show_all): Show fitlogfile, too. - - * src/unset.c (unset_command): Added handling of fitlogfile to - error message and big switch statement. - (unset_fitlogfile): New function to implement "unset fitlogfile". - (reset_command): Clear fitlogfile as part of a "reset". - - * src/save.c (save_set_all): Save the state of fitlogfile, too. - -2002-09-26 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Fix boxwidth handling when relative-boxwidth disabled. - * demo/all.dem demo/fillstyle.dem docs/gnuplot.doc - src/bitmap.c src/gadgets.c src/gadgets.h src/gp_types.h src/gplt_x11.c - src/graph3d.c src/graphics.c src/graphics.h src/hidden3d.c src/misc.c - src/misc.h src/plot2d.c src/save.c src/set.c src/show.c src/tables.c - src/tables.h src/term_api.h src/unset.c - term/gd.trm term/post.trm term/svg.trm: - Remove filledboxes as separate plot style. Remove bsolid and bpattern - as separate fill styles. New consolidated syntax for default is - `set style fill <fillstyle>` where <fillstyle> is - {empty | solid <density>| pattern <n>} {noborder | border <lt>}`. - Individual plot commands with style boxes or candlesticks can override - this default, e.g. plot ... with boxes fill <fillstyle>. - Fill pattern auto-increments for successive datasets or functions. - -2002-09-26 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pm.trm src/os2/gclient.c: Support for rotated text. - -2002-09-26 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: config.h is in src/. - -2002-09-24 Hans Olav Eggestad <hans.olav.eggestad@jordforsk.no> - - * src/save.c: Consolidate dump of data and function plot styles. - -2002-09-23 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Restore previous behavior of blank user tic marks. - -2002-09-16 Harald Harders <h.harders@tu-bs.de> - - * configure.in, src/misc.c, src/util.c, src/variable.c: Preliminary - workaround for missing <dirent.h>. - -2002-09-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (load_tic_user): Make sure ticdef.def.user is - initialized. Fixes bug #607839. Moved assignment of ticdef.type - here. - (add_tic_user): Made 'static', local prototype added. Superfluous - casts and checks removed. Removed assignment of ticdef.type - (free_marklist): Moved local variable `freeable' into block. - Removed pointless casts. - - * src/axis.h (add_tic_user): Removed prototype that never belonged - here. - -2002-09-09 Johannes Zellner <johannes@zellner.org> - - * src/mouse.c: changed "pointtype 1" to "point pt 1" which conforms to - the changed point option for 'set label'. - -2002-09-09 Johannes Zellner <johannes@zellner.org> - - * src/plot.c: reordering: init_color() must come BEFORE load_rcfile(). - -2002-09-06 Harald Harders <h.harders@tu-bs.de> - - * demo/Makefile.am demo/Makefile.am.in docs/psdoc/ps_fontfile_doc.tex - demo/fontfile.dem demo/fontfile_latex.dem: Redo fontfile demos to use - commonly available fonts. - - * term/post.trm src/misc.c src/misc.h: Add reset command - 'set term post nofontfiles'. - -2002-09-05 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c term/x11.trm: Support for rotated text. - -2002-09-03 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Avoid use of snprintf(). - -2002-09-03 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: (Harald Harders) Report FontName of embedded fonts. - - * term/gd.trm: Do vertical justification based on full character cell. - -2002-09-02 Harald Harders <h.harders@tu-bs.de> - - * NEWS demo/fontfile.dem docs/gnuplot.doc docs/psdoc/Makefile - docs/psdoc/README docs/psdoc/ps_fontfile_doc.tex src/misc.c src/misc.h - src/plot.c src/save.c src/set.c src/show.c src/tables.c src/tables.h - src/term.c src/util.c src/util.h src/variable.c src/variable.h - term/post.trm: Implementation of PFA, PFB and TTF font support in - postscript: encapsulate the font definitions directly into the gnuplot - output postscript file. New command 'set fontfile'. New option 'set - term postscript ... fontfile'. - -2002-09-02 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.h src/graph3d.c src/graphics.c src/set.c: - Modularize the routines for label and tic-label handling. - -2002-08-30 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c term/amiga.trm term/cgm.trm term/epslatex.trm - term/metapost.trm term/next.trm term/openstep.trm term/post.trm - term/x11.trm: Remove global default font from term.c and make all - drivers keep their own default font so they don't cross-contaminate. - - * src/graphics.c src/save.c src/set.c src/show.c docs/gnuplot.doc - demo/fillbox.dem demo/candlesticks.dem demo/candlesticks.dat: - Add new filledbox style options 'bsolid' and 'bpattern'. - Draw filledbox style in key rather than a line. - -2002-08-30 Volker Dobler <v.dobler@web.de> - - * NEWS demo/all.dem demo/pm3dcolors.dem demo/pm3dgamma.dem - docs/gnuplot.doc src/Makefile.am src/color.c src/color.h src/getcolor.c - src/getcolor.h src/gplt_x11.c src/plot.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/win/wgraph.c term/metapost.trm - term/pdf.trm term/post.trm term/svg.trm term/x11.trm: New color modes - for pm3d, see `help palette`: `defined`, `file`, `functions`, `model`, - `gamma`. Additions to `show palette ...`. New option `set terminal - postscript ... palfuncparam`. - -2002-08-28 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc term/hpgl.trm term/epslatex.trm: - Spell-check and fix typos in documentation. - -2002-08-28 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Fix error in terminal initialization. - -2002-08-27 Ethan Merritt <merritt@u.washington.edu> - - * term/gif.trm term/png.trm: Update TERM_HELP sections - so that auto-generation of documentation is consistent. - - * term/gd.trm: Add terminal options nointerlace, notransparent, - and retain terminal options across calls to set term. Move - default font properties into the per-terminal data structure. - -2002-08-27 Ethan Merritt <merritt@u.washington.edu> - - * term/jpeg.trm: Add placeholder file so that auto-generation of - documentation includes a section on jpeg. - -2002-08-27 Volker Dobler <v.dobler@web.de> - - * src/color.c: Use signed int for cblabel positioning. - -2002-08-25 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: Add support for selecting x11 fonts. - The syntax is `set term x11 font "<fontspec>"` where <fontspec> is - either a full x11 font names or a string "<font>,<size>,<slant>". - Some attempt is made to recognize PostScript font names and substitute - a TTF equivalent if the initial request fails. - -2002-08-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c: Added 'include "gp_hist.h". - - * src/gadgets.h: Added declarations for apply_textcolor() and - reset_textcolor(). - -2002-08-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: Automatic positioning of the color box label. - -2002-08-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c src/axis.h src/axis.c: Added global routine - widest_tic_callback() for the calculation of the length of the widest - tic label. Removed similar routine widest2d_callback(), which was - available only for 2d plots. - -2002-08-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c: Obvious typo "inrange (0.0, X_AXIS.min, Y_AXIS.max)" - corrected. - -2002-08-24 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/graphics.c src/save.c src/set.c src/show.c - src/unset.c docs/gnuplot.doc: Allow text rotation by artibitrary angle - in tic labels `set xtics rotate by <ang>`. - -2002-08-24 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Detect and modify non-PostScript font names to insure - that legal PostScript is generated and that font size is correct. - -2002-08-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/fig.trm: Don't reset terminal options. Improved documentation. - -2002-08-23 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gd.trm: New option 'set term png ... {no}crop'. - -2002-08-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gnuplot.doc: Added documentation that 'set term <term>' does not - reset (previous) options. - -2002-08-23 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c docs/gnuplot.doc: Parsing datafile lines that contain - quoted strings: "hello world" is now accepted as a single column. - -2002-08-22 Petr Mikulik <mikulik@physics.muni.cz> - - * term/svg.trm: Support arbitrary text rotations. - -2002-08-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c: Fixed 'reset; splot ... with pm3d at ...'. - -2002-08-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c: Removed unused field 'offset' from 'struct - t_sm_palette'. - -2002-08-20 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.h src/color.c: Removed unused field 'offset' from 'struct - t_sm_palette'. - -2002-08-20 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Added documentation for 'set label ... font'. - -2002-08-19 Harald Harders <h.harders@tu-bs.de> - - * docs/gnuplot.doc src/misc.c src/tables.c: Let style 'with vectors' - use plural (as all other plotting styles) instead of singular - 'with vector'. Note: it does not change any functionality. - -2002-08-16 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Remove false warning when rotating splot by mouse and - there is a log axis. - -2002-08-16 Harald Harders <h.harders@tu-bs.de> - - * NEWS docs/gnuplot.doc src/gadgets.h src/gadgets.c src/plot2d.c - src/plot3d.c src/save.c src/set.c src/show.c src/tables.h src/tables.c - src/unset.c: New option 'set key {no}autotitles'. - -2002-08-15 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc term/post.trm: Added some hyperlinks. - -2002-08-15 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: Documentation about Symbol-Oblique. - -2002-08-14 Harald Harders <h.harders@tu-bs.de> - - * src/readline.c: Remove compiler warning. - - * term/post.trm: Fix writing an error message to gpoutfile instead of - stderr. - -2002-08-01 Ethan Merritt <merritt@u.washington.edu> - - * term/next.trm (NEXT_put_text): Fix incorrect multiplication of - text rotation angle by 90 degrees. - - * term/openstep.trm (NEXT_put_text): Dito. - - * term/post.trm (ENHPS_put_text): Dito. - - * term/rgip.trm (RGIP_put_text): Dito. - -2002-08-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/README: Updated documentation of _fillbox() terminal entry - previously incorrectly referred to as _boxfill(). Mention usage - by "with filledboxes". - - * src/interpol.c (cp_implode): Introduced special handling for - former zeroes on log axes, now represented by type==OUTRANGE, - value==-VERYLARGE. Avoid SIGFPE crash on Alpha. - -2002-08-01 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Fix buggy test if current plot style - is FILLEDCURVES. - - * src/set.c (set_style): Dito. - -2002-07-26 Ethan Merritt <merritt@u.washington.edu> - - * NEWS docs/gnuplot.doc demo/all.dem demo/textrotate.dem - src/bitmap.c src/color.c src/gadgets.h src/gplt_x11.c - src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c - src/term.c term/README term/cgm.trm term/dxf.trm term/dxy.trm - term/eepic.trm term/emf.trm term/emxvga.trm term/fg.trm - term/fig.trm term/gd.trm term/gif.trm term/gnugraph.trm - term/gpr.trm term/hp26.trm term/hp2648.trm term/hpgl.trm - term/latex.trm term/linux.trm term/metapost.trm term/mif.trm - term/multitos.trm term/pc.trm term/pdf.trm term/pm.trm - term/post.trm term/pslatex.trm term/pstricks.trm term/regis.trm - term/svg.trm term/tgif.trm term/tpic.trm term/unixpc.trm - term/vgagl.trm term/vws.trm term/win.trm term/x11.trm: Support for - arbitrary text rotations. New option 'set label ... [no]rotate - [by] ...'. - -2002-07-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_style): Add missing c_token++. Patch by Harald - Harders, SF #586987. - -2002-07-25 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: New options 'butt' and 'round' for line caps and - line joins. - -2002-07-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: Better patch to stroke pending graphic element, - needed in PS_filled_polygon() and PS_previous_palette(). - -2002-07-24 Harald Harders <h.harders@tu-bs.de> - - * src/term.c: Closed outline path for filled arrow heads. - -2002-07-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: In PS_filled_polygon(), stroke pending graphic - element. - -2002-07-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/unset.c: Forgotten reset of title's textcolor. - -2002-07-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c: Fix reading color binary files. - -2002-07-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/save.c: Save the (no)filled option for arrows. - -2002-07-23 Harald Harders <h.harders@tu-bs.de> - - * NEWS docs/gnuplot.doc src/gadgets.h src/graph3d.c src/graphics.c - src/graphics.h src/set.c src/show.c src/term.c src/term_api.h: New - option 'set arrow ... filled | nofilled' for filled arrow heads. - -2002-07-23 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c docs/gnuplot.doc: Allow filled boxes in - candlestick plots, under control of the "set style fill ..." - command. - -2002-07-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: Fix misplaced call to reset_textcolor(). - - * src/plot3d.h src/plot3d.c src/graph3d.c: Do not call - term->previous_palette() if !plot_has_palette. - -2002-07-22 Ethan Merritt <merritt@u.washington.edu> - - * demo/textcolor.dem demo/all.dem: Demo for text color. - - * src/gadgets.c: Fix for default textcolor. - -2002-07-21 Petr Mikulik <mikulik@physics.muni.cz> - - * term/metapost.trm: Fix wrong indentation in the documentation - section. - - * config/makefile.cyg config/makefile.mgw: Fix if .. endif clause for - optional PDF terminal. - - * term/svg.trm: Support for "textcolor ...". - - * term/mif.trm: Documented option "color". - -2002-07-21 Ethan Merritt <merritt@u.washington.edu> - - * NEWS docs/gnuplot.doc src/color.c src/gadgets.c src/gadgets.h - src/gplt_x11.c src/graph3d.c src/graphics.c src/plot3d.c src/save.c - src/set.c src/show.c src/term.c src/win/wgraph.c term/cgm.trm - term/gd.trm term/mif.trm: Implementation of 'textcolor ...' for - title, [x|y|z|cb|...]label and labels. - -2002-07-20 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/show.c docs/gnuplot.doc: New option 'add2history' for - 'show plot'. - - * src/command.c: Separate chained (s)plot + replot command sequence - as displayed by 'show plot' by ", " instead of ",". - -2002-07-10 Petr Mikulik <mikulik@physics.muni.cz> - - * term/ggi.trm: Minor changes in the documentation. - - * term/metapost.trm: Fix `something' => `something` in the - documentation section. - -2002-07-10 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Allow any sizes of TTF fonts. - -2002-07-10 Petr Mikulik <mikulik@physics.muni.cz> - - * term/metapost.trm: Fix color reset, improved documentation - (contributed by Arun Persaud <apersaud@lbl.gov>). - -2002-07-09 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Fix for selecting a TTF font. - -2002-07-08 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib/pm3dConvertToImage.awk: Don't fail on empty map. Treat - properly both cases of scans_in_x. - -2002-07-07 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.h src/pm3d.c: Removed unused field use_column in - pm3d_struct. - -2002-07-04 Petr Mikulik <mikulik@physics.muni.cz> - - * term/mif.trm term/post.trm: Changed "continous" to "continuous". - - * term/metapost.trm: Support for 'set palette maxcolors'. - - * term/post.trm: Added "0 setgray" for the case Color==false in the - definition of "DL". - -2002-07-04 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib/pm3dConvertToImage.awk: Fix for compressing several - images in one postscript file. - -2002-07-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c: Fallback to PM3DSURFACE style for 2 or 4 columns is no - more required. - -2002-07-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c: Error message for "using 1:2:3:4" when neither pm3d - nor `using ... palette` is specified. - -2002-07-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c demo/pm3d.dem: Binary datafiles now accept 'using' - with 4 parameters for independent z and color values of splotting - 'with pm3d' and 'with lines|points palette'. - -2002-07-02 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/plot3d.c docs/gnuplot.doc: Support plotting surfaces with - color lines or points with color according to explicitly given 4th - column, e.g. "splot ... using 1:2:3:4 with [line|point] palette". - - * src/plot3d.c: The color for the color value of lines, colors, pm3d - vertices is taken from the 3rd data column unless the 4th column is - explicitly stated by "using"; thus, the same splot is obtained - regardless whether the input data file has 3 or 4 columns. - - * src/axis.h: Added condition "|| PM3D_IMPLICIT == pm3d.implicit" into - macro NEED_PALETTE(plot). - - * src/datafile.h src/datafile.c: Routine df_3dmatrix(): don't use - macro NEED_PALETTE(plot), but take parameter input_palette() --- this - avoids #include "pm3d.h" in datafile.c. - -2002-06-16 James R. Van Zandt <jrv@debian.org> - - * term/cgm.trm: silently drop any labels outside the CGM plot - window. (This should eliminate the errors like "gnuplot: - ../term/cgm.trm:1150: CGM_write_int: Assertion `value <= 32767' - failed. Aborted (core dumped)". - -2002-06-11 Petr Mikulik <mikulik@physics.muni.cz> - - * term/fig.trm: Support for 'set palette maxcolors <n>'. Treat properly - the case of color palette and monochrome fig file. - -2002-06-10 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pdf.trm term/svg.trm: Support for 'set palette maxcolors <n>'. - - * term/win.trm: Better document the meaning of 256 levels in - WIN_make_palette(). Remove the previous change on limiting the gray - into [0;255] as this is actually done in wgraph.c. - -2002-06-10 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pdf.trm term/svg.trm: Don't use GetColorValueFromFormula() - mapping for red color when drawing gray output. - -2002-06-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/README src/color.c: Removed the change of set_color(gray) made - two days ago. Thus it still calls term->set_color(g) with g=[0:1]. - All drivers are now responsible that they don't overflow for a value - outside this range. - - * term/cgm.trm term/fig.trm term/gd.trm term/ggi.trm term/gif.trm - term/metapost.trm term/pm.trm term/tgif.trm term/vgagl.trm - term/win.trm: In set_term(double gray), take care for gray<0 and - gray>=1.0. - -2002-06-09 Johannes Zellner <johannes@zellner.org> - - * term/gd.trm: Replaced (int)rint(x) --> (int)(x + 0.5). - -2002-06-08 Petr Mikulik <mikulik@physics.muni.cz> - - [This change removed on 2002-06-10] - - * src/README src/color.c: Routine void set_color(double gray) which - calls term->set_term(gray): do not pass gray >= 1.0 to terminals - with discrete palette (applies also for postscript if 'set palette - maxcolors n'). Most terminals currently reference their discrete - palette entries (elements in the palette array) by - color_number = (int)(gray * sm_palette.colors) - which goes beyond the upper bounds for gray==1. From now, - term->set_color(g) will no more get value g>=1.0. - -2002-06-08 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.os2: - Minor changes relative to the new gd driver. - -2002-06-08 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm: Changes to make it compile w/o PM3D defined. - - * term/gif.trm: Move boxfill out of the PM3D definition, so that - it is also available if PM3D is not defined. - -2002-06-08 Johannes Zellner <johannes@zellner.org> - - * term/fig.trm term/svg.trm: Added ifdefs for USE_ULIG_FILLEDBOXES. - - * term/gd.trm: Use gdImagePtr /after/ gd.h is included. - - * src/gplt_x11.c: Removed unused functions. - -2002-06-07 Petr Mikulik <mikulik@physics.muni.cz> - - * term/metapost.trm: In the documentation section, fixed `latex' to - `latex` --- the reason for doc2rtf to crash. - -2002-06-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/metapost.trm: Add pm3d capability, patch by Arun Persaud - <apersaud@lbl.gov>. - -2002-06-05 Johannes Zellner <johannes@zellner.org> - - * src/pm3d.c: Yet again improved scansautomatic. - -2002-06-05 Johannes Zellner <johannes@zellner.org> - - * term/gd.trm: - - macro Y(y) - - PNG_point plus related functions, implementing the pointtypes - as in post / X11 ... - -2002-06-05 Johannes Zellner <johannes@zellner.org> - - * term/gd.trm: Filledboxes. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm: Removed SVG_StyleStrokeColor() which was unused. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * term/pdf.trm: Changes for 'linetype palette'. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * term/pdf.trm: 'filledboxes pattern' for the pdf driver. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * term/pdf.trm: 'filledboxes solid' for the pdf driver. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm: Use USE_ULIG_FILLEDBOXES to allow building w/o - filledboxes support. - -2002-06-04 Johannes Zellner <johannes@zellner.org> - - * src/readline.c: Install a SIGWINCH handler to solve BUG 533101 - 'gnuplot exits immediately when the terminal is resized'. - -2002-06-03 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm: - - new pointtypes for svg (as X11 / post) - - implemented pm3d 'splot ... with points lt palette' - - implemented pm3d 'splot ... with lines lt palette' - - implemented 'filledboxes' - -2002-05-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Explicit linking with libfreetype does not add - -lfreetype to TERMLIBS if successful. - -2002-05-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/internal.c (BAD_DEFAULT): Fix typo in message text: - "internal" <-- "interal". - - * term/svg.trm (SVG_init): Change self-description of SVG output - file to no longer give the name of the original author of svg.trm. - Output the version number and patchlevel of gnuplot instead. - -2002-05-29 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm src/gplt_x11.c term/README: First 13 pointtypes - like in the postscript driver. --> new point types circle and - upside-down triangle and all shapes also filled. - - point pointtype - 0 1 plus - 1 2 X - 2 3 star - 3 4 box - 4 5 box filled - 5 6 circle - 6 7 circle (disk) filled - 7 8 triangle - 8 9 triangle filled - 9 10 upside down triangle - 10 11 upside down triangle filled - 11 12 diamond - 12 13 diamond filled - - * gplt_x11.c: Replaced the info 'drawing ...' in the xwindow's - title bar by a watch cursor. Removed the message which tells how - many pm3d colors could be allocated. - -2002-05-23 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.os2: - Support all compile options for the new gd driver. - - * config/makefile.mgw: Added compile options for the pdf driver. - -2002-05-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/Makefile.in: New install-els target to install the .el - files. - -2002-05-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc: Fix misc. typos, reported by Shigeharu Takeno. - - * lisp/*: Update to gnuplot-mode 0.5r. - - * src/unset.c: Define reset_colorbox() static. - - * term/metapost.trm: Patch by Dirk Krause, which includes a previous - patch by Phillip Wood. New features: - o A "la$tex" option to switch to LaTeX. - In LaTeX mode no \setfont... instructions pointing to "cmr10" - are written. Font setup is done in the preamble. - o An "a4$paper" option to pass the [a4paper] option - to the document class. By default this option is not written. - o The "ps$nfss", "psnfss-v$ersion7" and "nops$nfss" options - to include \usepackage instructions for PSNFSS 8, older version - or no PSNFSS. - o The "pro$logues n" (n must be replaced by the number you want) - and "nopr$ologues" options to add a "prologues:=2;" line to the - output. When using metapost to produce standalone images, - "prologues:=2;" causes metapost to include font information into - the EPS output. - -2002-05-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * specfun.c: Add new implementation of lngamma(), - inverse_normal_func(), inverse_error_func(), based on CEPHES - library, and NIST. Contributed by Dietmar Warning. - -2002-05-16 Johannes Zellner <johannes@zellner.org> - - * term/gd.trm, term/linux.trm: Added prototypes, removed unused - variable. - -2002-05-16 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm: Added shape-rendering:crispEdges to render - surfaces correctly, changed color spec to rgb() which is more - readable. - -2002-05-16 Johannes Zellner <johannes@zellner.org> - - * term/svg.trm, docs/gnuplot.doc pm3d/README: pm3d support for the - svg driver. - -2002-05-16 Johannes Zellner <johannes@zellner.org> - - * term/pdf.trm: Small changes for error messages. - -2002-05-15 Johannes Zellner <johannes@zellner.org> - - * term/pdf.trm, docs/gnuplot.doc, pm3d/README: pm3d support for the pdf - driver. - -2002-05-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Fix for broken --without-tutorial option. - -2002-05-13 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Improved testing for libfreetype dependency in libgd. - -2002-05-01 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Mention PNG supports pm3d. - -2002-04-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Quoting and cleanup. Should now work with autoconf 2.5x. - -2002-04-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/amiga.trm (AMIGA_linetype): Use mnemonic name L_TYPE_NODRAW - in checks for valid linetypes. - - * term/cgm.trm (CGM_linetype, CGM_linecolor, CGM_dashtype): Dito. - - * term/emf.trm (EMF_linetype, EMF_linecolor, EMF_dashtype): Dito. - - * term/fig.trm (FIG_linetype): Dito. - - * term/pdf.trm (PDF_Pen_RealID): Dito. - - * term/svg.trm (SVG_Pen_RealID): Dito. - - * term/svg.trm (SVG_init): Give SVG output a 'viewBox' attribute - to make it freely scalable. This is essentially the same as an - PostScript's %%BoundingBox. - - * term/post.trm: Remove explict path from #include of "getcolor.h". - -2002-04-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Updated filename for gplotlib archive. - - * config/config.amg: Make it a copy of config.hin with system-specific - changes. - - * config/makefile.amg: Updated. - - * src/amiga.c: Conditional inclusion of config.h. - - * term/amiga.trm: Two bugfixes. - - * term/cgm.trm: Use M_PI_2 instead of M_PI/2. - -2002-04-26 Ethan Merritt <merritt@u.washington.edu> - - New term/gd.trm driver to support PNG and JPEG files by using - libgd version 1.8 or greater. Includes support for TrueType fonts, - line width, and transparency. Back compatibility option - --with-gif=png uses the old gif.trm driver to produce a png image - instead. - - Files modified: - README.1ST explains choice of GIF or PNG/JPEG - term/gd.trm new file; contains both png and jpeg drivers - term/gif.trm allow PNG_FOR_GIF with new libgd - src/term.h check PNG_FOR_GIF, HAVE_GIF, HAVE_NEWGD flags - src/show.c report configuration options - configure.in the messy part - config/makefile.mgw totally untested by me - - Symbols defined during configuration: - HAVE_GIF # will add gif.trm terminal driver - HAVE_PNG # will have png support (either old or new) - HAVE_LIBPNG # will add png.trm (*old*) terminal driver - HAVE_JPEG # will add jpeg support via gd.trm - HAVE_LIBGD # defined if either the old or new libgd is present - HAVE_NEWGD # defined if new libgd (contains PNG and JPEG support) - HAVE_TTF # support TrueType fonts via new libgd+libfreetype - PNG_FOR_GIF # will trigger dummy gdImageGif definition - - Relevant configuration options: - --with-gd[=PATH] specify location of Tom Boutell's gd library - --with-jpeg[=PATH] optionally override location of libjpeg - --with-libpng[=PATH] optionally override location of libpng - --with-freetype[=PATH] optionally override location of libfreetype - --with-gif=png 'set term gif' produces png images instead - --with-png[=PATH] enable *old* png terminal - -2002-04-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c src/pm3d.c: Move term->previous_palette(); from - pm3d.c:pm3d_draw_one() to graph3d.c:do_3dplot(). Fixes plotting - several color surfaces to postscript files. Maybe the terminal entry - previous_palette() should be dropped completely as it is used only - for postscript files to write the palette and all its color surfaces - in between gsave/grestore. - -2002-04-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c (save_set_all): Fix quoting of 'set missing' save text. - -2002-04-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Patch from Dietmar Warning <dwarning@danalyse.de>: - - * term/tkcanvas.trm (TK_put_text): Quote-protect characters that - would be interpreted by Tcl/Tk if not in tk_perl mode of - operation. - -2002-04-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Added missing documentation of timefmt %s - specifier to read seconds-since-the-epoch timestamps. - -2002-04-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (print_table): Replaced hard-coded axis identifiers - of 2002-04-05 patch by those axes actually used by the current - dataset, so x2 axis plots will use the x2 format. - - * src/hidden3d.c (in_front): In Test 7, addressed an old FIXME by - not declaring an edge invisible if it's entirely inside the 3D - triangle. This fixes a bug where duplicated edges (like the two - sides of the seam in a parametric cylinder) would be completely - invisible. OTOH, it brings back some of the old bleed-through - type of artefacts, because it can't decide which of two copies of - such an edge should be visible. Before this patch it would draw - neither. Now it draws both. - (UINT_BITS, COORD_TO_BITMAXK, CALC_BITRANGE) [TEST_GRIDBOX]: Moved - these macro definitions towards that of type polygon, which they - directly work on. - (COORD_TO_TREECELL) [TEST_QUADTREE]: Likewise, but moved towards - definition of quadtree. - (in_front): Replaced magic number for size of classification by - useful term. - (general) Several functions re-indented to unify code layout - within this module. - -2002-04-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (print_table): Implemented usage of 'set format' - strings by 'set term table' output columns. This has been - documented forever, but never correctly implemented yet. An - earlier attempt was incomplete. Now calls gprintf() to do the - actual work, so gnuplot's extended format specifiers like - '%s*10^{%S}' also work in table output. Also added treatment of - CANDLESTICKS and FINANCEBARS plot styles. - - * src/plot3d.c (print_3dtable): Likewise, except that the 3D case - had been working to some extent, already. But it didn't support - format specifiers other than the standard C ones. - - * src/axis.c (gprintf, mant_exp, decimalsign): Two functions and - one global variable move away from here, into util.c. These used - to be private to the axis module, but are now used by other parts - of the program, too. - - * src/util.h, src/util.c, * src/axis.h: Likewise. - -2002-04-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (set margin): Added a small note about the lack - of effect of margin settings upon 3D plots. - -2002-03-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Massively edited contribution from Lutz Maibaum: - - * term/post.trm (PS_fillbox) [USE_ULIG_FILLED_BOXES]: Implement - pattern-filling for postscript, too. Currently produces a whole - line of postscript output per pattern line. This is not very - elegant compared to a possible implementation as a (set of) - PostScript macro(s). - -2002-03-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Brought in a patch from Stephan Boettcher to add a new command - "set print". SF Patch # 533094. - - * docs/gnuplot.doc (commands->print): Point towards "set print". - (commands->set->print): Document new option "set print". - - * src/command.c (print_out, print_out_name): New variables to - store status of 'set print' option. - (print_set_output, print_show_output): New functions to make it - accessible to other modules. - (print_command): Respect new setting by directing all output to - the specified stream. - - * src/command.h (print_set_output, print_show_output): Prototypes - added. - - * src/tables.h (set_id): Added enum value S_PRINT. - - * src/tables.c (set_tbl): Added entry for "set/show print" - command. - - * src/show.c (show_command): Handle new case "show print". Added - to list of options displayed. - (show_print): New function, implements "show print". - - * src/set.c (set_command): Handle new case "set print". Added to - the list of options displayed. - (set_print): New function, implements "set print". - - * src/unset.c (unset_command): Handle new case "unset print". - Added to the list of options displayed. - (unset_print): New function, implements "unset print". - -2002-03-28 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Added many "see web page" and "see demo" so that - the URLs to _demo_.html are not so alone. Helps printed gnuplot - documentation. - -2002-03-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gp_types.h src/datafile.c src/graph3d.c src/hidden3d.c - src/plot3d.c src/pm3d.c: Do not store the color of a 3D coordinate in - separate field 'color' of 'struct coordinate', but in the first field - unused by 3D. This is currently 'ylow', and it gains access by - '#define CRD_COLOR ylow'. This saves 8 B for each data point. - A proposal for the future, aiming to reduce the memory allocated, - is the complete separation of 2d and 3d coordinates and reorganization - of their storage... - - * win/wgraph.c: Remove compiler warning. - - -2002-03-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - MS VC++ build patches from John Bollinger <bbands@yahoo.com>: - - * config/makefile.nt (MACHINE): Don't strictly require - $PROCESSOR_ARCHITECTURE in their environment variable - (bf_test.exe): Change "cd" argument to be more portable. - (clean, veryclean): Avoid error spurious messages by not deleting - non-existant files. - -2002-03-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.h src/command.c: Routine do_string() always available - (only #ifdef USE_MOUSE up to now). - - * src/set.c: Reimplemented "set term push" to issue the complete - "set term <pushed_name> <pushed_opts>" command. - Added a hint to set_termoptions(). - - * src/show.c: Leading three spaces instead of \t for 'show term' in - order to better format terminals with multiline options. - - * term/x11.trm: Let X11_default_command be "gnuplot_x11.exe" for both - OS/2 and Windows. - -2002-03-25 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm: Show the expected gnuplot_x11 path if it cannot be - executed. - -2002-03-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/epslatex.trm term/pslatex.trm: Minor modifications of the - documentation section. - - * docs/gnuplot.doc: Refer to pm3d clipping from 'set clip'. Other - minor modifications. - -2002-03-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h src/axis.c src/datafile.c src/plot3d.c: Fixed color axis - autoscale. Removed update_pm3d_zrange(). Organize that - STORE_WITH_LOG_AND_UPDATE_RANGE(point->color, ...) is called only - if (NEED_PALETTE(this_plot)). - - * src/gp_types.h: Declare struct coordinate's color only #ifdef PM3D. - -2002-03-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.h: Updates in SHORT_TERMLIST: do not include regis and tek - terminals for non-relevant platforms. - -2002-03-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (zeroaxis): Add some examples to make the - syntax more transparent for newbies. - -2002-03-21 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2 src/os2/gclient.c: Get it to build again. - -2002-03-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Remove my "//PM" tags. Remove encapsulated - comments due to the 2002-03-16: // => /* */ replacement. - - * config/makefile.os2: Let runtime be dependent on config.h. - - * src/help.c src/pm3d.c src/set.c: Remove compiler warnings. - -2002-03-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (tic_unitz): New variable for truly 3D ticmark - lines. Stores z component of tickmark direction routine. - (draw_3d_graphbox): Extend computation of tic line directions to - cover 3 dimensions. - (xtick_callback, ytick_callback): Make use of new tic_unitz - variable, and change all xticks to use term->v_tic, all yticks to - term->h_tic. Fold local variable "dirn" into "scale". - -2002-03-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/os2/gclient.c: Weeded out all C++-style // comments. - CodeStyle disallows them. - - * src/pm3d.c (pm3d_plot): Use coordinate field "color" instead of - "ylow", for PM3D. - (filled_color_contour_plot): Changed type of local variable - pm3d_color_from_column to TBOOLEAN. - - * src/plot3d.c (get_3ddata): Use coordinate field "color" instead - of "ylow", for PM3D. - - * src/graph3d.h (struct surface_points): Changed type of - pm3d_color_from_column to TBOOLEAN. - - * src/graph3d.c (plot3d_lines_pm3d, plot3d_points_pm3d): Use - coordinate field "color" instead of "ylow", for PM3D. - - * src/datafile.c (df_3dmatrix): Write to coordinate field "color" - instead of "ylow", for PM3D. Call STORE_WITH_LOG_AND_UPDATE_RANGE - instead of update_pm3d_range. - - * src/gp_types.h (struct coordinate): Add separate element 'color' - to avoid the PM3D stuff having to abuse ylow for storing it. - - * src/hidden3d.c (store_vertex): Made color_from_column available - in non-PM3D compiles, too. Changed its type to TBOOLEAN. Use the - new "color" field instead of "ylow". - (build_networks): Have local variable color_from_column regardless - of PM3D. Change its type to TBOOLEAN, too. - - * src/plot3d.c (grid_nongrid_data): Dito. - - * src/axis.c (update_pm3d_zrange): Moved #ifdef PM3D inside the - function, so it's available, but a no-op, if PM3D is disabled. - Put in hacks to avoid -Wunused. - - * src/axis.h (NEED_PALETTE) [!PM3D]: Make this #defined in - non-PM3D mode, too, for easier coding. - (update_pm3d_zrange): Moved prototype out of #ifdef PM3D block. - - * src/plot3d.c (calculate_set_of_isolines): Make the 'pal' - argument exist independently of PM3D. Was making the code harder - to parse for no benefit. Add hack to avoid -Wunused warning, - instead. - (eval_3dplots): Changed call accordingly. - -2002-03-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/cgm.trm (struct cgm_properties, cgm_current, cgm_next, - cgm_reset): Separate type definition from that of variables. - (CGM_set_color): Fix off-by-one error in conversion. Patch from - Mike Sutton. - -2002-03-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util3d.c (draw3d_point_unconditional): New routine - containing the main part of former draw3d_point. Provides an - second entry point to be used by: - (draw3d_line_unconditional): If v2 is NULL, redirect call to - draw3d_point_unconditional. Moved code before draw3d_line and - flagged it GP_INLINE, to make automatic inlining of this routine - easier for the compilers. - (draw3d_point): Call new routine draw3d_point_unconditional to do - the real work, if hidden3d isn't applicable. - -2002-03-12 Petr Mikulik <mikulik@physics.muni.cz> - - * src/setshow.h src/set.c src/unset.c docs/gnuplot.doc: Added reset - for colorbox and palette. 'unset colorbox' resets the default values. - -2002-03-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c: Fix in get_pm3d_at_option(). - - * src/win/wmenu.c: Fix missing end of comment. - -2002-03-10 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Minor corrections. - - * src/readline.c src/win/geticon.c src/win/wgnuplib.c src/win/wgraph.c - src/win/winmain.c src/win/wmenu.c src/win/wpause.c src/win/wprinter.c - src/win/wtext.c: Remove MinGW32 compiler warnings. - -2002-03-09 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc demo/pm3d.dem src/pm3d.h src/pm3d.c src/save.c - src/set.c src/show.c src/tables.h src/tables.c: New pm3d option - {no}ftriangles to draw flushing color triangles at scan tails with - different number of points. - -2002-03-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/internal.c: Merge purec_matherr() into matherr(). - - * src/plot.c: Remove purec_matherr(). - - * src/syscfg.h: Define GP_MATHERR as purec_matherr for Pure-C. - -2002-03-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/tables.h src/tables.c src/set.c: Set colorbox, palette and p3md - options via lookup tables. - -2002-03-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wgraph.c src/win/winmain.c: Remove MinGW32 compiler - warnings. - -2002-03-07 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepag.sty: Changes for the title page of gnuplot.tex: - Show up-to-date gnuplot version (from the file VERSION) and the - last modification date (from the rcs date tag). - -2002-03-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.win (CFLAGS) [WIN32]: Added flags to define - GP_MATHERR, GP_EXCEPTION and HAVE_STRUCT_EXCEPTION_IN_MATH_H. - - * config/config.nt (HAVE_STRUCT_EXCEPTION_IN_MATH_H, - HAVE_STRINGIZE): Added these definitions. - - * src/syscfg.h (STRUCT_EXCEPTION_P_X): Moved definition block to - here, from internal.c. Use GP_EXCEPTION_NAME as the name of this - structure. Clarify behaviour by #defining this to be an empty - macro if matherr() doesn't take an argument. - - * src/internal.c (GP_MATHERR): Renamed, was matherr. - (matherr, exception): Removed #defines, as they are no longer - useful. - -2002-03-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * PORTING, config/buildvms.com, config/config.cyg, config/config.mgw, - config/config.nt, config/makefile.dj2, config/makefile.emx, - config/makefile.g, config/makefile.tc, config/makefile.win: Remove - ANSI_C symbol. Add PROTOTYPES and HAVE_STRINGIZE where appropriate. - - * config/config.amg, config/makefile.amg: Config file support for - Amiga SAS/C. - - * configure.in: Add test for struct exception in <math.h>. Remove - duplicate definition of HAVE_LIBPDF. - - * docs/Makefile.in, docs/checkdoc.c, docs/doc2gih.c, docs/doc2hlp.c, - docs/doc2ipf.c, docs/doc2ms.c, docs/doc2rnh.c, docs/doc2rtf.c, - docs/doc2tex.c, docs/xref.c, src/bf_test.c: Include syscfg.h instead - of ansichek.h. - - * src/fit.c, src/stdfn.h, src/util.c, src/util.h: Use STDC_HEADERS - instead of ANSI_C. - - * src/internal.c(matherr): Cleaner implementation using autoconf and - config file based symbols. - - * src/syscfg.h: Don't include ansichek.h. Move __PROTO and generic - declarations here from ansichek.h. Define fallbacks for - GP_EXCEPTION_NAME and GP_MATHERR. - -2002-03-06 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2: Finally get it to build again. - Drop third set of compiler/etc. flags. Use ../config.h, - add dependencies for docs and better clean up temporary files. - -2002-03-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Another set of patches for MS VC++ build from John Bollinger: - - * config/config.nt (HAVE_GETCWD, PROTOTYPES): Added these - #defines. - - * config/makefile.nt (CFLAGS, LDFLAGS): Added some flags to enable - compilation with pdflib, and multithreading-enabled libc. - (TERMFLAGS): Added -I for pdflib. - (linkopt1.msw): Added pdflib.lib to list of things to link. - -2002-03-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Remove ANNOUNCE-MOUSE from EXTRA_DIST. Don't include - .cvsignore files in make dist. - - * config/Makefile.am.in: Add config.* files to EXTRA_DIST. - - * src/Makefile.am: Remove ipc.h from gnuplot_SOURCES. - - * term/x11.trm: Remove reference to ipc.h. - -2002-03-04 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - * config/config.os2 config/makefile.os2: Some fixes to - get it build again (#define PROTOTYPES, TERMFLAGS updated) - -2002-03-03 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib/pm3dCompress.awk: Fixed "N g" to "2 index g N" in - the compressed map. - -2002-03-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Add test for struct exception in math, take from - Octave. - -2002-03-02 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.nt - config/makefile.os2: Moved HAVE_ and other #defines to config.xxx - files. Compile with -DHAVE_CONFIG_H. - - * config/config.cyg config/config.mgw config/config.nt - config/config.os2: New files, with HAVE_ #defines and more. - -2002-03-01 Petr Mikulik <mikulik@physics.muni.cz> - - * term/win.trm: Removed unused WIN_scale(). Terminals are not - allowed to do their own scale(). - - * term/vws.trm: Removed unused VWS_scale(xs, ys). - -2002-02-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h src/axis.c src/datafile.c src/plot3d.h src/plot3d.c - src/pm3d.h src/pm3d.c: Moved color axis autoscaling and pm3d - zminmax setting to axis.c in order to improve the source code - modularity. - -2002-02-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c: Include plot3d.h. Added missing #ifdef PIPES. - - * src/gadgets.c: Removed unused variables. - - * src/gpexecute.c: Include mouse.h for WIN_IPC. - - * src/gplt_x11.c: Change #if PM3D to #ifdef PM3D. - - * src/plot3d.h src/plot3d.c src/datafile.c: Move definition of - NEED_PALETTE to plot3d.h. - - * src/specfun.c: Fix RCSid to RCSid(). - - * term/cgm.trm: Added missing #ifdef PM3D. - -2002-02-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Patches for MS VC++ from John Bollinger <bbands@yahoo.com>: - - * src/internal.c (matherr) [__MSC__]: Add #defines to make it work - with MS VC++. - - * config/makefile.nt (CFLAGS): Repaired after removal of all the - NO_FLAGS. Added lots of /DHAVE_SOMETHING's. - (LDFLAGS, TERMFLAGS): Added stuff to compile in libpng and libz. - (linkopt1.msw): Added stuff to compile with libpng and libz. Removed - spurious mention of mouse.obj which is already in $CORE_OBJS. - -2002-02-26 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw config/makefile.cyg: Fixing broken makefiles - due to recent removal of NO_ symbols. Create a temporary config.h - file in order to avoid 12 lines of text for each gcc command (too - many HAVE_ symbols). - -2002-02-25 Hans-Bernhard Broeker <hbb@ballermann.oche.de> - - * docs/titlepag.tex: Minor spelling correction of my last name. - - * term/emf.trm (emf_justify): Unused --> removed. - - * term/epson.trm (nec_driver): Register NEC_linetype, not - b_setlinetype, for this driver. - - * term/epslatex.trm (EPSL_fillbox): Cast argument to void, to quell - "unused" warnings. - - * term/hpljii.trm (HPLJII_putc): Cast argument to void, to quell - "unused" warnings. - - * term/gpic.trm (GPIC_text_angle): Cast argument to void, to quell - "unused" warnings. - - * term/tek.trm (TEK40linetype): Cast argument to void, to quell - "unused" warnings. - - * term/dumb.trm (DUMB_arrow): Cast argument to void, to quell - "unused" warnings. - - * term/cgm.trm (CGM_make_palette, CGM_set_color, - CGM_filled_polygon): Prototypes added. Definition K&R'ized. - (CGM_find_font, CGM_set_font): Changed from TERM_PUBLIC to - 'static'. Prototype moved into TERM_BODY section. - - * src/strftime.c (fill, number): Prototypes added. - - * src/graphics.c (finish_filled_curve, place_arrows, - place_labels): Prototypes added. Definitions K&R'ized. - (place_grid): Prototype added. - - * src/pm3d.c (filled_color_contour_plot, pm3d_plot): Turned - static. Prototype moved from pm3d.h to here. - (pm3d_rearrange_part): Prototype added, definition K&R'ized. - (pm3d_plot): Definition K&R'ized. - - * src/graph3d.c (place_arrows3d): Renamed, to distinguish it from - same-named function in graphics.c. Prototype added. - (place_labels3d): Dito. And definition K&R'ized. - (whichgrid): Turned static. - - * src/axis.c (axis_position_zeroaxis): Turned static. Prototype - moved from axis.h to here. - (quantize_duodecimal_tics): Turned static. Prototype added. - - * src/mouse.h [_MOUSE_C || _GPLT_X11]: Removed hacked definitions - from header file, leaving only the extern declarations. - - * src/mouse.c (mouse_setting, modifier mask): Definitions now - here. - - * src/gplt_x11.c: *TONS* of internal variables and functions - turned static. - [USE_MOUSE] (_GPLT_X11): Removed #define, no longer needed. - - * src/term.h: Moved VGAGL part into #ifdef LINUXVGA part, since - VGAGL doesn't work if LINUXVGA isn't compiled in, too. - - * term/linux.trm (LINUX_graphics_allowed): Added declaration of - variable to TERM_PROTO section. Variable itself flagged - TERM_PUBLIC. - - * term/vgagl.trm (VGAGL_options): Removed extern declaration of - LINUX_graphics_allowed where it shouldn't be. - - * src/ipc.h: Contents of file moved into term_api.h and term.c, - file itself removed. - - * src/term.c, src/readline.c, src/plot.c, src/command.c: Removed - #include of "ipc.h". - - * src/term.c [PIPE_IPC] (ipc_back_fd): Turned static. - - * term/epslatex.trm (EPSL_header): Turned static. - - * term/pslatex.trm (PSLATEX_auxfile): Turned static. - - * term/svg.trm (SVG_xSize, SVG_ySize, SVG_xLast, SVG_yLast, - SVG_LineType, SVG_LineWidth, SVG_TextAngle, SVG_TextJust, - SVG_fontNameDef, SVG_fontSizeDef, SVG_fontNameCur, - SVG_fontSizeCur, SVG_groupIsOpen, SVG_pathIsOpen, SVG_path_count, - SVG_pens, SVG_fontAscent, SVG_fontDescent, SVG_fontLeading, - SVG_fontAvWidth): Turned static. - - * term/pdf.trm (myPDF, PDF_xLast, PDF_yLast, PDF_LineType, - PDF_LineWidth, PDF_TextAngle, PDF_TextJust, PDF_fontNameDef, - PDF_fontNameCur, PDF_fontSizeCur, PDF_pageIsOpen, PDF_pathIsOpen, - PDF_fontAscent, PDF_fontDescent, PDF_fontLeading, - PDF_fontAvWidth): Turned static. - - * term/hpgl.trm (HPGL2_dashed, HPGL2_solid, HPGL2_font_num, - HPGL2_font_num_current, pspointset, HPGL2_point_size, - HPGL2_point_size_current): Turned static. - (PCL_dim): Turned static. Definition moved to other static vars. - - * term/cgm.trm (cgm_basic_font_data, cgm_font_data): Turned - static. Uncluttered definitions of struct type definition and of - variables of that type. - - * term/x11.trm (X11_ipc_back_fd): Removed this macro which just - hid accesses to global variable ipc_back_fd. All uses of it - replaced by ipc_back_fd itself. - - * src/datafile.c (df_filename): Turned static. Declaration moved - to a different section of the source. - - * term/driver.h: Removed directory path from #include of syscfg.h. - Added #include <stdio.h> to make it self-contained. - - * src/strftime.c: Move #include "stdfn.h" out of TEST_STRFTIME - block to provide definition of size_t. - -2002-02-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * PORTING, configure.vms, config/buildvms.com, config/makefile.ami, - config/makefile.cyg, config/makefile.mgw, config/makefile.os9, - config/makefile.st, config/makefile.unx, config/makefile.win, - src/plot.c, src/stdfn.c, src/stdfn.h, src/syscfg.h, src/variable.c, - term/amiga.trm: Remove all header file and function related NO_* - preprocessor symbols and use HAVE_* instead. - -2002-02-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/README: Added documentation on mouse, hotkeys, terminal - communication and pm3d internals. - - * pm3d/old-docs: Removed. - -2002-02-21 Johannes Zellner <johannes@zellner.org> - - * src/pm3d.c: Improved 'scans automatic' for the case where all points - of some scans are undefined. - -2002-02-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.dj2 (CFLAGS): Added -DHAVE_ATEXIT. Changed default - compile flags to -O2 -g. - (EXENAME): Changed to gp38. - - * config/makefile.nt (CFLAGS): Added -DHAVE_ATEXIT. - -2002-02-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (quantize_normal_tics): Changed name and meaning of - first argument: it's now the length of the range to be covered, - instead of the log10 of the length. All calls have to be changed! - Modified the calculations inside to reduce the risk of FP - inaccuracies biting in. In particular avoid possible differences - between pow10() and dbl_raise(10.0,). - (quantize_duodecimal_tics): New function, derived from - quantize_normal_tics. Subdivides ranges with a base-12 rather - than a base-10 quantity (--> 60 seconds/minutes, 24 hours, 12 - months). Uses a stepsize sequence of 1-2-3-6-12 instead of - 1-2-5-10 in quantize_normal_tics. - (quantize_time_tics): Calls to quantize_normal_tics changed. Some - just had the log10 removed (see above), others were commented out, - or replaced by calls to quantize_duodecimal_tics. This is a lot - saner than the previous code that piled lots of base-10 - subdivision attempts on top of each other, and avoids problems - with rounding errors, too. - (time_tic_just): Large parts of this function deactivated --- - their work is no longer necessary since the automatically placed - will now (almost) always be in the right position already. - - * src/contour.c (contour): Changed call of quantize_normal_tics - and added a comment what it does. - -2002-02-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/all.dem: Fix typo. - -2002-02-19 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Updates for color axis, pm3d, palette and colorbox. - -2002-02-19 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Added -DNO_SETVBUF; removed backslashes. - -2002-02-19 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2 src/gplt_x11.c term/x11.trm: Some fixes for X11 - stuff on OS/2 (make it build again and fix search for application - defaults). - -2002-02-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/fillbox.dem: Changed style of 'pause' messages in demo, and got - rid of CR+LF line breaks. - -2002-02-18 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/graph3d.h src/plot3d.c src/pm3d.c - src/pm3d.h src/set.c: Allow plotting surfaces at different altitudes - in one graph by explicitly specifying 'at <where>' in the 'splot' - command, e.g. "splot ... with pm3d [at option]". - -2002-02-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/fillbox.dem: New demo for filled boxes plotting style. - - * src/win/wgraph.c (drawgraph): Handle case where one GWOPBLK is - exactly full, but a next one hasn't been allocated. - -2002-02-17 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/all.dem: Added fillcrvs.dem demo. - - * demo/fillcrvs.dem: New demo for filled curves. - - * demo/poldat.dem: Reduced file size. - - * demo/mgr.dem: Typo fixed; replaced pause text "<CR>" by "(-> return)" - as in other demos. - -2002-02-17 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/README: Updated. - - * pm3d/old-docs/README: Completely new contents. This file contains - technical documentation on gnuplot internals which I was coding (pm3d, - mouse, hotkeys and communication). It should be renamed (name to be - decided) and moved to the src directory. - - * pm3d/old-docs/*: Files removed except for README, see above. - - * ANNOUNCE-MOUSE: Removed. - -2002-02-16 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.h src/plot3d.c src/datafile.c src/pm3d.c: New fix of - cb-axis autoscale for binary datafiles. Now pm3d splots should work - with all combinations of linear and logarithmic z and cb axes. - -2002-02-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c: Let the default legend title for splot 'a.dat' binary - is just 'a.dat' instead of the current 'a.dat' binary while for - 'a.dat' binary using 2:1:3 all 4 words as now. - -2002-02-15 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/command.c src/plot.c src/os2/dialogs.c src/os2/gclient.c - src/os2/gnupmdrv.c src/os2/gnupmdrv.h: Clean up procedure to find - help files on OS/2. Convert //-style comments to /**/ - -2002-02-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c src/mouse.c src/plot3d.c src/save.c src/show.c: - Let them compile without PM3D #defined. - -2002-02-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Add missing .trm files to CORETERM. Always build - gnuplot.info. Improve install and uninstall targets. - - * tutorial/Makefile.am.in: Use $(top_srcdir) instead of hardcoded path. - -2002-02-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c: Fix of cb-axis autoscale for binary and with palette - splots. - -2002-02-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_version): Have "show version long" display the - currently selected path to the X11 driver, too. - -2002-02-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c: Command 'set grid front|back' should select the - default grid. - -2002-02-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c src/unset.c: Commands '(un)set log ...' now correctly - parse the argument. - - * src/tables.h src/tables.c: New routine lookup_table_nth_reverse. - -2002-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * NEWS: Mention changes to X11 outboard driver path and removal of - --with-x11-driver. - - * INSTALL: Update configure --help excerpt: mention --exec-prefix, - explain gnuplot_x11 installation place, and remove mention of - --with-x11-driver option. Change instructions on running - un-installed gnuplot to use GNUPLOT_DRIVER_DIR instead of PATH - overrides. - -2002-02-14 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/stdfn.h src/stdfn.c src/command.c: Let the - 'pause' command support subsecond waiting time resolution. Macro - GP_SLEEP uses the high-resolution sleep if available for specified - compilers, or uses usleep() if defined HAVE_USLEEP. - -2002-02-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Add check for usleep(). - - * demo/Makefile.am.in: Pass GNUPLOT_DRIVER_DIR in the environment to - let gnuplot use the uninstalled X11 driver. - - * man/Makefile.am: Fix lasergnu installation to honour DESTDIR. - - * src/Makefile.am: Install gnuplot_x11 into $(pkglibdir)/$(PKG_MAJOR) - instead of $(bindir). - -2002-02-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Don't change splot view if there is a log axis with a - negative range coordinate. - - * src/unset.c: Remove #ifdef USE_MOUSE inside another USE_MOUSE. - -2002-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/x11.trm: #include <ctype.h>. Some stylistic changes here and - there. - [USE_X11_DRIVER]: Conditionalized the existence of the 'driver' option - upon this macro. Turned off by default. - (X11_full_command_path): New variable, stores path-expanded name of - gnuplot_x11 driver. - (parse_driver): Replaced free+alloc by a realloc, and individual - comparisons by isspace() calls. Implemented expansion of gnuplot_x11 - driver command name by prepending the environment variable - $GNUPLOT_DRIVER_DIR if that is defined and valid, or the default - configure'd X11_DRIVER_DIR if not. - (X11_init): Use expanded pathname in execvp() calls. - (TERM_HELP): Documented $GNUPLOT_DRIVER_DIR override. - -2002-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/stdfn.c (strerror, strstr, strchr): Prototypes of fallback - implementations moved from here to src/stdfn.h. - (sleep) Duplicate prototype removed. - (memcpy): Return type of fallback implementation corrected. Prototype - moved to src/stdfn.h. - -2002-02-13 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/plot3d.h src/pm3d.h src/color.c src/graph3d.c src/mouse.c - src/plot3d.c src/pm3d.c src/set.c src/unset.c src/util3d.c: Implemented - 'set log cb'. From now, z and cb axes are completely independent on - both the value range and the lin/log base. - -2002-02-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in, src/Makefile.am: Remove --with-x11-driver configure - option and related changes. - -2002-02-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/x11.trm (X11_options): Kill some more erroneous commas in X11 - terminal option string. Thanks to Don Taber, again. - -2002-02-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - The 'decimalsign' patch by Harald Harders. Posted to SF.net, edited - by me before inclusion. - - * src/axis.c (gprintf): If decimalsign option is in use, replace '.' - generated by numerical printouts by the requested string. - (decimalsign): New global variable to hold status of new option. - - * docs/gnuplot.doc: Documented new 'set decimalsign' option. - - * src/tables.h: Added enum entry S_DECIMALSIGN. - - * src/tables.c (set_tbl): Added parse entry for 'dec$imalsign' option. - - * src/show.c (show_command): Added 'decimalsign' to list of available - options. Added treatment of S_DECIMALSIGN case. - (show_all): Show decimalsign status, too. - - * src/set.c (set_command): Added 'decimalsign' to list of available - options. Added treatment of S_DECIMALSIGN case. - (set_decimalsign): New function. Implements 'set decimalsign'. - - * src/unset.c (unset_command): Added 'decimalsign' to list of available - options. Added treatment of S_DECIMALSIGN case. - (unset_decimalsign): New function. Implements 'unset decimalsign'. - (reset_command): Unset decimalsign option, too. - - * src/save.c (save_set_all): Save new option value. - -2002-02-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/x11.trm (X11_options): Removed superfluous comma, broke - re-readability of term_options string. Found and fixed by Don Taber - <dtaber@blackrat.risc.rockwell.com>. - -2002-02-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c: For 'splot ... with ... palette', draw key as a line - or point/dot sequence with a color gradient according to the color - range of the function/datafile itself, not over the whole global color - range. - -2002-02-05 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw: Add -DHAVE_ATEXIT. - -2002-02-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Patch from Levente Novak <lnovak@dragon.klte.hu>, edited by me: - - * term/tgif.trm (TGIF_filled_polygon): Break long TGIF command - into several lines to not overflow limits imposed by programs - reading this format. - - * term/tgif.trm (TGIF_make_palette, TGIF_set_color, - TGIF_filled_polygon): Codesyle fixes. Function definitions are - supposed to be in K&R, not ANSI C style. Plus some whitespace and - indentation fixes. - -2002-02-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/plot.c, src/stdfn.h, term/x11.trm: Clean up atextit() handling. - - * src/specfun.c: More meaningful error messages for removed functions. - -2002-02-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c: For 'splot ... with ... palette', draw key as a line - or point/dot sequence with a color gradient. - -2002-02-02 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/gadgets.h src/gadgets.c src/plot2d.c - src/plot3d.c src/save.c src/set.c src/show.c src/tables.h src/tables.c - src/unset.c: New option 'set key {no}enhanced'. - - * term/post.trm: Add label "?enhanced postscript". - -2002-02-01 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Remove warning that pm3d works on some terminals - only. - - * docs/gnuplot.doc: Minor fixes. - -2002-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c (draw_line_hidden): Changed local variables - vstore1 and vstore2 from pointers to indices, to avoid yet another - dangling pointer problem caused by realloc() happening at a time I - hadn't expected. - -2002-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/README: Corrected type of last argument of term->arrow() - Re-indented a bit. - -2001-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/pgnuplot.c: Added comment about -mno-cygwin option to be - used to avoid GPLification of pgnuplot by use of Cygwin's DLL. - - * config/makefile.cyg (pgnuplot.exe): Added rule to build the - helper program. - (default, all): Added dependencies on pgnuplot.exe. - (install): Added command to install pgnuplot.exe, too. - - * config/makefile.mgw (install): Also install pgnuplot.exe. - -2002-01-31 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/all.dem demo/pm3d.dem demo/clip14in.dat demo/triangle.dat: - New files for pm3d demo. - - * pm3d/demo: Directory removed (contents merged with demo/). - -2002-01-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/contour.c(chk_contour_kind): Remove unnecessary FPRINTF - statements. - - * src/gplt_x11.c, term/x11.trm: Cleaning up, indentation, ANSIfication. - - * src/plot.c(main): Fix two minor bugs which only show if neither - atexit() nor on_exit() are available. - - * src/util.c(os_error): Replace fprintf errno with perror(). - -2002-01-30 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/demo/pm3dColumn.gpi: Use 'set term push/pop' and close - output data file. - -2002-01-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL, README: Fix references to distribution files. - - * configure.in: Fix libpng and libpdf tests so that these libraries - are always searched for. Remove "EXPERIMENTAL" notice for pdf driver. - Clean fix for non-zero exit code problem. - -2002-01-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (plot3d_lines_pm3d): Fix line misordering in - color_axis handling. - -2002-01-27 Johannes Zellner <johannes@zellner.org> - * term/ggi.trm: Remove stdin buffering like in x11. - -2002-01-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot3d.c (get_3ddata): Change usage of HUGE to VERYLARGE, - with is guaranteed to be defined. - -2002-01-27 Johannes Zellner <johannes@zellner.org> - - * pm3d/demo/pm3dColumn.gpi: A 90 deg rotated 3d sinc which - demonstrates the difference between coloring according to the z - value and according to a specific data column. - -2002-01-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/cgi.trm: By permission of the original author, Ronald Florence, - remove the non-commercial use clause and switch to gnuplot license. - - * term/metafont.trm: Fix typo (lowerrcase instead of lowercase). - -2002-01-26 Johannes Zellner <johannes@zellner.org> - - * pm3d/demo/pm3dColumn.gpi: Quick demo for the new pm3d features. - -2002-01-26 Johannes Zellner <johannes@zellner.org> - - * src/plot3d.c src/plot3d.h src/pm3d.c: Some bug fixes and - improvements for the new pm3d functionality. - -2002-01-26 Johannes Zellner <johannes@zellner.org> - - * src/plot3d.c src/graph3d.c src/graph3d.h src/gp_types.h - src/hidden3d.c src/pm3d.c src/pm3d.h src/color.c docs/gnuplot.doc: - pm3d coloring from an arbitrary data column for data splots - (column 2 or 4). - -2002-01-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in: Added 'exit 0' at end. Without it make stops - after running "config.status --recheck". - - * src/specfun.c: Removed prototypes of former static functions - lgampos, lgamneg. - (lngamma): Added missing return statement. - (lngamma, inverse_normal_func, inverse_error_func): Moved error - message to stderr. - -2002-01-25 Johannes Zellner <johannes@zellner.org> - - * src/plot3d.c: Scaling for 'linetype palette' was broken after - the previous changes (at least for 'set pm3d explicit'). - -2002-01-25 Johannes Zellner <johannes@zellner.org> - - * src/pm3d.h src/pm3d.c src/set.c src/show.c src/save.c - src/graph3d.c src/misc.c src/pm3d.c src/pm3d.h src/plot3d.c - src/gp_types.h src/graphics.c src/tables.c docs/gnuplot.doc: pm3d - option 'explicit / implicit' and related functionality. - -2002-01-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c (save_set_all): Removed unused variable. Fixed highly - probable typo this_arrow->layer in the middle of 'set label' - treatment. - -2002-01-25 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS: Added some text from ANNOUNCE-MOUSE. - - * ANNOUNCE-MOUSE: Added a header to that file with two paragraphs - which are worth saving, in my opinion. That's a technical docs for - mouse and its communication. - - * INSTALL: Added section "Running gnuplot on OS/2" from README.os2. - - * docs/old/README.os2: Added a note that this file can be removed. - - * config/makefile.cyg: Added -DHAVE_SLEEP -DNO_SETVBUF. - - * docs/gnuplot.doc: Several small corrections. - -2002-01-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Updated to current version. - - * tutorial/Makefile.am.in: Rename PLT_SOURCES to PLT_FILES and add - target for pdf. - - * specfun.c: Remove all code that was labeled for non-commercial use - only (lgamneg, lgampos, lngamma, inverse_normal_func, - inverse_error_func). This means that the gamma, inverse normal, and - inverse error function are not available anymore on platforms that - don't have native implementations. - -2002-01-24 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/doc2tex.c: Replace typesetting of _ from "{\tt\_}" to "\_". - -2002-01-24 Johannes Zellner <johannes@zellner.org> - - * src/readline.c term/x11.trm: Implemented the non-buffered - stdin for the X11 driver (and ONLY for the X11 driver) to solve - problems with - 1) escape sequences (like the "up" arrow), - 2) pasting commands with the mouse. - -2002-01-24 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c term/x11.trm: Implemented rotated text for the x11 - driver. - -2002-01-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Fixed all-spaces line and spurious <TAB> - character. - -2002-01-23 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg: Improvements, easily editable options. - - * src/win/wgnuplib.h: _fstr* functions are declared in Cygwin. - -2002-01-23 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm: Split the driver path into words so that something - like - set term x11 driver "strace -f -o strace.out ./gnuplot_x11" - can be used (nice for debugging for example). - -2002-01-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/history.c: Fix for "history !first_command_in_history". - - * src/command.c: Fix for "history !load". - -2001-01-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (boundary): Moved calls to set the axis endpoints - up here. Fixes bug in key placement caused by uninitialized - variables used by map_position(). - (do_plot): Removed them from here. - (boundary): Disallow key entry height to become zero --- want to - divide by it later. - -2002-01-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: Remove references to the GP_PATH_* macros. - - * configure.in: General cleanup and bugfixing. Replace all references - to GP_PATH_* macros with code that uses generic autoconf macros. - - * src/graphics.c: Make finish_filled_curve() static. - - * VERSION, src/version.c: Increment version to 3.8i, update date - and copyright. - - * m4/path-hdr.m4, m4/path-lib.m4: Remove. - -2002-01-22 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/gadgets.h src/gadgets.c src/graph3d.c - src/graphics.c src/save.c src/set.c src/show.c src/tables.h - src/tables.c src/unset.c: New option 'set key height <height>'. - -2002-01-18 Clark Gaylord <cgaylord@vt.edu> - - * Change all references in documentation from gnuplot.org to - gnuplot.info. - -2002-01-17 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm term/emf.trm: Removed unused variables. - -2002-01-17 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm src/unset.c src/gplt_x11.c: Removed the - X11_unset_pm3d() function which made multiplot not working on X11. - Introduced a variable plot->release_cmap in gplt_x11.c for - controlling freeing of pm3d colors. - -2002-01-17 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepag.tex: Have \usepackage{hyperref} only once. - -2002-01-10 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/demo/Demo.gp: Remove 'set term pop' after 'reset' (the latter - does not change terminal). - -2002-01-07 Petr Mikulik <mikulik@physics.muni.cz> - - * plot.c: Fix load_rcfile() to properly report the startup filename - (needed if it contains a typo). - - * misc.c: Fix one c_token++ from yesterday. - -2002-01-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gadgets.c src/gadgets.h src/graphics.c src/graphics.h - src/misc.c src/misc.h src/plot2d.c src/save.c src/set.c src/show.c - src/tables.c src/tables.h docs/gnuplot.doc NEWS: Implemented options - for plotting style 'with filledcurves [options]'. - -2002-01-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * INSTALL: Added paragraph about avoiding floating point exception - crashes on Alpha CPUs caused by lack of IEEE compatibility. - -2001-12-19 Namio Matuda <matuda@film.s.dendai.ac.jp> - - * docs/doc2tex.c docs/titlepag.tex: Added some more hypertext - facilities into gnuplot.pdf (eg "see `xyz`" makes a link to the - page of the section of `xyz`). - - * docs/gnuplot.doc: Typos and fixes for better support of the - above. - - * term/be.trm term/gnugraph.trm term/openstep.trm term/next.trm - term/tek.trm term/unixplot.trm: Typos and fixes to avoid various - LaTeX warnings (eg undefined references and multiply-defined - labels) in the preparation of gnuplot.pdf.Introduced definition of - TERM_HELP_GNUGRAPH and TERM_HELP_NEXT. Changes labels and - START_HELP/END_HELP arguments for gnugraph and openstep. - -2001-12-18 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wtext.c: Reallocate larger keyboard buffer instead of - silently ignoring input characters coming into an overfull buffer - (fixes piping 'plot "-" ... e' with large data sets, for - instance). - -2001-12-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/epslatex.trm (EPSL_put_text): Fix bug that would output TeX - code into the PostScript file. Report and bugfix by - <Ralf_Ahlbrink@web.de>. - -2001-12-17 Petr Mikulik <mikulik@physics.muni.cz> - - * src/util.c: Fix graph_error() to avoid gnuplot crash for log - axes with negative min/max range value in splot. - - * src/pm3d.c: More appropriate error message for negative cb range - and log z axis. - -2001-12-16 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: Fine tuning of the default color box size and - position (take in/out/mirror/scale of tics into account). Remove - the obsolete code of PUT_ZMINMAX_AROUND used before the cb-axis - has been implemented. - - * src/pm3d.c: Remove obsolete comments. - -2001-12-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Routine do_event(): Disable event processing for - undefined terminals (fixes crash when mouse is on and non-existing - terminal is set). - -2001-12-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (eval_plots): Yet another fix for linestyle - handling. Plots with no "lt" or "lw" option at all would not get - their linewidth, pointsize and other options set up properly. - - * src/plot3d.c (eval_3dplots): Dito. - -2001-12-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (eval_plots): Re-do handling of possible - duplication of line/point style options. Fixes "plot 2 lt 2, 1 lt - 1" which would plot both in linetype 1 introduced by Petr's "any - order of options" patches. The line/point style options have to - be all together, now. And some codestyle fixes and reindentation. - - * src/plot3d.c (eval_3dplots): Dito. - - * src/misc.c (lp_parse): Codestyle fixes. - -2001-12-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (setup_tics): Went over automatic ticmark extension - of axis endpints. Moved calculation of timelevel[axis] before the - tic extension. - (round_outward): New function. Extracted and recombined code from - setup_tics, that handled ticmark extension. Extended to handle - time/date axes with their slightly irregular tic steps. - (make_auto_time_minitics): Added cast to int to quell unsigned - comparison warning. - -2001-12-04 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/fit.c: Fix buffer overflows regarding env vars used for - fitting. - -2001-12-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c (save_set_all): Put #ifdef PM3D around pm3d-only code - regions. - - * src/show.c (show_command): Dito. - -2001-12-01 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/eval.c src/fit.c src/plot.c src/os2/gclient.c - config/makefile.os2: Abandon EMX non-standard signal processing - model. Also avoid calling PM-term functions if it's not running. - -2001-11-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c src/misc.c src/plot2d.c src/plot3d.c: Allow - (nearly) any order of options in plot and splot commands. Actually, - this "any order" applies separately inside the group of options - - for a datafile [see df_open() in datafile.c] - every matrix binary index thru using - - for plot commands [see plot2d.c] - smooth title notitle axes with - - for splot commands [see plot3d.c] - title notitle with - - * src/tables.h src/tables.c: Comment out plot_tbl[] as (1) it has - not been used for 2 years, (2) if used any later, it will have to - be split into datafile_tbl[] and plot_tbl[]. - -2001-11-29 Guillaume Allegre <Guillaume.Allegre@imag.fr> - - * docs/gnuplot.doc: Fix inconsistency in the document: many examples - use the 'set no...' syntax instead of the 3.8-new syntax 'unset'. - -2001-11-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/specfun.c: Remove "non-commercial" clause for ibeta() and - igamma() by permission of the original author, Jos van der Woude. - -2001-11-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c: Fix splot 'a.dat' with ... palette crash if - 'a.dat' contains a single scan only. - -2001-11-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c: Allow any order of options in 'set arrow'. - Fix default value in 'set label' be 'nopoint'. - - * src/show.c: Fix crash in conv_text() for NULL pointer. Fix - 'show label' for labels with no label text specified. - -2001-11-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/misc.c: Allow any order of lt, lw, pal, ps, pt options in - 'with <style> <options>'. Allow the smooth color change of lines, - points and dots by syntax 'with <style> palette' instead of - 'with <style> lt palette' (but keep the parser understanding the - older syntax too). - - * docs/gnuplot.doc: Better documentation for 'with <style> palette' - in 'with <style>' section. A section for 'lines' added (currently it - was commented out). - -2001-11-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (do_3dplot) [PM3D]: Handle plot style FILLEDBOXES - by falling back to IMPULSES. - - * src/hidden3d.c (build_networks) [PM3D]: Ditto. - -2001-11-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_label): Corrected as yet un-ChangeLog'ed new code - from Petr that allows linetypes to be set for labels and relaxes - the syntax for that command a lot. - -2001-11-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gadgets.h src/mouse.h src/graph3d.c src/graphics.c src/save.c - src/set.c src/show.c docs/gnuplot.doc NEWS: 'set label' with any - line type (colour), point type and point size; further allow any - order of options. - -2001-11-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/datafile.c (f_column): Added missing implementation of - 'column(-2)' in using expressions. Removed offset by one of value - held in "column" variable to de-obfuscate the code a bit. - -2001-11-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * NEWS: Lots of additional fixes and new features mentioned, and - some entries moved to the correct release they came with. - -2001-10-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h src/axis.c src/graphics.c src/save.c src/set.c - src/unset.c src/show.c src/graph3d.c docs/gnuplot.doc NEWS: New - options for 'set grid': {layerdefault | front | back}. - - * src/save.c: Labels and arrows were not saving "back", "front" - option. - -2001-10-31 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (boundary3d): Fix computation of current aspect - ratio by casting input variable to double. - -2001-10-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c term/tgif.trm term/pm.trm term/gif.trm term/fig.trm - term/cgm.trm: The first and the last colour ranges in 'set palette - maxcolors' were different (half of the range) than the "inner" - colour ranges. I.e. now the discrete palette drivers have the - set_color(gray) routine coded like - int gif_color = (int)( gray * sm_palette.colors ); - instead of the previous - int gif_color = (int)( gray * (sm_palette.colors-1) + 0.5 ); - Some other drivers have already this code, so all is unified now. - - * term/post.trm: If 'set palette maxcolors', then the colour for the - last colour box [(colors-1)/colors; 1.0] should equal the last colour - from the mapping formulae, as for the discrete palette drivers. - - * src/win/wgraph.c: Support for 'set palette maxcolors'. - -2001-10-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * win/pgnuplot.c (cbGetTextWindow): Revert return value to behave - like the documentation of the EnumThreadWindows() Win32 API call - expects it. - -2001-10-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (boundary) Add code to handle `set size square' or - `set size ratio <number>' for 3D plots, too. Code essentially - copied out of the one found in 2D equivalent function `boundary'. - (boundary3d): Remove stale argument `scaling' and code trying to - use it --- term->scale() was disallowed long ago. - (do_3dplot): Remove local variable `scaling' and code - setting/using it. - - * src/graphics.c (boundary): Remove unused argument 'scaling' - (do_plot): Remove local variable `scaling' which used to be passed - to boundary(), where it wasn't used anyway. - -2001-10-11 Dick Crawford <crawford@arete.com> - - * term/post.trm (PS_header): Old PostScript linewidth patch for - dotted axis linetype finally brought into 3.8 branch. Affects - macros /BL, /AL, /UL, and /LTa. /UL macro fixed to avoid problems - with dash pattern length definition for zero linewidth. - -2001-10-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/color.c (draw_color_smooth_box) [PM3D]: Change order of - operations to ensure setup_tics() sees the COLOR_AXIS as - log-scaled, if it is. Use new AUTOSCALE_FIXMIN and - AUTOSCALE_FIXMAX flags instead of a blunt AUTOSCALE_NONE override - to avoid extending the color box beyond the useful z range. - -2001-10-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c docs/gnuplot.doc: New autoscale option: - `set autoscale keepfix` autoscales all axes while keeping the fix - settings. - - * src/mouse.c: Let hotkey 'a' do `set autoscale keepfix` instead - of `set autoscale`. - -2001-10-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot3d.c (grid_nongrid_data): Fix bug in code to handle the - case of a sampling point falling exactly onto one of the input - data points, by adding a break statement to bail out of the inner - loop. - -2001-10-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (SHOW_AUTOSCALE): Use new local variable to make code - more readable. Only output " (min)" or " (max)" if they're not - both on. Don't print an extra TAB if non-parametric. Start a new - line occasionally, to make avoid overly long output lines. - - * src/mouse.c (apply_zoom): New static variable autoscale_copies - to remember the state of 'set autoscale'. Zooming overwrites - this, so it has to be recovered at 'unzoom' time. Fill - autoscale_copies upon the initial zoom that leaves 'un-zoomed' - state, and restore it whenever "previous zoom" or "unzoom" - builtins return to the original settings. Resized internal string - buffer to allow for longer mouse-generated command. - (OUTPUT_AUTOSCALE): New macro to help with that task. Visible only - inside apply_zoom(). - (apply_zoom): Save the `set_{min|max}' fields instead of - `{min|max}' for retrieval by "previous zoom" or "unzoom" builtins, - as those represent the user-serviceable parts of the status. - -2001-10-03 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib/pm3dConvertToImage.awk: Fix for a too early "stroke" - in converting colour images (replace "/g {stroke" by "/g {Stroke"). - -2001-10-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (gen_tics): Renamed local variable `ticmin' to - `internal_min', to match its twin `internal_max' in one block. - Don't round internal_{max|min} outwards if ticstep is ridiculously - large. This effectively turned off tic position clipping, and - would lead to coordinate overflow in terminal drivers. - - * term/debug.trm (DEBUG_arrow): Corrected type of argument `head' - to TBOOLEAN. - - * term/gif.trm (GIF_make_palette): Fix incorrect call of debug macro - FPRINTF(). - -2001-10-01 Slaven Rezic <slaven.rezic@berlin.de> - - * term/tkcanvas.trm: No more warnings if running with perl -w. Take - -highlightthickness into account for height/width computation. Use - a subroutine reference rather than a subroutine name in the perl - version (as in my original patch). Doc fix for perl sample. - -2001-09-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (plot_c_bars): Changed candlesticks behaviour to - ignore order of high and low prices, as was long since claimed by - the docs, but not actually done in the code. - - * docs/gnuplot.doc: Corrected documentation about candlesticks - behaviour if open and close prices are exchanged. Some spurious - whitespace removed to please 'make check'. - -2001-09-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c docs/gnuplot.doc: New autoscale option: - `set autoscale {{axis}{...|fix} | fix}` to easily set fixmin and - fixmax in one command for one or all axes. - * src/unset.c: Wrong indentation of two "}" in unset_autoscale(). - -2001-09-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gplt_x11.c (GR_MAKE_PALETTE, GR_RELEASE_PALETTE, - GR_SET_COLOR, GR_FILLED_POLYGON): Renamed so they all have an X11_ - prefix now, like their copies in x11.trm. - (exec_cmd): Extend parsing of GR_FILLED_POLYGON case to allow for - large polygons being broken into several lines. Uses new static - variables `saved_npoints' and `saved_i' to keep state from one - partial line to the next. - - * term/x11.trm (X11_filled_polygon): Protocol for filled_polygon - call changed. Now uses continuation lines to break up large - polygons like those you get from Petr's filledcurves feature. - Incomplete lines have an "xxxx" at their end; continuations are - flagged by a -1 in the number-of-points field. - -2001-09-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wcommon.h src/win/wgnuplib.c: New routine - LocalReAllocPtr(). - - * src/win/wgraph.c: Dynamically allocate enough memory for a - polygon with many corners (fixes 'plot with filledcurves'). - -2001-09-19 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * INSTALL docs/gnuplot.doc: Fix old URLs (use gnuplot.org now); - add hyperlinks. Move pointers to frontends for gnuplot. - - * configure configure.in docs/Makefile.in: Let configure - check for even more utils which we use. Always check for emacs. - -2001-09-18 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/readline.c: Fix Gnuplot-readline implementation to - distinguish between VIO and xterm on OS/2. - - * term/post.trm: Fix broken PS code for Symbol Oblique font - definition. Thanks to Michael Vulis from MicroPress. - - * src/getcolor.c: Drop duplicate #includes. - -2001-09-18 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2: Various updates/fixes/new targets, ... - -2001-09-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - The remainder of Uli Gruenebaum's filled boxes implementation, - reviewed and massively changed by me. - - * term/win.trm (WIN_boxfill): Renamed from WIN_filledbox. - Parameter `linetype' renamed to `style'. - (WIN_boxfill) [USE_ULIG_FILLEDBOXES]: Send a W_fillstyle opcode to - tell the new code how the interior of the rectangle is to be - filled. - - * src/win/wgraph.c [USE_ULIG_FILLEDBOXES] (halftone_bitmaps, - halftone_num, halftone_brush, halftone_bitdata, halftone_bitmap, - pattern_bitmaps, pattern_num, pattern_brush, pattern_bitdata, - pattern_bitmap, brushes_initialized): New file-scope variables to - implement fillbox extension. - (MakePens) [USE_ULIG_FILLEDBOXES]: Create GDI brushes for filling. - (DestroyPens) [USE_ULIG_FILLEDBOXES]: Delete brushes here. - (drawgraph) [USE_ULIG_FILLEDBOXES]: Implement drawing of filled - boxes. W_fillstyle gives the style, a W_move specifies the top - left corner, and the (x,y) pair sent with the W_boxfill specifies - the width and height of the box. - - * src/win/wgnuplot.mnu: Added menu entry for filledboxes style. - - * src/win/wgnuplib.h (WGNUPLOTVERSION): Increased to reflect API - extension. - (W_boxfill): Renamed from W_filledbox. - (W_fillstyle): New operation token; used to transmit fill type and - parameter before a W_boxfill. - - * src/graphics.c [USE_ULIG_FILLEDBOXES] (plot_boxes): Reindented. - -2001-09-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c: Add #include "datafile.h" to pull in prototype of - J. Van Zandt's new df_showdata() function. - -2001-09-18 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * configure.in docs/Makefile.in: Check for PlainTeX, dvips as - well. - -2001-09-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/prob.dem, demo.prob2.dem, demo/random.dem, demo/stat.inc: - Remove "non-commercial" clause by permission of the original - author, Jos van der Woude. - -2001-09-18 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * lisp/Makefile.in lisp/configure.in lisp/configure: Some more - checks; get additional targets to work. - -2001-09-18 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * doc/.cvsignore docs/psdoc/.cvsignorelisp/.cvsignore: Add missing - entries. - -2001-09-17 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2: Add missing dependency. - -2001-09-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/save.c (save_set_all): Fixed saving of 'set grid'. Was - completely broken since my change to store gridding status in the - axis structs. - - * src/unset.c (unset_style): Removed incorrect c_token increase. - -2001-09-16 James R. Van Zandt <jrv@vanzandt.mv.com> - - * src/datafile.c: New function df_showdata() displays the current - data file line (up to 77 characters, including leading spaces) for - an error message. - - * src/datafile.h: export df_showdata(), but not df_filename or - df_string. - - * src/util.c: display file data using function rather than - macro. - -2001-09-13 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/post.trm: Replace code like "if (float f)" at - least by a still questionable boolean expression - -2001-09-11 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/gif.trm: Fix a C++ comment. We are still using C89! - -2001-09-05 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/epslatex.trm term/svg.trm: Two no-op changes to - make gcc happy and remove (bogus) compiler warnings - -2001-09-08 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc src/gp_types.h src/graphics.c src/save.c - src/show.c src/tables.c term/post.trm NEWS: Implemented plotting - of filled curves for terminals supporting pm3d --- req. termentry - filled_polygon(). Syntax: - set style [data | function] filledcurves [options] - plot ... with filledcurves [options] - Options are not yet implemented -- this is let as a homework - for somebody else. - - * term/x11.trm: Don't crash on X11_ipc overflow when "too many" - vertices passed into X11_filled_polygon(). This should be properly - fixed by an X11 programmer according to the hint therein. - -2001-09-07 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Use %g format instead of %f when placing labels by - mouse. - -2001-09-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/internal.c: matherr(exception) unsupported by mingw compiler. - -2001-09-05 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * .cvsignore docs/.cvsignore: Add entries - -2001-09-05 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/Makefile.am tutorial/Makefile.am: fixes to make - automake 1.5 happy. Should work as well with automake 1.4. - -2001-09-04 James R. Van Zandt <jrv@vanzandt.mv.com> - - * src/util.c (int_error et al.): Optionally print bad line from - data file. - - * src/datafile.c: Export filename of data file and pointer to - current line, for error and warning messages. - - * src/time.c (gstrptime): Before syntax errors and warnings, ask - for bad data string to be printed. - -2001-09-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c term/gif.trm docs/gnuplot.doc: Support for - filled boxes, i.e. termentry fillbox(), for the Presentation - Manager and GIF terminals. However, only solid colours implemented, - i.e. no density nor pattern styles. - -2001-09-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Bugfix for reversing axes during zoom. - -2001-08-31 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (typedef enum t_timelevel): New type to give names to - values of timelevel[] array. - (timelevel): Type changed to array of t_timelevel. - (make_auto_time_minitics): Renamed former function make_ltic() to - this. Parameter type changed to t_timelevel, and enum labels used - instead of magic numbers inside the functions. - (copy_or_invent_formatstring): Use new enum labels. - (quantize_normal_tics): Renamed former function set_tic() to more - descriptive name. - (make_tics): Remove local variable l10, and. Extracted the timetic - quantization part into a separate function. - (quantize_time_tics): New function, extracted out of make_tics(). - Unused code and variables commented #if'ed out. Use new - t_timelevel names. - (setup_tics): Fix bug with fixed-increment series ticks on - time/data axes. timelevel[axis] wasn't defined at all, in that - case, using whatever value was left in there from the previous - plot. BAD thing. - (gen_tics): Call of make_ltic() renamed. - (time_tic_just): Type of "level" argument changed to t_timelevel. - Use t_timelevel names. - - * src/contour.c (contour): Changed call of renamed function - set_tic. - - * src/axis.h (quantize_normal_tics): Changed prototype to reflect - renamed function set_tic(). - -2001-08-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - A monster patch by Ulrich Gruenebaum. Implements plotting of - filled boxes for some terminals, by exploiting the unused 'style' - parameter of the existing termentry function term->fillbox(). - Also adds unrelated enhancements to the FIG terminal driver. - Heavily edited by me before checkin. - - * term/post.trm (PS_header) [USE_ULIG_FILLEDBOXES]: Add PostScript - macro for solid-filled boxes. - (PS_fillbox) [USE_ULIG_FILLEDBOXES]: Implement solid-filled boxes - by calling that macro. - - * term/fig.trm: Added a set of new options: "solid", "dashed", - "textnormal", "textspecial", "texthidden", "textrigid" and - "version". - (FIG_DEFAULTVERSION): New macro. - (enum FIG_TEXT_STYLEBITS): New enum to give names to bits - controlling the text output style of the new fig driver: - FIG_TEXT_RIGID, FIG_TEXT_SPECIAL, FIG_TEXT_POSTSCRIPT and - FIG_TEXT_HIDDEN. - (FIG_TEXT_NORMAL): New macro. Equals FIG_TEXT_POSTSCRIPT. - (FIG_text_flags, FIG_version, FIG_solid): New status variables - storing added FIG terminal options. - (FIG_opts): Added lookup table entries for new options. - (enum FIG_id): Added tokens for new options. - (FIG_options): Mention new options in error message. Parse and - handle them. - (FIG_init): Output different file header, depending on the - "version" option active. - (FIG_linetype): Handle option "solid". - (FIG_put_text): Removed autodetection of suspected LaTeX input in - output string. Replaced by FIG_text_flags, which is controlled by - the user. - (FIG_boxfill): New function. Optionally implements filled boxes if - USE_ULIG_FILLEDBOXES is set. - (fig_driver): Add boxfill entry. Document all the new options. - - * term/epson.trm (EPSON_linetype, EPSON_move, EPSON_vector, - EPSON_put_text, EPSON_text_angle, NEC_move, NEC_vector, - NEC_put_text, NEC_text_angle, STARC_move, STARC_vector, - STARC_put_text, STARC_text_angle): Pointless macro renames of - bitmap module's functions removed. Use the original functions in - the termentry struct registrations instead. - (epson180_driver, epson60_driver, epsonlx_driver, nec_driver, - okidata_driver, starc_driver, tandy60_driver): Add termentry field - to call b_boxfill(). - - * term/png.trm (png_driver): Termentry field to call b_boxfill - added. - - * term/pbm.trm (PBM_move, PBM_vector, PBM_text_angle, - PBM_put_text): Pointless macro renames of bitmap module's - functions removed. Use the original functions in the termentry - struct registrations instead. - (pbm_driver): Termentry field to call b_boxfill added. - - * term/hppj.trm (HPPJ_move, HPPJ_vector, HPPJ_text_angle, - HPPJ_put_text): Pointless macro renames of bitmap module's - functions removed. Use the original functions in the termentry - struct registrations instead. - (hppj_driver): Termentry field to call b_boxfill added. - - * term/hpljii.trm (HPLJII_move, HPLJII_vector, HPLJII_text_angle, - HPDJ_text_angle, HPDJ_put_text): Pointless macro renames of bitmap - module's functions removed. Use the original functions in the - termentry struct registrations instead. - (hplj22_driver, hpdj_driver): Termentry field to call b_boxfill - added. - - * term/hp500c.trm (HP500C_move, HP500C_vector, HP500C_text_angle, - HP500C_put_text): Pointless macro renames of bitmap module's - functions removed. Use the original functions in the termentry - struct registrations instead. - (hp500c_driver): Termentry field to call b_boxfill added. - - * src/beos/GPBitmap.cpp (display): Add comment about style - parameter no longer being unused. - - * term/epslatex.trm: Dito. - - * term/djsvga.trm: Dito. - - * term/ggi.trm: Dito. - - * src/unset.c (unset_boxwidth) [USE_ULIG_RELATIVE_BOXWIDTH]: Reset - boxwidth_is_absolute, too. - (unset_fillstyle) [USE_ULIG_FILLEDBOXES]: New Function. Resets - fillstyle to default status: enabled, solid fill, 100 percent - density. - (unset_style) [USE_ULIG_FILLEDBOXES]: Call unset_fillstyle for - commands "unset style" and "unset style filling". Change error - message text to mention "filling" option. - (unset_style): Use lookup table instead of individual calls to - almost_equals(). - - * src/tables.c (show_style_tbl) [USE_ULIG_FILLEDBOXES]: Add parse - entry for "{set|show|unset} style filling". - (plotstyle_tbl) [USE_ULIG_FILLEDBOXES]: Add parse entry for - plotstyle "filledboxes". - - * src/tables.h (enum show_style_id) [USE_ULIG_FILLEDBOXES]: Add - token for SHOW_STYLE_FILLING. - - * src/show.c (show_command, show_style): Capitalized first word of - message for "show data style" & friends. - (show_boxwidth) [USE_ULIG_RELATIVE_BOXWIDTH]: Handle - relative/absolute option, too. - (show_fillstyle) [USE_ULIG_FILLEDBOXES]: New function. Displays - state of "set style filling". - (show_style) [USE_ULIG_FILLEDBOXES]: Handle "show style filling", - too. Show filling style if "show style" was given without - options. - (show_styles): Fix typo in name displayed for "candlesticks" - style. - (show_styles) [USE_ULIG_FILLEDBOXES]: Allow data/function style to - be "filledboxes", too. - - * src/set.c (set_command): Fix position and mention of 'style' in - list of allowed "set" parameters displayed upon inputting of a - nonexistant one. - (set_boxwidth) [USE_ULIG_RELATIVE_BOXWIDTH]: Handle - relative/absolute option, too. - (set_fillstyle) [USE_ULIG_FILLEDBOXES]: New function. Parses and - implements "set style filling" command options. - (set_style): Use lookup table instead of individual - almost_equals() calls. - (set_style) [USE_ULIG_FILLEDBOXES]: Handle "filling" style, too. - Adapt error message if nonexistant style name given. - - * src/save.c (save_set_all) [USE_ULIG_RELATIVE_BOXWIDTH]: Save - status of relative/absolut flag, too. - (save_set_all) [USE_ULIG_FILLEDBOXES]: Save "set style filling" - status. Allow "filledboxes" in "set style {data|function}". - - * src/plot2d.h (boxwidth_is_absolute) - [USE_ULIG_RELATIVE_BOXWIDTH]: Add external declaration. - - * src/plot2d.c (boxwidth_is_absolute) - [USE_ULIG_RELATIVE_BOXWIDTH]: New global status variable storing - relative/absolute bit. - (get_data, print_table) [USE_ULIG_FILLEDBOXES]: Treat FILLEDBOXES - just like BOXES. - (get_data) [USE_ULIG_RELATIVE_BOXWIDTH]: Don't calculate boxwidth - yet, if boxwidths are set to relative. - (eval_plots, parametric_fixup) [USE_ULIG_RELATIVE_BOXWIDTH]: Set - up xlow and xhigh if boxwidth set to absolute. - - * src/misc.c (get_style) [USE_ULIG_FILLEDBOXES]: Add "filledboxes" - to message listing allowed plot style names. - - * src/hidden3d.c (build_networks) [USE_ULIG_FILLEDBOXES]: Ignore - FILLEDBOXES just like BOXES and other non-3D styles. - - * src/graphics.c: Add #include of plot2d.h (but see the FIXME - comment accompanying it!). - (do_plot) [USE_ULIG_FILLEDBOXES]: Add boolean "filling" arguments - to calls of plot_boxes(). Add code to handle "filledboxes". - (plot_boxes) [USE_ULIG_FILLEDBOXES]: New argument tells if boxes - are meant to be filled or not. Implement filling by calling - term->boxfill(). - (plot_boxes) [USE_ULIG_RELATIVE_BOXWIDTH]: Optionally modify - boxwidth gnuplot would usually have chosen by the factor specifyed - by "set boxwidth <factor> relative". - - * src/graph3d.c (do_3dplot) [USE_ULIG_FILLEDBOXES]: Add entries - for handling "filledboxes" the same as "boxes", i.e. map them over - to "impulses". - (xtick_callback, ytick_callback, ztick_callback): Added vertical - adjustment argument to call of clip_put_text_just. - - * src/gplt_x11.c [USE_ULIG_FILLEDBOXES] (stipple_halftone_width, - stipple_halftone_height, stipple_halftone_num, - stipple_halftone_bits, stipple_pattern_width, - stipple_pattern_height, stipple_pattern_num, stipple_pattern_bits, - stipple_halftone, stipple_pattern, stipple_initialized): New - file-scope macros and variables. - (delete_plot): Delete pattern filling pixmaps. - (exec_cmd): Extend implementation of 'F'illbox command in gnuplot - command stream. - (display): Initialize pattern filling pixmaps. - (process_event): Release pixmaps on ConfigureNotify X11 event. - - * src/gp_types.h [USE_ULIG_FILLEDBOXES] (enum PLOT_STYLE): Added - label for new plotstyle. - - * src/gadgets.c (fillstyle, filldensity, fillpattern) - [USE_ULIG_FILLEDBOXES]: New global status variables controlling - how boxes are to be filled. - (clip_put_text_just): Added argument to specify vertical - adjustment. Use it to call write_multiline(). - - * src/gadgets.h (clip_put_text_just): Prototype adjusted. - (fillstyle, filldensity, fillpattern) [USE_ULIG_FILLEDBOXES]: - External declarations added. - - * src/color.c (cbtick_callback): Add argument JUST_TOP or - JUST_CENTRE to calls of clip_put_text_just. - - * src/bitmap.c (b_setpixel, b_setmaskpixel) - [USE_ULIG_FILLEDBOXES]: Flagged these GP_INLINE for better - optimization prospects. - (fill_bitmap_width, fill_bitmap_height, fill_halftone_num, - fill_halftone_bitmaps, fill_pattern_num, fill_pattern_bitmaps): - New file-global macros and variables to hold filling patterns. - (b_boxfill) [USE_ULIG_FILLEDBOXES]: New function. Was missing from - bitmap module, before. Does all the actual work for filled boxes. - - * src/bitmap.h (b_boxfill): Prototype added. - - * docs/gnuplot.doc: Document new options: "plot ... with - filledboxes", "set style filling", "set boxwidth <width> - {{relative|absolute}}" - - * configure.in: Added --enable handlers for the new optional - extensions. - -2001-08-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/png.trm (PNG_text): Corrected size parameters of two - memset() calls. Simplified from png_write_rows() for 1 row to the - simpler png_write_row() call. Removed old code that had long since - been #if'ed out in favour of calling b_getpixel(). - -2001-08-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util3d.c (draw3d_point) [PM3D] : Implement "linetype palette" - option for pointsymbols by calling set_color() if the use_palette - flag is set. - - * src/graph3d.c (cntr3d_impulses, cntr3d_lines, - cntr3d_linespoints, cntr3d_points) [PM3D]: Ensure that points on - base contours have the actual contour z value for the real_z - element of struct vertex. This is needed to make contour lines - have the right colours in "linetype palette" mode. - -2001-08-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/stdfn.c: Move gp_stricmp and gp_strnicmp prototypes from - here to src/stdfn.h where they belong. - (gp_strnicmp): Made third argument type size_t, to more closely - mimic the XPG4 Unix standard function strncasecmp() it will - replace. - -2001-08-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.c (list_terms): Sort terminals by name before - displaying. Code by Ulrich Gruenebaum, modified and cleaned up by - me - (termcomp): New function. Comparison function for qsort() to be - used by list_terms. - -2001-08-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Some bits extracted from a patchset by Ulrich Gruenebaum - <grueneba@zkom.de>: - - * src/stdfn.c (gp_stricmp): Corrected sign of return value, to - match that of predefined library function stricmp() which it tries - to mimic. I changed arguments to 'const', and internal variabales - to unsigned char to avoid char signedness and constness problems. - (gp_strnicmp): Dito. - - * docs/gnuplot.doc: Fixed minor typo in "help set" text. - -2001-08-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_label): Don't reduce pointstyle number modulo - POINT_TYPES --- the terminal drivers know how to deal with that, - already, and POINT_TYPES is incorrect for many terminals. Removed - long-commented-out checks, while at it, and fixed indentation. - - * doc/gnuplot.doc: Lots of typos fixed. Reported by Shigeharu - Takeno <shige@iee.niit.ac.jp>. - -2001-08-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - A new 'smooth' method, implemented by Todd Lewis - <utoddl@email.unc.edu>. This is a modified version of Patch - #438326 from SourceForge. - - * src/gp_types.h (enum PLOT_SMOOTH): New label SMOOTH_FREQUENCY. - - * src/tables.c (plot_smooth_tbl): Added parse table entry for - smooth option 'f$requency'. - - * src/plot2d.c (plot_smooth_names): Added entry for "Frequency". - (eval_plots): Added handling for case SMOOTH_FREQUENCY. - - * src/interpol.c (do_freq): New function to implement 'smooth - frequency'. Takes care of extending the axis ranges, if - autoscalilng. - (gen_interp_frequency): New function, replaces gen_interp() for - this particular smoothing method. - (cp_implode): Avoid division by number of imploded input - datapoints, so we get counts or sums instead of averages. - - * docs/gnuplot.doc: Document new 'smooth frequency' option. - - * demo/steps.dem: Added demonstration plot to show typical use of - 'smooth frequency' to collect a histogram from unsorted data. - -2001-08-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_arrow): Avoid overwriting linetype or - {nohead|head|heads} status of an existing arrow if it's redefined - without repeating this part of the spec. - - * src/axis.c (grid_selection): Global variable removed. - (axis_output_tics): Removed grid bit pattern argument; don't pass - it on to gen_tics(). - (gen_tics): Removed grid bit pattern argument. Use new axis struct - fields to set up grid drawing information for callback functions. - (some_grid_selected): New function. Needed to replace cases where - all grid bits were tested simultaneously by comparing - 'grid_selection == GRID_OFF'. - - * src/axis.h (struct axis): Two new fields 'gridmajor' and - 'gridminor' to replace `grid_selection'. - - * src/color.c (draw_color_smooth_box): Removed grid bits from - argument list of gen_tics() call. - - * src/graph3d.c (do_3dplot): Check axis fields instead of global - variable. - (draw_3d_graphbox): Remove grid bit patterns from calls to - gen_tics(). - - * src/graphics.c (boundary): Removed dummy zero argument in calls - to gen_tics(). - (do_plot): Removed GRID_* arguments from calls to - axis_output_tics(). - - * src/mouse.c (builtin_toggle_grid): Call some_grid_selected() to - decide about toggling off or on. - - * src/save.c (save_set_all): Reimplemented saving of 'set grid' - specifications to use new axis fields. - - * src/set.c (set_grid): Dito, for 'set grid'. - - * src/show.c (show_grid): Dito, for 'show grid'. And fixed display - of polar grid angular distance. - - * src/unset.c (unset_grid): Dito, for 'unset grid' - -2001-08-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/tables.c (command_ftbl, plot_tbl, plot_axes_tbl, - plot_smooth_tbl, save_tbl, set_tbl, set_hidden3d_tbl, set_key_tbl, - show_style_tbl, plotstyle_tbl, ): All turned 'const'ant. - (lookup_table): Argument tbl flagged 'const'ant. - (lookup_ftable): Argument ftbl flagged 'const'ant. - - * src/axis.c (axis_defaults, axisname_tbl): Turned 'const'ant. - - * src/bitmap.c (fnt5x9, fnt9x17, fnt13x25): Turned 'const'ant. - - * src/bitmap.h (typedef char_box): Added 'const' qualifier to - match fnt* arrays. - - * src/eval.c (ft): Turned 'const'ant. - - * src/getcolor.c (ps_math_color_formulae): Turned 'const'ant - -2001-08-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (copy_or_invent_formatstring): Renamed from - timetic_format(), two arguments removed. Does more than before, - now. Returns pointer to the string it creates, so mouse.c doesn't - need access to axis.c internal variable ticfmt[]. - -2001-08-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Document the change to the cubic spline - sampling range. - - * src/interpol.c (do_cubic): Sample the generated cubic spline - only across the current xrange, instead of the whole range of - input datapoints. - (cp_approx_spline, cp_tridiag): Changed calls to int_error() to - report the position by the token saved in struct curve_points. - - * term/emf.trm (EMF_STOCK_OBJECT_FLAG): To avoid possible - signed-ness issue if a K&R C compiler is used, construct 32-bit - numbers with bit 31 set by shifting, not as a manifest constant. - - * term/tek.trm (CT_draw_vpoint, CT_lines): dito. - - * src/term.c (null_linewidth, set_font_null, PUTTEXT_null, - LINETYPE_null, MOVE_null, null_scale): Added void-casts to avoid - warnings about unused parameters. - - * src/plot.c (inter): Dito. - - * src/graph3d.c (xtick_callback, ytick_callback, ztick_callback): - Dito. - - * src/gpexecute.c (pipe_died_handler): Dito. - - * src/fit.c (ctrlc_handle): Dito. - - * src/datafile.c (df_2dbinary): Dito. - - * src/binary.c (free_vector): Removed unused argument nh. - (extend_vector, retract_vector): Removed unused argument old_nh. - (free_matrix): Removed unused argument nch. - (free_convert_matrix): Removed unused arguments nrh, ncl and nch. - (all over the place): Fixed up calls to these functions. - - * src/contour.c (put_contour_cubic): Use arguments xx_min and - yy_min, not file-scope variables x_min and y_min. - (put_contour_bspline): Removed unused arguments z_level, xx_min, - xx_max, yy_min and yy_max. - (put_contour): Removed arguments in calls to put_contour_cubic and - put_contour_bspline. Removed now unused argument z_level. - (gen_contours): Removed argument z_level from call to put_contour. - - * src/binary.h, src/contour.h: Updated prototypes of modified - functions. - -2001-07-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Release 3.8g snapshot - -2001-07-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/version.c: Version 3.8g, update date and copyright. - - * configure.in: Streamlining, implement changes required by updated - GP_PATH_LIB macro. - - * m4/path-lib.m4: Do not automatically add found libraries to LIBS. - Instead, define a new variable gp_LIBRARY_libs that can be used in - configure.in. - -2001-07-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/eval.c, src/internal.c, src/standard.c, src/specfun.c, - src/parse.c: Large-scale renovation of the whole eval/parse stuff. - Avoid (unsafe!) casting function pointers. Moved lots of code from - one module to another to improve coherency of modules. - - * src/README: Describe the details of the above change, which - really are too long for a ChangeLog entry. - - * src/*.[ch]: Don't #include "interpol.h", but rather "eval.h", - which is now the central interface header of all the eval/parse - stuff. - - * src/gp_types.h: Removed #ifdef'ed-out type definitions that had - long since been moved to eval.h and command.h - - * src/parse.c (convert): Function moved here, from util.c, and - turned 'static'. - (factor): Make HP-UX bug workaround code the only version --- it - already was functionally identical to the generic one, anyway. - - * src/util.c (convert): Deleted. - * src/util.h (convert): Prototype removed. - -2001-07-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.c (DragFunc): Changed argument of first - DragQueryFile() call from 0xffff to (UINT)-1, to work on Win32, - and Win16. - -2001-07-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/interpol.c (cp_implode): Typo fixed. Would set 'x' when it - was trying to un-log a 'y' value. - (cp_approx_spline, gen_interp, cp_tridiag, solve_five_diag): - Removed casts when assigning pointers coming from gp_alloc. - Re-grouped for() loops a bit. - -2001-07-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (xtick2d_callback, ytick2d_callback): Cast arg - "axis" to void, once, to avoid warning about unused parameter. - (widest2d_callback): Use same trick for arguments axis, place and - grid, which are irrelevant to this function. - - * src/color.c (cbtick_callback): Mark parameter "axis" as - intentionally unused, by cast to void. - - * src/syscfg.h (SORTFUNC_ARGS): If not #define'd, define it to be - "const generic *". - (sortfunc): Removed, as it's no longer used. - - * src/interpol.c (compare_points): Changed arguments to type - SORTFUNC_ARGS. Made non-static to avoid bug in HP-UX gcc when - passing pointers to static functions. - (sort_points): Removed unneeded, potentially dangerous casts from - qsort() call. - - * src/hidden3d.c (compare_polys_by_zmax, compare_edges_by_zmin): - Changed arguments to type SORTFUNC_ARGS. Made non-static, too. - - * src/help.c (keycomp): Changed arguments to type SORTFUNC_ARGS. - Made non-static, too. - (sortkeys): Removed unneeded, potentially dangerous casts from - qsort() call. - - * src/graphics.c (histeps_compare): Changed arguments to - SORTFUNC_ARGS type. - - * src/plot2d.c (eval_plots): Simplified parsing/handling of smooth - options. - -2001-07-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (xyerrorbars): Replaced commas by colons, in - the example. - -2001-07-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot.c (get_user_env): Warn only if in interactive mode. - Some uses of batch mode may not have a $HOME defined. Windows - shows this as a spurious warning, too. Thanks to Ethan Merritt - for this patch. - -2001-07-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/tpic.trm (tpic_abspath): Fix by Shigeharu Takeno - <shige@iee.niit.ac.jp>. Write simple \special command directly, - instead of using the \put{} method to move the coordinate - system. - -2001-07-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/ChangeLog, lisp/gnuplot-gui.el, lisp/gnuplot.el, - lisp/gpelcard.tex: Upgrade to gnuplot-mode version 0.5q. - -2001-07-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (t_autoscale): Two new enum names to flag a - range that's not to be auto-extended. Old definitions slightly - changed. - - * src/axis.c (setup_tics): Check new flags to optionally avoid - auto-extending axes to endpoints at integer ticstep multiples. - - * src/set.c (PROCESS_AUTO_LETTER): Added new options - "{axis}fixmin" and "{axis}fixmax" to "set autoscale". - - * src/show.c (SHOW_AUTOSCALE): Show new autoscale options. - (show_range): Report status in "show {axis}range" command, too. - - * src/save.c (save_range): Save status to file as a "set autoscale - {axis}fix{min|max}" command following the "set {axis}range ...". - - * docs/gnuplot.doc: Document these changes. - -2001-07-01 James R. Van Zandt <jrv@vanzandt.mv.com> - - * src/axis.c (gen_tics): Default to either one or four minitics - (i.e. two or five intervals) per large tic. - - * docs/gnuplot.doc: Document the above - -2001-06-30 James R. Van Zandt <jrv@vanzandt.mv.com> - - * docs/gnuplot.doc: Introduced "latitude" and "longitude" - terminology into description of spherical coordinate system. - The CGM terminal supports PM3D. - - * demo/surface1.dem: In first sinc function plot, move label and - arrow so it does not interfere with Z axis. Add two sample "fence" - plots using different methods. In data grid plotting with - "using", correct X and Y axis labels. Add sample splot of part of - a data file (i.e. using "every") and hidden3d. Repeat with pm3d. - Change title from "spherical transformation" to "spherical - coordinates". Add title for Mandelbrot plot. - -2001-06-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c (xtick_callback, ytick_callback, ztick_callback) - [PM3D]: Fill in field `real_z' of all ticmark endpoints. - - * src/hidden3d.c (split_line_at_ratio) [PM3D]: Fill in field - `real_z', too. - -2001-06-28 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/x11.trm: More verbose error message if X11 driver - can't be started - -2001-06-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (histeps_current_plot, histeps_compare): New - file-scope variable and comparison function, used in applying - qsort() to sorting the datapoints in "histeps" mode. - (plot_histeps): Use qsort() instead of homegrown bubblesort - implementation to sort datapoints by x. Removed now-unused locals - 'bigi' and 'hold'. - (plot_histeps): Don't blindly assume 0.0 is the baseline y - position for the histogram. For logarithmic y axis, it isn't. - Set up new local 'y_null' to hold the correct position. - -2001-06-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wtext.c: Hotkeys Ctrl-Insert and Shift-Insert for - clipboard access. - -2001-06-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/misc.c (lp_parse): Changed two arguments' type from int to - the more proper TBOOLEAN. Restructured handling of point symbol - modifiers to give more helpful error message than just 'undefined - variable: pointtype'. - - * src/misc.h (lp_parse): Updated prototype. - - * src/plot2d.c (eval_plots): Bugfix from removing magic - numbers. Was testing whether the plot contained lines, not points, - as it called lp_parse(). - -2001-06-22 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Remove backslahes from "\/". - -2001-06-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (gprintf): Added code to make use of new features of - mant_exp() introduced Jan 21st this year, for %l and %L formats. - Helps to avoid problems where people use %L even though the - logbase is 10. - (setup_tics): Corrected determination of 'fixmin' and 'fixmax'. - (axis_checked_extend_empty_range): Removed a few more magic - numbers. - (load_range): Dito. Also changed return type and argument from - TBOOLEAN to new type t_autoscale. - - * src/axis.h (load_range): Updated prototype. - -2001-06-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/x11.trm (X11_waitforinput): Call getc() instead of read(), - to avoid problems with buffering of stdio streams. - - * src/command.c (fgets_ipc): Fix EOF checking error. Replaced - pointer arithmetics by array indexing. Made this function active - regardless of USE_MOUSE status, moving the #ifdef inside it. - (read_line): Simplification: just call fgets_ipc, no matter what - USE_MOUSE is. Let that function decide whether mouse support stuff - is needed. - - * src/gadgets.c (clip_point): Cast coordinates to int in - comparison to the boundaries, since those are signed too, and they - might actually be negative, sometimes. Fixes wrong clipping for - negative 'set offset' parameters. - - * src/gp_types.h: Parenthesize bitmasks in plot style enum values, - to quench a compiler warning. - -2001-06-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c: remove duplicated show for historysize. - -2001-06-16 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c: implemented show for historysize, multiplot and - termoptions. - -2001-06-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - I went on a little crusade against magic numbers in the source - code: - - * src/axis.h (t_autoscale): Define and use new enum type for the - two-bit fields autoscale and set_autoscale in struct axis. This - affects tons of other places using these variables, too, so I - won't list them individually, here. - - * src/gp_types.h (PLOT_STYLE_FLAGS): New enum to name flags stored - as part of the plot style numbers in enum PLOT_STYLE. Use these - names instead of magic numbers. - - * src/plot2d.c (t_uses_asis): New enum to define names for the two - bits stored per axis uses_axis[]. - (eval_plots): Use the new mnemonics instead of magic numbers. - - * src/interpol.c (STORE_AND_FIXUP_RANGE): Macro arguments renamed - to lowercase, properly guarded by parentheses inside the - body. Body reindented for readability. - -2001-06-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/tgif.trm: Changed type of TGIF_colurs to array of plain - char, from unsigned char. - -2001-06-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt (WINOBJS): Add gpexecute.obj to the list. - -2001-05-31 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pslatex.trm (PSLATEX_graphics): Use PSLATEX_{X|Y}MAX - instead of PS_{X|Y}MAX to calculate the bounding box parameters of - the dvips \special command. Was wrong by a factor of two, before. - -2001-05-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (SHOW_FORMAT): Argument renamed to `_axis', to avoid - possible K&R preprocessor substitution inside string constant. - (show_command) Plugged some parse errors from 'set' options that - don't have a 'show' equivalent, yet. 'historysize', 'multiplot' - and 'termoptions' are rejected as invalid. 'show data style' is - mapped to 'show style data', and #ifdef'ed BACKWARDS_COMPATIBLE. - 'show [lrbt]margin' made equivalent to 'show margin'. 'show - mcbtics' was simply forgotten during the colorbox axis-ification, - it seems. - - * src/axis.c (axis_checked_extend_empty_range): For axis with one - fixed and one autoscaled endpoint, widen only the autoscaled one. - -2001-05-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/mouse.c (MousePosToGraphPosReal): Fix for Sourceforge - bug #426199: check to avoid division by zero in special cases of - 'set view'. - -2001-05-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Inaccuracy regarding yerrorbars fixed --- it's - really more like `points', not like `dots', i.e. the central point - is drawn with a normal point symbol. - -2001-05-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt: add "mouse" and "gpexecute" to the linker - response file, too, and add #define options for USE_MOUSE and - WIN_IPC. Thanks to Theo Hopman for noticing these. - -2001-04-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot3d.c (splines_kernel): Prototype moved up to where the - other internal prototypes are. - (Swap): Macro no longer used, thus removed. - (lu_decomp, lu_backsubst): Prototypes and implementations moved - out of here. - (grid_nongrid_data): Take care of possibly UNDEFINED input - datapoints. - (grid_nongrid_data) [THIN_PLATE_SPLINES_GRID]: Count number of - points that are not UNDEFINED, while storing them. - (grid_nongrid_data) [BUGGY_DGRID_RANGING]: Removed all #if's - depending on this macro. This was old, now long unused code. - (grid_nongrid_data): Don't apply logscaling to x and y --- - get_3ddata() did that. - (get_3ddata): If dgrid3d mode is active, don't logscale the z - value, yet. Will be done by dgrid3d on averaged values, instead. - - * src/matrix.h: Removed all that ruffle about EXT and MATRIX_MAIN. - (lu_decomp, lu_backsubst): Prototypes added. - - * src/matrix.c: Include "util.h" for NO_CARET. - (WINZIG): Comment out -- unused. - (lu_decomp, lu_backsubst): Moved here, from plot3d.c, and made - globally visible. - -2001-04-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Enable mouse and pm3d by default. - -2001-04-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/win.trm (WIN_POINT_TYPES): Raised number: now 15 different - types of point symbols, in Windows. - (WIN_point): Treat all point type numbers below -1 like -1. Fixes - bug reported by Petr Mikulik. - - * src/win/wgnuplib.h (WGNUPLOTVERSION): Bumped up version number - because of changes in PM3D and point symbols. - (W_ftriangle, W_fpentagon, W_pentagon): Opcodes for new point - symbol types. - (W_itriangle): Opcode number change, necessary to keep all filled - symbols consequtive. - - * src/win/wgraph.c (drawgraph): Removed one superfluous level of - nested switch()ing. Re-indented. Handle new point symbol types. - -2001-04-11 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: compile also pgnuplot.c. - -2001-04-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (gen_tics): Re-do yesterday's fix in a different - way. First try was buggy. - -2001-04-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (gen_tics): Additional numerical safeguard to prevent - endless loop. Axis ranges of a relative length below about DBL_EPS - wouldn't terminate because end+step = end, in limited precison. - -2001-04-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pdf.trm (PDF_vector, PDF_move): Don't try to avoid moving - or drawing to the same positions as the 'last' one if the previous - terminal API call wasn't move/vector --- as judged by the - open/close status of the PDF "path". This fixes the PDFlib - exception in electron.dem. - (TERM_TABLE_START): Correct terminal one-line description. - -2001-04-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm (PS_set_font): Move PS_RememberFont() call above - the fprintf() for the "setfont" output. Needed to properly - reencode fonts other than the one selected in "set term - postscript" line. Thanks to Thomas Henlich for finding this. - -2001-04-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term_api.h (L_TYPE_NODRAW): New macro to remove magic number - '-3' that signalled: "do not draw this line at all". - - * src/axis.c (gen_tics): Use new macro. Fix 'set grid lt -1' bug - as a byproduct. - (axis_draw_2d_zeroaxis): Use new macro. - - * src/color.c (cbtick_callback): Use new macro and fix bug using - lt -1. - - * src/graph3d.c (do_3dplot, draw_3d_graphbox): Use new macro. - (xtick_callback, ytick_callback, ztick_callback): Use it and fix - grid lt -1 bug. - - * src/graphics.c (do_plot): Use new macro. - (xtick2d_callback, ytick2d_callback): Use it and fix grid lt -1 - bug. - - * src/set.c (set_key): Use new macro. - - * src/show.c (show_key, show_zeroaxis): Use new macro. - -2001-04-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Remove AC_REVISION to avoid unnecessary cvs updates. - - * lisp/Makefile.in: Let install target depend on generated .elc files. - -2001-03-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_range): Bugfix in parsing 'set xrange restore'. - -2001-03-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/save.c: save color axis properties. - - * docs/gnuplot.doc: link 'set term push/pop' from 'help save'. - -2001-03-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: changed default colour box position and size; - use logscale for cb-axis according to z-axis. - - * docs/gnuplot.doc: list all mouseable terminals. - -2001-03-18 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc pm3d/demo/Demo.gp src/axis.c src/axis.h - src/color.c src/command.c src/graph3d.c src/plot3d.c src/pm3d.c - src/pm3d.h src/save.c src/set.c src/show.c src/tables.c src/tables.h - src/unset.c: colour box axis for pm3d. - Removed command: set pm3d zrange. - New commands: set/unset/show of cbrange, [m]cbtics, format cb, - grid [m]cb, cblabel, cbdata, [no]cbdtics, [no]cbmtics. - -2001-03-12 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: do not support pipes on Windows by default - as it causes some problems (requires attached dos window - makes - problems to pgnuplot or when started as gui-only). - -2001-03-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/parse.c (xterms, aterms, bterms): Avoid storing pointers - into the dynamical array at->actions[]. They break if the action - table has to be reallocated. This caused a really strange endless - loop bug for a very complicated function using 8 nested levels of - conditional operators plus lots of function calls. - -2001-03-09 Petr Mikulik <mikulik@physics.muni.cz> - - * term/win.trm src/win/wgnuplib.h src/win/wgraph.c: bugfix for windows - terminal crash on NT if there were too many colour polygons. - -2001-03-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/Makefile.am.in, demo/Makefile.am.in, tutorial/Makefile.am.in: - $< is not portable. Use Makefile.am.in explicitly. - -2001-03-07 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepag.tex: autodetect pdf output - use package hyperref. - - * config/makefile.mgw: new targets: all, gnuplot.ps, gnuplot.tex. - - * config/makefile.mgw config/term.c: support for pipes under Windows. - -2001-03-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (get_data): Automatically revert to 'with points' - from candlesticks or financebars if input has only 1 or 2 columns. - Output a warning to the user about this. Fixed wording of the - error message in 3-column case. - -2001-03-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.h [HAVE_LIBPDF]: Include new PDF terminal driver. - -2001-03-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pdf.trm: New terminal driver for Adobe PDF (Portable - Document Format) files. - - * configure.in: Added detection code for PDFLib library, needed - to compile term/pdf.trm. - -2001-02-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term_api.h (DEFAULT_LP_STYLE_TYPE): New macro, to help - initializing lp_style_type struct variables directly. - - * src/gadgets.c (DEFAULT_BORDER_LP): New macro to hold the default - lp_style_type for the graph border. - (default_border_lp): New global constant variable. Used to - re-initialize the border linetype by struct assignment. - - * src/gadgets.h: Declaration for default_border_lp added. - - * src/unset.c (reset_command): Assign border_lp from - default_border_lp instead of calling set_lp_properties(). - - * src/set.c (set_arrow, set_linestyle): Initialize local variable - from new macro DEFAULT_LP_STYLE_TYPE instead of calling - reset_lp_properties(). - (set_border): Assign border_lp from default_border_lp instead of - calling set_lp_properties(). - (reset_lp_properties, set_lp_properties): Functions no longer - used. Removed them. - - * src/setshow.h (set_lp_properties): Removed prototype. - -2001-02-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (EMF_text, EMF_reset): Reset emf_graphics flag to - FALSE to fix bug reported by J.Bollinger. - - * term/emf.trm (EMF_STOCK_OBJECT_FLAG, - EMF_STOCK_OBJECT_WHITE_BRUSH, EMF_STOCK_OBJECT_BLACK_PEN, - EMF_STOCK_OBJECT_DEFAULT_FONT): New mnemonic macros to replace - magic numbers. - (EMF_setfont, EMF_text, EMF_dashtype): Use them. - - * src/win/wgraph.c (LoadCursors): Use default cursor IDC_CROSS - instead of home-grown ptrcross.cur. - (CopyPrint): Codestyle: indented and commented #if/#else/#endif - lines. - - * src/win/ptrcross.cur: File removed. - - * src/win/wgnuplib.rc: Reference to ptrcross.cur deleted. - - * src/win/wresourc.h (IDC_SCALING): Removed #define for - IDC_CROSSHAIR - - * src/win/scaling.cur, src/win/rotating.cur: Binary files replaced - by new, much nicer versions. - - * src/set.c (set_terminal): Codestyle: call gp_strdup() instead of - strdup(). - - * src/readline.h: The readline_ipc() prototype is now here, since - the functions is in readline.c, too. - - * src/ipc.h: Moved readline_ipc() prototype away from here. - - * src/command.c (com_line): Codestyle: #if's indented and - commented. - -2001-02-27 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: added a configuration section for easier setup - of compilation options. - -2001-02-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/syscfg.h: Removed section defining VERYLARGE. - - * src/stdfn.h: Moved blurb to define VERYLARGE macro from syscfg.h - to here. It needs <float.h> to have been included before it can do - its own part. Fixes endless loop bug in timefmt axes with a "set - xtics <incr>" type of tic placement lacking fixed endpoints. - -2001-02-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wgraph.c: call GE_plotdone when graph drawn (otherwise - rotate-and-scale-by-mouse was not working); fixed set cursor - positioning typo ('set mouse zoomjump'). - -2001-02-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (ruler, zoombox): Gave anonymous structs a - name. - (zoombox): Added string pointers for texts to be shown at corners - of the rubberband rectangle while zooming. - (everywhere): Lots of prototypes for static functions - added. Flagged all internal functions as 'static'. Comments added - and cleaned up. Stylistic changes. - (GWOPMAX): Moved here, from wgnuplot.h; only used inside this - module. - (GraphOp, Graph_put_tmptext, Graph_set_clipboard): Turned string - argument into to LPCSTR, i.e. pointers to const char, in Windows - parlance. - (GraphEnd) [USE_MOUSE]: Don't call DrawRuler from here. - (MakePens): Removed code no longer needed since the PM3D stuff - forced dynamic pen creation. - (Wnd_GetTextSize): New function. Isolated fragment from - MakeFont(), for re-use by mouseing functions. - (MakeFonts): Call new Wnd_GetTextSize(). - (MakeFonts): Use TRUE and FALSE instead of 1 and 0 to asssing - states of lpgw->rotate. - (DestroyCursors): Replaced missing implementation by single - 'return;' statement: the function has nothing to do, as it turns - out. - (drawgraph): If 'hdc' is a handle of a Metafile, GetDeviceCaps() - reports wrong results, leading to monochrome-only clipboard - contents. Assume colored output unless 'color' element in LPGW is - FALSE, for Metafiles. - (Wnd_exec_event): Compute difference of GetMessageTime() results - from one call to the next, so we should be able to tell - doubleclicks from single ones. Removed now-pointless parameter - 'par2'. - (WndGraphProc): Moved static variable last_modifier_mask up to - function scope. It has to be visible to from different message - handling cases. - (WndGraphProc) [USE_MOUSE + WM_KEYUP]: Handle key-up events of - modifier keys, too. - (WndGraphProc) [USE_MOUSE + WM_KEYDOWN]: <Shift> and <Ctrl> - checking repaired. I haven't tested <Alt> yet. - (WndGraphProc) [WM_COMMAND + USE_MOUSE]: Don't call DrawRuler() - from here. - (WndGraphProc) [WM_PAINT + USE_MOUSE]: Re-paint all mouse - decorations of the plotwindow here, directly after the call to - drawgraph() has overwritten window contents. - (Graph_put_tmptext): Implemented cases 1 and 2 of the 'where' - argument by strdup'ing the texts over into the zoombox struct. - Update by calling DrawZoombox() before and after that. - (Graph_set_clipboard): Implemented. - (Draw_XOR_Text): New function. Implements true XOR text output via - a temporary bitmap, and an XOR-ing BitBlt() operation. - (DisplayStatusLine): Replaced previous, half-cooked version by - call of Draw_XOR_Text(). Removed argument 'erase'. - (UpdateStatusLine) [ENABLE_STATUS_LINE_RESIZE]: Threw out all the - chunks of this #ifdef version. This should be implemented in the - gnuplot core, instead. - (DrawZoomBox): Added implementation of corner label strings for - the zoom box. Uses Draw_XOR_Text() twice for each two-line string. - Also found and implemented a way to draw the zoombox in dashed - lines --- actually: in 'linetype 0', which is normally used for - zeroaxes and gridlines. - - * src/win/wgnuplib.h (WGNUPLOTVERSION): Internal protocol version - number bumped by 0.1, with timestamp of yesterday, for all the - mouseing stuff and some other change I made while being at it. - (all over the place): Comments added and cleaned up. - (GWOPMAX): Moved out of here, over to wgraph.c. - (struct GW): Removed unused elements numsolid, hbpen, hpen[] and - hsolidpen[]. - (GraphOp, Graph_put_tmptext, Graph_set_clipboard): Prototype - updated. - - * src/gpexecute.c: Changed all PIPE_IPC || WIN_IPC conditionals - into PIPE_IPC, only. Windows doesn't actually use the stack of - mouse events implemented by these hungs. - (gp_exec_event) [WIN_IPC]: A big FIXME comment regarding - separation issues between wgnuplot.dll and wgnuplot.exe. - - * src/command.c (winsystem) [_Windows] : made local variable 'p' a - pointer to constant char. That's LPCSTR, in Windows jargon. - - * src/color.h (filled_polygon_3dcoords): GPHUGE attribute - specifier added to prototype - - * term/svg.trm (SVG_PathLimit): Prototype added. - -2001-02-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.h: Added #include <stdarg.h> needed to declare - va_list for prototypes. - - * src/win/wgraph.c: Bracketed all mouse-specific within #ifdef - USE_MOUSE, as they should be. Removed some remains of the old - 'numsolid' stuff. - (Wnd_exec_event): Pass message timestamp to gp_exec_event(), - replacing the fourth input parameter. - (WndGraphProc) [WM_MOUSEMOVE]: Rewrite and uncomment the Cursor - shape call. Also for the section used regardless of 'set mouse - off'. - (WndGraphProc) [WM_CHAR]: moved all the "special" keys into a new - WM_KEYDOWN case --- they don't generate WM_CHAR messages. - (WndGraphProc) [WM_KEYDOWN]: have all keys immediately call - Wnd_exec_event, so the default action can fall through to the - default handler. Handled some open ends introduced by Petr. - (WndGraphProc) [WM_KEYDOWN]: Moved the modifier key status check - to before the individual keys, and translated it from OS/2 to - Windows API. Code #ifdef'ed out for now, because it doesn't work, - yet. - - * src/win/ptrcross.cur, src/win/scaling.cur, src/win/rotating.cur: - New files. - - * src/win/wgnuplib.rc: Added definition of new cursor resources - for interactive mousing by reference to files. - - * src/mouse.c (event_buttonrelease): Fixed FPRINTF() debugging - call. - - * src/graphics.c (plot_vectors): Removed GPHUGE attribute. - - * src/dynarray.c (nextfrom_dynarray): Corrected position of GPHUGE - attribute of the returned type. - - * src/dynarray.h (nextfrom_dynarray): Prototype updated. - - * config/makefile.win (CFLAGS) [WIN32]: Added -DVFPRINTF, - -DWIN_IPC and -DUSE_MOUSE to the list of flags. - (CFLAGS, CAUXFLAGS) [!WIN32]: Added -DVFPRINTF. - (DLLOBJS): Added gpexecute.obj. - (wgnupl32.exe): Added gpexecute to list of input files. - (DLLCC): Added -DUSE_MOUSE and -DWIN_IPC - -2001-02-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (axis_position_zeroaxis): Fixed behaviour for - reversed axes if 0.0 is not inside the range. - - * src/graphics.c (histeps_vertical, histeps_horizontal): Added - code to handle clipping lines on reversed axes. Renamed parameters - 'xl' and 'yl' to 'cur_x' and 'cur_y', in order to avoid confusion - with 'x1' and 'y1'. - -2001-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (get_data): For BOXES plots, don't set z_axis of - the plot to x_axis. That element is only used for a marker, not - for an actual x value. - (store2d_point): If z_axis of current plot is unused (-1), simply - store 'width' argument as the z value, without any of the usual - processing by STORE_WITH_LOG_AND_UPDATE_RANGE. - (eval_plots): Catch plot styles that don't work for functions. - Prints a warning and reverts to 'with points' - - * src/plot3d.c (eval_3dplots): Catch plot styles that don't work - for functions. Prints a warning and reverts to 'with points' - - * src/set.c (set_command): In 'set function style' handler, check - that plot style is applicable to function plots. If it isn't, - issue an error message and keep previous value. - (set_style): dito, for 'set style function' handler. - -2001-02-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.h (MyVFPrintF): Fix typo: missing semicolon after - prototype. - -2001-02-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wgraph.c: two more calls to DrawRuler() to draw the ruler - after the graph window has been de-minimized or replotted by gnuplot - after 'replot' or 'plot ...'; added remapping of VK_ key codes to - gnuplot key codes GP_. - -2001-02-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.c (term_set_output): add code to work around an MSDOS - bug: 'set output' to the already open file causes file system - corruption. Solved by closing the file before opening it again. - -2001-02-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (ruler, zoombox): struct element 'on' made - TBOOLEAN. - (hptrDefault and friends): Uncommented Petr's suggestion, changed - type. - (GetMousePosViewport and friends): Internal prototypes updated. - (all over the place): Removed commented-out code blocks dealing - with the 'numsolid' and dynamic pen creation changes, for good. - (all over the place): changed // comments to /* ... */ - (LoadCursors): New function. Loads cursor images from the system - or the resource file so cursor can change shape as different mouse - operations take place. - (DestroyCursors): New function, not implemented yet. Unloads all - the cursors registered by LoadCursors, to free the resources. - (drawgraph): Removed mouse_hdc initialization. - (Wnd_exec_event): New function, may no longer be needed. A wrapper - around gp_exec_event that records mouse position before calling - it. - (Wnd_refresh_zoombox): New function, used to be a code block in - WndGraphProc(). - (WndGraphProc): Mouse position querying moved to helper functions - Wnd_exec_event and Wnd_refresh_zoombox --- only do the query if - the result is needed. Put an #ifdef USE_MOUSE around the code - added by Petr. - (WndGraphProc) [WM_CREATE]: call LoadCursors(). - (WndGraphProc) [WM_DESTORY]: call DestroyCursors(). - (Graph_set_cursor): Added LPGW parameter, implemented by - translating OS/2 sample code into Windows API calls. - (Graph_set_ruler): dito. - (Graph_put_tmptext): dito --- but implementation not complete, - yet. - (Graph_set_clipboard): Added LPGW parameter. Not implemented, yet. - (GetMousePosViewport): Added LPGW parameter. Removed Macros - WIN_XMAX and WIN_YMAX: query lpgw instead. Removed debugging - fprintf() to file. - (DisplayStatusLine): Added LPGW parameter. Implementation - rewritten almost from scratch, needing a new TBOOLEAN flag 'erase' - because of Windows API limitations. - (UpdateStatusLine): Added LPGW parameter. - (DrawRuler): Added LPGW parameter, turned OS/2 code outline into - Windows API implementation. - (DrawZoomBox): dito. - - * term/win.trm (WIN_put_tmptext): pass LPGW pointer to graphwin - struct as additional parameter. - (WIN_set_ruler): dito. - (WIN_set_cursor): dito. - (WIN_set_clipboard): dito. - - * src/win/wresourc.h (IDC_CROSSHAIR, IDC_SCALING, IDC_ROTATINT): - added resource identifier macros for mouse cursors. - - * src/win/wgnuplib.h: Updated prototypes of mouse functions. - -2001-02-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Several cleanups suggested by reading an MSVC compilation logfile: - - * term/win.trm: added prototype for WIN_filledbox, and spread - warning notices all over the places regarding integer size - mismatch between the unsigned ints passed into the terminal API - and the WORD parameter accepted by GraphOp(). - - * src/win/winmain.c (MyVFPrintF): add 'const' qualifier. - (MyFPrintF): dito. - (MyFPutS): dito. - - * src/win/wtext.h (MyFWrite): added 'const' qualifier. - (MyPrintF): dito. - (MyFPutS): dito. - (MyVFPrintF): prototype added. - (vfprintf): #define added, points to MyVFPrintF. - - * src/win/wgraph.c (GraphOp): added 'const' qualifier to 'str' argument. - - * src/win/wgnuplib.h: dito. - - * src/command.c (winsystem): add 'const' qualifier to argument. - -2001-02-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/fit.c (fit_command): Bugfix for 2D fits with a fixed yrange. - Local copying of range endpoints over to zrange was not done. - -2001-02-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wgraph.c src/win/wgnuplib.h term/win.trm: partial - implementation of mouse support for Windows. It should be finished - according to my notes in the source code and on stderr. - -2001-02-05 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw, src/gpexecute.h, gpexecute.c, mousecmn.h, - src/win/wgraph.c: WIN_IPC, an IPC for Windows. Hotkeys in the - windows terminal are now working. - -2001-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/*.c, term/*.trm: Fixed incorrect usage of <ctype.h> macros. - If you pass a char to any of those, you *have* to cast it to - (unsigned char). Not to (int), but really unsigned char. The only - exception would be ints holding the result of an fgetc() or - similar call, but those don't occur in gnuplot. - - * CodeStyle: added a paragraph describing this rule. - -2001-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_command): Fix incorrect c_token movement in 'set - xdata {time}'. - -2001-01-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_command): Fix broken 'show ticslevel' and 'show - ticscale' commands (from Pieter-Tjerk de Boer). - -2001-01-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - I had a look across all usages of [safe_]strncpy(), and patched - several: - - * src/fit.c (backup_file): Off-by-one error in use of safe_strncpy - fixed. - - * src/gplt_x11.c (ErrorHandler): cast 'display' argument to void - to silence a compiler warning. - - * src/command.c (replotrequest): Replace strncpy call by memcpy - iff the 'size' argument of strncpy was hand-tailored to the length - of the 'from' string. In that case, the result is exactly the - same as with memcpy, but strncpy is inherently slower. - - * src/fit.c (error_ex): dito. - (splitpath): dito. - (setvar): dito. - - * src/gplt_x11.c (record): dito. - - * src/plot.c (gp_expand_tilde): dito. - - * src/set.c (set_pm3d): dito. - - * src/fit.c (fit_interrupt): Replace sprintf() call with - user-specified string by safe_strncpy, to avoid format string - vulnerability. - -2001-01-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/contour.c (fuzzy_equal): Removed use of 'zero' as a fudge - term. Avoid division-by-zero in another way. This also removed the - need for the private ABS() macro in this source. Removed. - - * src/axis.c (mant_exp): Added code to change results like 10.0e0 - to the result got from sprintf: 1.0e1, for number very close, but - not equal to 10.0. Takes the mantissa format string as a new - argument, to decide how close 'very close' should be. - (mant_exp): Also try to avoid calls to the pow() function wherever - possible. - (mant_exp): Changed type of 'scientific' flag to TBOOLEAN. - (gprintf): Now stores exponent found as a byproduct when - mant_exp() is called for the mantissa, to avoid another call to - mant_exp() for the exponent alone, later. Shuffled some code - lines to build starting conditions for mat_exp() correctly. - CAVEAT: this only works well if the mantissa is output _before_ - the exponent, or the mantissa format has zero digits of precision. - (gprintf): Moved some repeated code out of the individual cases of - the main switch statement to behind it. - (gprintf): Avoids division of negative integers: the result would - be platform-dependant! - (gen_tics): Repaired numerically silly condition that would remove - all inner tics for axes shorter than DBL_EPSILON, i.e. about - 1e-16. - -2001-01-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (boundary): fix rounding errors in multiplot - placement by adding 0.5 to ytop, ybot, xleft and xright initial - values. - -2001-01-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * INSTALL [HP-UX 10.x]: change recommendations regarding GCC on - HP-UX 10.x and higher. - - * src/graph3d.c (xtick_callback, ytick_callback, ztick_callback): - remove 'static' attribute to avoid bug in HP-UX assembler. This - was the root of the long-standing compilation problems with GCC on - HP-UX 10 and higher. - - * src/graphics.c (widest2d_callback, xtick2d_callback): dito - (ytick2d_callback): dito. - -2001-01-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.h: add testing of THREEDKIT macro before activating - VGAGL terminal driver. - - * src/interpol.c (cp_approx_spline, cp_tridiag, do_cubic): - streamline checks for logscaling and AXIS_UNDO_LOG calls into - AXIS_DE_LOG_VALUE calls. - - * src/plot2d.c (eval_plots): dito. - - * src/axis.h (AXIS_INIT3D, AXIS_INIT2D, CHECK_REVERSE): new - macro-local variable 'this' for more readable coding. - (AXIS_INIT3D, AXIS_INIT2D): only calculate log_base element if - logscaling is active for that axis, to avoid SIGFPE. - - * src/axis.c (gen_tics): use AXIS_UNDO_LOG instead of explicit - coding. - (axis_output_tics): fix multiline x-axis label positioning. - -2001-01-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - New PNG feature from <Juergen.vonHagen@etec.uni-karlsruhe.de>: - - * term/png.trm (PNG_id, PNG_opts): new option 'picsize' added to - table. - (PNG_options): handle new case PNG_PICSIZE by resizing the - drawable area handled by the 'bitmap' module. - (PNG_options): add output of option picsize. - (PNG_graphics): use new variable output sizes instead of fixed - constants. - (PNG terminal docs): document new option 'picsize' - -2001-01-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wpause.c (PauseBox): Change window style of Pause window - to make it show up in the taskbar and have it pop up on top of all - others. - (PauseBox): Insert WaitMessage() call to reduce CPU load while - gnuplot waits for the user to click away the pause window. - - * term/win.trm (WIN_filledbox): New function, implements 'clear' - command for this terminal. Added entry to terminal API definition. - - * src/win/wgnuplib.h (W_filledbox): define new message number. - - * src/win/wgraph.c (drawgraph): handle new message W_filledbox to - draw blanked-out box. - -2001-01-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (apply_head_properties): make temps unsigned to - match arguments of map_position(). - - * term/svg.trm (SVG_point): add missing TERM_PUBLIC stamp to - definition. - -2001-01-03 Johannes Zellner <johannes@zellner.org> - - * term/post.trm: PS_make_palette() made it working with - negative palette values R/G/B. - -2000-12-26 Johannes Zellner <johannes@zellner.org> - - * term/ggi.trm,configure.in: pm3d for ggi using the - ggi xmi library. new configure switches: - --with-ggi - --with-xmi - -2000-12-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/datafile.c (df_tokenise): recover the original exponent - letter after addempting parse of FORTRAN-style numbers. Fixes bug - in parsing time/date input like "01Dec2000". - -2000-12-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Fix bugs reported by Theo Hopman: - - * src/set.c (set_logscale): "set logscale yz" bug fixed. - - * src/save.c (save_tics): xtics saveing fixed. - - * src/graph3d.c (do_3dplot): change incrementation of linetype for - contour lines. Fixes off-by-one bug between key sample and actual - line. - - * src/contour.c (calc_min_max): Don't logarithmize the ranges - another time. - -2000-12-20 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c: fixed one missing 'postscript_gpoutfile = 0;' after - a term->reset. - -2000-12-20 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pm.trm src/os2/gclient.c: support for filled boxes (added - PM_fillbox routine) --- it is used by the 'clear' command in multiplot - mode to clear the subfigure area. - -2000-12-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: small change to docs about EEPIC driver - behaviour. - -2000-12-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/eepic.trm: cleaned up some warnings and 'checkdoc' problems. - -2000-12-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/eepic.trm: Gabriel Zachmann <zach@igd.fhg.de> added lots of - new options to the 'eepic' driver, and fixed some bux while at it. - (EEPIC_PTS_PER_INCH): set to 72.27. - (EEPIC_DOTS_PER_INCH): set to 600, and renamed from DOTS_PER_INCH. - (eepic_color_on, eepic_true_rotate, fontsize_set): new variables. - (eepic_num_point_types, eepic_pointsize, EEPIC_points): split up - into three lists for different point sizes. - (eepic_numlines, EEPIC_lines): split up into three lists for - different 'line sets'. - (EEPIC_NUM_COLORS, eepic_color, eepic_colors): new variables, for - colored output feature. - (EEPIC_init): change initializers to new variables. - (EEPIC_graphics): change fontsize setting method. - (EEPIC_linetype): change linetype selection method; respect color. - (EEPIC_point): change point output method to respect pointsize. - (EEPIC_put_text): use real \rotatebox style rotation, if - available. - (EEPIC_options): new function. Handles all new options of the - eepic terminal. - help section: document new options. - -2000-12-18 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc src/set.c src/term.c src/term.h src/term_api.h: - new commands 'set term push', 'set term pop' (in order to achieve - platform independent restoring of the terminal after printing, for - instance) --- see 'help set term'. - - * src/gplt_x11.c: OS2_PIPE minor fixes. - -2000-12-12 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: minor changes for -noevents - - * term/x11.trm: some text about -noevents - -2000-12-15 Petr Mikulik <mikulik@physics.muni.cz> - - * README.exp: remove section about 'mouse is experimental'. - - * src/term.c: removed obsolete routine 'fill_gp4mouse'. - - * src/command.c: removed an OS/2 switch for readline vs. readline_ipc. - -2000-12-12 Johannes Zellner <johannes@zellner.org> - - * src/tables.c, src/show.c: corrected a bug so that - x2zeroaxis works again. - -2000-12-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/datafile.c (df_3dmatrix): implement missing 'index' option - for 'matrix'-type splot datafiles. 'index' increases for every - blank or comment-only line, as both terminate mesh reading in - df_read_matrix(). - - * docs/gnuplot.doc: document this. - -2000-12-08 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gif.trm: don't crash on pm3d in multiplot (reuse the previous - colour palette if no more colours are available). - -2000-12-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c term/post.trm docs/gnuplot.doc: support 'set palette - maxcolors <n>' also for postscript terminal (allow discrete filled - contour-like steps). - -2000-12-06 Johannes Zellner <johannes@zellner.org> - - * term/ggi.trm, configure.in: - prepared for using wmh if it's available. - -2000-12-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (boundary): move the setup_tics() calls of the x - axes above the code that applies 'set size ratio'. Otherwise, the - auto-extension of ranges can distort the aspect ratio. - -2000-12-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/win.trm: un-comment the mouse function dummy entries in the - terminal entry. - - * src/win/wgraph.c: include "getcolor.h". Fixes bug in Win32-pm3d - handling reported by Petr Mikulik. - - * src/win/wgnuplib.h (farmalloc): make this macro definition - active for Borland C++ compilers higher than a certain version. - - * src/hidden3d.c (split_line_at_ratio): changed vertex arguments - from pointer to array index avoid dangling pointers after realloc - of vlist array. - -2000-12-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/svg.trm: new driver. - * src/term.h: #include it. - -2000-12-05 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c: take care about undefined points in PM3D_SCANS_AUTOMATIC. - -2000-12-04 Johannes Zellner <johannes@zellner.org> - - * term/ggi.trm: copy the ggi options to term_options. - -2000-12-04 Johannes Zellner <johannes@zellner.org> - - * term/ggi.trm: implemented relative motion events for the ggi - terminal. so that mouse actions work also with the DGA target. - -2000-12-04 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc docs/psdoc/README docs/psdoc/ps_guide.ps - lisp/gnuplot-gui.el src/set.c src/term.c src/term_api.h term/post.trm: - a patch enabling the PostScript terminal to use CP-852 encoding. - -2000-11-30 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pm.trm src/os2/gclient.c docs/gnuplot.doc: change PM terminal - codepage according to 'set encoding', and use codepage 912 for - iso_8859_2' (new routine PM_set_codepage() in pm.trm). - -2000-11-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/syscfg.h: #define FAQ_LOCATION "http://www.gnuplot.org/faq". - -2000-11-29 Levente Novak <novak@jaguar.dote.hu> - - * docs/gnuplot.doc docs/gnuplot.texi docs/psdoc/README - docs/psdoc/ps_guide.ps lisp/gnuplot-gui.el src/set.c src/term.c - src/term_api.h term/post.trm: a patch enabling the PostScript - terminal to use ISO-8859-2 encoding. - -2000-11-27 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/readline.c: readline.c did not built with HAVE_LIBREADLINE. - So remove an #ifdef and - being here - make two symbols static. - -2000-11-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: New variables BUILT_SOURCES, CLEANFILES. Reorganise - clean target. - - * src/color.c, src/gadgets.c, src/getcolor.c, src/gpexecute.c, - src/gplt_x11.c, src/mouse.c, src/pm3d.c: Coding style. - -2000-11-24 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * docs/gnuplot.doc: Update FAQ location. Remove "'" characters from - headers to make gnuplot.texi 'TeXable' again. - -2000-11-24 Petr Mikulik <mikulik@physics.muni.cz> - - * configure.in config/makefile.os2 term/x11.trm src/gpexecute.h - src/ipc.h command.c gpexecute.c gplt_x11.c plot.c readline.c: - The patch introduces explicit #define directives for different types - of interprocess communication (gnupmdrv, gnuplot_x11 => gnuplot): - OS2_IPC ... the OS/2 shared memory + event semaphores approach, - PIPE_IPC ... communication by using bidirectional pipe. - In the current sources, there is a mixture of #ifdef USE_MOUSE, - #if[n]def OS2, or #if defined() && () ... This patch makes it clear - what code is for what kind of IPC, while #ifdef USE_MOUSE ... #endif - parts don't mix with IPC codes. Of course, USE_MOUSE requires either - IPC defined. - Now it should be easy to add any other IPC for whichever platform - with terminal independent from the main gnuplot executable which wants - to support mouse and hotkeys; or modify PIPE_IPC to work for it too. - For example, gnuplot + gnuplot_x11 compiles on OS/2 fine with PIPE_IPC - instead of OS2_IPC, just it does not work. - -2000-11-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Fix GNUPLOT_X11 for the case that no X11 support is - available. - - * demo/contours.dem, demo/fit.dem: Add missing closing quotes. - - * docs/Makefile.in: Add DESTDIR support. - - * docs/gnuplot.texi, src/Makefile.in, src/makefile.all, src/version.c: - Regenerated. - - * src/Makefile.maint: Re-enable version.c target. - - * src/getcolor.c: Include getcolor.h. - - * src/graphics.c(nearest_label_tag): Remove duplicate function. - - * src/graphics.c(apply_head_properties): Remove nested extern - declarations. - - * readline.c: Include ipc.h for readline_ipc() prototype. - - * src/term_api.h: Add exported variables curr_arrow_headlength and - curr_arrow_headangle. - - * src/unset.c: Remove nested extern decalartion of X11_unset_pm3d(). - - * term/cgm.trm: Remove nested extern decalartions. - -2000-11-23 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/pm3d.c: Fix incomplete struct pm3d initializer. - -2000-11-23 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/gplt_x11.c: fix some segmentation faults - -2000-11-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.h graph3d.c mouse.c pm3d.c save.c set.c show.c unset.c - docs/gnuplot.doc: - 1. changed variable 'pm3d_map_rotate_ylabel' to field 'pm3d.map'; - 2. implemented 'save' of 'pm3d', 'palette' and 'colorbox'. - -2000-11-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c: suppose 'set pm3d at s' if pm3d was not used until now - and 'set pm3d not-at-option' was used. - -2000-11-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (graph_error): don't call int_error(). Can't do that - from one variadic function to the other. - - * src/plot2d.c (get_data): fix bug in datafile plots 'with boxes'. - -2000-11-22 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/gplt_x11.c: fix two crashes (segmentation fault - and floating exception) - -2000-11-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.h, tables.h, set.c, show.c, tables.c, unset.c - docs/gnuplot.doc pm3d/demo/README pm3d/demo/Demo.gp: new - pm3d command "[set|unset|show] colorbox" (formerly this was - a part of the "palette" options). - -2000-11-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: don't zoom x2 and y2 axes when in 3D plot. - -2000-11-21 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: added a few ifdefs, so it compiles w/o mouse/pm3d. - -2000-11-20 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm,src/gplt_x11.c: `set palette maxcolors' for x11 - as requested by Petr. - -2000-11-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/mouse.c (MousePosToGraphPosReal): fix typo in treatment of - logarithmic y axis values. - -2000-11-20 Petr Mikulik <mikulik@physics.muni.cz> - - * src/: color.c pm3d.c term.c term_api.h - term/: epslatex.trm pslatex.trm post.trm - pm3d: added 'FILE *postscript_gpoutfile' which is set to - 'PSLATEX_auxfile' or 'gpoutfile' or '0' according to 'set term', - i.e. to the file where the postscript code goes to (if outputted). - Condition 'if (!postscript_gpoutfile)' can be used to distinguish - postscript terminals family (used in postscript optimized output - in pm3d). - - * src/pm3d.c: bugfix crash when plotting surface with 1 scan only. - - * src/mouse.c: disable changing 3D view and scale during 'set pm3d map'. - -2000-11-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (map_position_double): added back a missing 'break'. - -2000-11-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c (help_command): [_Windows] fixed off-by-one error - in help topic determination. - -2000-11-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.h src/getcolor.c src/color.c src/show.c term/post.trm: - pm3d --- move PostScriptColorFormulae from post.trm to getcolor.c and - rename them to ps_math_color_formulae. - - * src/getcolor.h: pm3d --- new file, declarations for getcolor.c. - - * term/epslatex.trm: pm3d --- removed pm3d code from epslatex.trm which - duplicated the code in post.trm, and call the particular ps.trm - functions instead. - -2000-11-14 Petr Mikulik <mikulik@physics.muni.cz> - - * make the branched version compile under OS/2. - -2000-11-12 James R. Van Zandt <jrv@vanzandt.mv.com> - - * term/README: describe pm3d and mouse API - - * term/cgm.trm: add pm3d support. - -2000-11-10 Gregor Thalhammer <Gregor.Thalhammer@uibk.ac.at> - - * term/epslatex.trm(EPSL_arrow): Arrows without heads are not drawn. - -2000-11-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gnuplot.opt: added new sourcefiles to the list. - - * config/makefile.nt: adapted to 3.8 source layout, pm3d enabled. - -2000-11-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c, src/pm3d.c: allow pm3d compile without pslatex. - -2000-11-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c (split_line_at_ratio): Changed parameters. - (draw_edge): Changed parameters. - (handle_edge_fragment): Changed parameters. Avoid checking same - polygon against the recursing edge again. Don't allocate fresh - edge. - (in_front): Changed parameters. Don't modify contents of 'edge' - passed in. Rather pass around vertex data separately. Revised some - of the tests to fix almost all currently known display bugs. - -2000-11-08 Johannes Zellner <johannes@zellner.org> - - * docs/gnuplot.doc, pm3d/README: included tgif as supported - -2000-11-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/specfun.c (f_lambertw): set 'undefined' to TRUE - if lambertw returns error condition. - - * src/specfun.c (lambertw): restructured a bit, removed fall-off - without a return value, avoided FP equality comparison. - -2000-11-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - From Gunter Kuhnle <gunter@tux.biow.uni-leipzig.de>: - - * src/specfun.c (f_lambertw): new function. - (lambertw): new function. - - * src/eval.c (ft): added entry for lambertw - - * docs/gnuplot.doc: document new function lambertw - -2000-11-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Check for png_init_io() instead of deprecated and - unused png_info_init(). - - * demo/Makefile.am.in: Use variables in place of "gnuplot" (GNUPLOT) - and "all.dem" (DEMO) to allow more fine-grained control over what is - run with "make check". Regenerate Makefile.am. - - * term/epslatex.trm: EPSL_PostScriptColorFormulae and - PostScriptColorFormulae from post.trm are the same. Remove the former - and reference the latter. - -2000-11-06 Ian MacPhedran <Ian_MacPhedran@engr.usask.ca> - - * term/tgif.trm: Add PM3D support. - -2000-11-06 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: Patch from Pieter-Tjerk de Boer to make - gnuplot_x11 recognizing if the main program died. - -2000-11-04 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: fixed /h definition for pm3d gray palette. - -2000-11-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/Makefile.dst, lisp/Makefile.in, lisp/gnuplot.el, - lisp/gpelcard.tex: Update to gnuplot-mode 0.5k (long overdue). - - * lisp/Makefile.in: Add gnuplot.el and gnuplot-gui.el to install - target, patch by Ralf Ahlbrink <ahlbrink@uos.de>. - - * lisp/Makefile.in: Add DESTDIR support. - - * src/Makefile.am: Add new README to EXTRA_DIST. - - * term/cgm.trm: Correct LaTex table width in term doc section, patch - by Ralf Ahlbrink <ahlbrink@uos.de>. - -2000-11-03 Bernardo A. Mello <bernardo@unb.br> - - * docs/psdoc/ps_symbols.gpi: Show not only the symbols, but also - the lines corresponding to each code. - -2000-11-03 Johannes Zellner <johannes@zellner.org> - - * src/gpexecute.inc: split into src/gpexecute.c - / src/gpexecute.h. Updated src/Makefile.am so that - gnuplot_x11 uses also gpexecute.o. Removed the - USE_NONBLOCKING_STDOUT definition, it wasn't configurable - anyway (it was always on) and it made the code unreadable. - !!! The os2 part is broken !!! - -2000-11-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/README: new file. Describes the changes to the sourcecode - organization made by the 'axis' branch. If you want to apply an - older patch, you'll need this. - -2000-11-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Test for gdImageGif() instead of gdImageCreate(). - Better diagnostics for missing gd and png library. - - * src/axis.c: Change RCS id tag to function. - - * src/gpexecute.inc(gpe_init,gpe_push): Use malloc() instead of - gp_alloc() to avoid linking with additional modules. - -2000-11-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/syscfg.h: repeated block of code moved to here. JMP_BUF: - new #define. Will be sigjmp_buf, if HAVE_SIGSETJMP - - * src/parse.c: #include syscfg.h instead of config.h - (fpe_env): make it type JMP_BUF - - * src/plot.c: #include syscfg.h, not config.h - (command_line_env): make it type JMP_BUF - (RexxInterface): make local variable keep_env type JMP_BUF - -2000-11-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (EMF_text): replace fgetpos() call by ftell() - -2000-11-03 Johannes Zellner <johannes@zellner.org> - - * src/graph3d.c: made `pm3d solid' working again. - -2000-11-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Remove --enable-emf and --enable-epslatex options. - - * src/color.c, src/color.h, src/getcolor.c, src/pm3d.c, src/pm3d.h: - Add RCS id tag, minor changes. - - * src/contour.c, src/contour.h, src/graph3d.h, src/plot3d.h: - Remove trailing commas in enums. - - * src/term.h: Include emf and epslatex driver unconditionally. - - * term/emf.trm: Remove C++ comment. - - * term/post.trm: Add missing backslashes in LaTeX part of terminal - documentation. - -2000-11-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/color.c (make_palette, filled_polygon) - (filled_polygon_3dcoords, filled_polygon_3dcoords_zfixed): - use gp_alloc(), not malloc() - * src/command.c (winsystem): dito. - * src/gpexecute.inc (gpe_front, gpe_push): dito. - * src/mouse.c (do_zoom): dito - * src/pm3d.c (pm3d_rearrange_part): dito. - - * src/color.h: __PROTO()'ize all the declarations. - - * src/color.c (filled_quadrangle): move #ifdef - EXTENDED_COLOR_SPECS to outside the function definition. - * src/color.h: dito. - - * src/graph3d.c: remove plot3d_dots prototype - - * src/hidden3d.h: remove map3d_xyz prototype - - * src/color.c: include util3d.h for map3d_xyz() - - * src/util3d.c: include pm3d.h for set_color() - -2000-11-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gadgets.c (draw_clip_line): fixed bug in argument ordering - of the clip_line() call. - -2000-11-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (EMF_write_byte): change argument to type - 'int'. Necessary if the function definitions are to be - K&R-compatible. - (EMF_write_short): dito. - (EMF_write_float): dito. - (EMF_write_long): Remove unneeded union. A char-array is enough to - guarantee correct output of binaries. - (EMF_write_float): dito. - (EMF_write_short): dito. - (EMF_set_font): add missing cast to unsigned char for <ctype.h> - function argument. - - * src/axis.h: Remove trailing commas in enums. - - * src/term_api.h: dito. - - * src/gadgets.h: dito. - - * src/mouse.c (MousePosToGraphPosReal): don't try to un-log values - for secondary axes in a 3D plot. - -2000-11-01 Johannes Zellner <johannes@zellner.org> - - a few changes after merging the axis branch - * src/mouse.[ch]: made event_plotdone() non-static - * src/show.c: included plot.h where gnuplot_history_file is declared - * src/pm3d.h: included graph3d.h where - struct surface_points is declared - * term/pslatex.trm: remove an unused variable - -2000-11-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Add new pm3d subdir to EXTRA_DIST. - - * PATCHLEVEL: Make it zero (0) instead of e as e is already in VERSION. - - * configure.in: Update version/patchlevel info. - - * missing: Update from current automake (again). - - * docs/gnuplot.texi: Regenerated. - - * src/Makefile.am: Remove obsolete file protos.h from gnuplot_SOURCES. - - * src/ansi2knr.c: Update from current automake. - -2000-11-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * merged the axis branch into MAIN - -2000-10-31 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: moved current_gc outside the #ifdef PM3D - block, so it is also defined, if compiling w/o PM3d support. - -2000-10-31 Johannes Zellner <johannes@zellner.org> - - * merged the pm3d branch to MAIN - * docs/gnuplot.doc: added GGI/win to the list of pm3d capable terminals - -2000-10-31 Johannes Zellner <johannes@zellner.org> - - * src/save.c: set linestyle --> set style line - -2000-10-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (gen_tics): pass NULL to callback for minitics, not "". - Fixes bug observed by J.R. van Zandt today. - - * src/graphics.c (widest2d_callback): do nothing if 'text' argument - was NULL. - -2000-10-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pstricks.trm (PSTRICKS_xscale): removed, as it was - essentially unused, anyway. - (PSTRICKS_yscale): dito. - (PSTRICKS_graphics): respect 'size' and 'offset' settings in - creating the bounding box of the graph. - - * term/eepic.trm (EEPIC_lines): Added a few more linetypes which - had been blissfully commented out. - (EEPIC_NUMLINES): raised to 10, accordingly. - (EEPIC_graphics): respect 'size' and 'offset' settings in creating - the bounding box of the graph. This overrides the patch of - 2000-10-24 filed in by Lars. - -2000-10-25 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: added documentation for the "history" and - "system" commands. - -2000-10-25 Johannes Zellner <johannes@zellner.org> - - * src/pm3d.c, src/color.[ch]: - repaired supplying of extended color specs in pm3d - (make it working in vgagl.trm) - -2000-10-24 Petr Mikulik <mikulik@physics.muni.cz> - - * trm/post.trm: "g" makes stroke + set(gray/rgb), "G" and "H" removed; - finally supporting 'with l lt pal' too. - - * docs/gnuplot.doc, pm3d/README: say PM3D works under Win too. - -2000-10-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.texi: Regenerate to include new arrow heads options - and driver updates. - -2000-10-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (WndGraphProc): ported X11/OS2 feature that - pressing SPC in graph window transfers the focus to the gnuplot - text window. - -2000-10-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * missing: Update from automake-cvs. - - * src/depcomp: Add from automake-cvs. - - * term/cgm.trm(CGM_graphics): Use gnuplot_version instead of VERSION. - Add gnuplot_patchlevel to description string. - - * term/cgm.trm(CGM_set_font): Eliminate compiler warning. - - * term/emf.trm: Update to latest version. - - * term/ggi.trm: Delete empty line at end of termdocs section. - -2000-10-24 Johannes Zellner <johannes@zellner.org> - - * term/ggi.trm: increased the speed of ggi command line - input by redrawing ruler / statusline coordinates / zoombox - only if they've changed. - - * term/ggi.trm: masking also key repeat events - - * term/ggi.trm: 'q' closes the terminal, so it's - compatible with X11 and vgagl. - -2000-10-24 Brendt Wohlberg <brendt@cnls.lanl.gov> - - * term/pslatex.trm: The current pslatex term has an option for - modifying the text font size, but this option only changes text - positioning without actually changing the font size. This patch - changes the optional value from a scaling factor to a font size - (in points) and includes LaTeX commands to actually change the - font size. - -2000-10-24 Andreas Czechanowski <dl4sdc@dl4sdc.ampr.org> - - * term/fig.trm: Update to fig file format version 3.2. Fix scaling - in metric mode. Change upper left corner offset to be at an integer - centimeter position in metric mode. Output sizes for metrix are now - 12x8cm and 12x15cm. - -2000-10-23 Johannes Zellner <johannes@zellner.org> - - * repaired `pm3d hidden' - -2000-10-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: support for 'with l lt pal'. - -2000-10-23 Johannes Zellner <johannes@zellner.org> - - * `linetype palette' linetype, e.g.: - - set style line 1 lt pal - - splot sin(sqrt(x*x+y*y))/sqrt(x*x+y*y) w l lt pal - draws lines using a smooth palette which is set with the - command `set palette'. This works only for splots and - lines / points / dots (not impulses). It works also - for contours. For normal surface plots, the scans are - scan-wise depth-ordered. This is not perfect, but it's - better than nothing and it's still pretty fast. If speed - is not an issue, hidden3d can be used. Currently, the - following terminals are supported: - - X11, gif, fig, vgagl, ggi - -2000-10-22 Johannes Zellner <johannes@zellner.org> - - * repaired `gnuplot -rv' (src/gplt_x11.c) so that it takes - white as foreground for border / text ... - - * `linetype palette' option: uses the smooth palette as - specified by `set pal' (only possible for pm3d enhanced - terminals). Works for splots: - - lines - points - dots - - /not/ for impulses (would this make sense ?) - Currently only implemented in the following terminals: - - X11 - gif - fig - vgagl - ggi - -2000-10-22 Johannes Zellner <johannes@zellner.org> - - * ggi driver: - - event / mouse support - - multiplot support - - autoconf support - - mode selection support - -2000-10-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm: bug fixed in Dick's overprinting patch: '10^{2}' - would come out as '10' without the exponent. - - * src/set.c (fill_numbers_into_string): new function. Implements - long-outstanding feature of 'set label' with variable values in it - --- e.g. from 'fit' results, or parameters used in the plot. - (set_label): use the above, and remove unneeded checks from the - option parsing. - - * src/axis.c (gprintf): remove 'static' qualifier, to make it - usable from set.c. FIXME: maybe it should move out of axis.c, into - util.c or so. - - -2000-10-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (X_AXIS): new macro to reduce code clutter. - 'axis_array[FIRST_X_AXIS]' was getting a bit tedious to type. - (Y_AXIS): dito. - (Z_AXIS): dito. - (x_axis, y_axis, z_axis): new global variables to serve as - parameters for those macros. Replace function-local versions - in several places. - - * all over the place: use the new macros to reduce code clutter. - - * src/fit.c (fit_command): don't pass 'islog_override' to the - AXIS_INIT3D calls. Would cause 'fit' to unset log, involuntarily. - -2000-10-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/win.trm (WIN_make_palette): new function to implement PM3D - support for the Windows driver - (WIN_set_color): dito - (WIN_filled_polygon): dito - - * src/win/wgraph.c (drawgraph): add low-level parts of PM3D - implementation, here. - -2000-10-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgnuplib.h (WGNUPLOTVERSION): bumped version number of - wgnuplib interface to 1.3. That's the DLL version, in Win16 - builds. - (LOGPEN) and some others: commented out some definitions no longer - needed, for the MinGW32 build. The compiler's headers no provide - them. - (W_line_width): new message number, for implementing linewidth. - (W_pm3d_setcolor), (W_pm3d_filled_polygon): new message numbers - for PM3D support - - * src/win/winmain.c (MyVFPrintF): New function. vfprintf() was - missing in the simulated <stdio.h> functions of the Windows text - terminal emulation. - - * src/win/wtext.h: comment out 'dontuse_vfprintf', to allow the - new vfprintf() to be used. - - * term/win.trm (WIN_linewidth): new function. Now you can use the - 'linewidth' option of gnuplot commands too, not just the - Windows-specific method of globally changing the definition of - linetypes. - (WIN_last_linetype): new variable caching the linetype last set. - (WIN_linetype): check against cached linetype, to avoid unneeded - pen changes. - (WIN_init): invalidate cache - (WIN_graphics): invalidate cache - - * src/win/wgraph.c (MakePens): Create pens on-the-fly, rather than - all in a bunch at plot start time. Needed to support dynmicaly - changeable line widths. - (DestroyPens): dito. - (drawgraph): dito, plus the low-level side of the implementation - of changeable linewidths. - -2000-10-20 Alan Braslau <braslau@drecam.saclay.cea.fr> - - * plot2d.c(print_table): Table terminal driver now produces - x y [xlow xhigh] [ylow yhigh] type as per errorbar mode. The - financebars and candlesticks types are not covered. - -2000-10-20 David Mussomeli <dado.sere@libero.it> - - * term/eepic.trm(EEPIC_graphics): Picture environment is now scaleable - by the "set size" command. - -2000-10-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_arrow): don't accept 'first' and 'second' as keywords - before 'from' or 'to'. - -2000-10-12 James R. Van Zandt <jrv@vanzandt.mv.com> - - * term/cgm.trm (general): Initialize font table with the standard - WebCGM fonts, plus the Hershey fonts, plus the other fonts - implemented by the Microsoft Office import filter, plus a few - variations (so "oblique" and "italic" are equivalent). Default - font is now "Helvetica Bold". Use a struct array to hold the - standard font names and their relative widths. Add references - to CGM documents, especially those on-line. Defeat assertions - by default. - - * term/cgm.crm (CGM_put_text): Was using the same distance as - the the declared baseline-to-baseline text dimension (used by - gnuplot) and the baseline-to-capline height declared in the - output file. Reducing the character height (by factor of 2/3) - in the output file. Increase default font size from 10 to 12 - pt to compensate. - - * term/cgm (CGM_set_font): Construct the CGM format font list on - the fly. Adjust the declared text width according to the - dimensions of the chosen font. Handle the case where the input - string does not include the font height. - - * term/cgm (CGM_options): If font isn't in table, add it - (retaining the existing fonts). Add "nofontlist" option which - only omits the font list (no effect on color table). - "winword6" is now just a deprecated synonym for "nofontlist". - "solid" option was incorrectly setting cgm_dashed to TRUE. - Fixed. In "linewidth" option, part of sanity check was on - cgm_linewidth instead of cgm_linewidth_pt. Fixed. User can - specify line colors with option like "xff00dd". User colors - go into a separate table, which can grow automatically. - - * term/cgm (CGM_point): Implement open markers. - - * term/cgm (CGM_put_text): Eliminate duplicate elements in output - file: Write text characteristics only if they have changed: font - index, character height, justification mode. Treat character - orientation the same way. - - * term/cgm (CGM_text_angle): generalize internal data - structures to allow for text oriented at other angles than - horizontal or vertical. - - * term/cgm (CGM_linecolor): Eliminate yellow as a line color (too - hard to see against a white background). Add orange and gray. - - * term/cgm (CGM_graphics): For MIL-D-28003A compliance: add - gnuplot version and MIL-D-28003A reference to picture - description, and write element list as the third element. - Omit color table for monochrome file. Add missing elements to - metafile elements list: Color Value Extent, Font List, Color - Table. Add the new elements required for open markers: edge - type, edge width, edge color, and edge visibility. Omit VDC - Integer Precision, Transparency, and Clip Indicator elements, - since some import filter cannot digest them and we are using - the defaults anyway. - - * term/cgm (CGM_linewidth): Flush polylines before changing - linewidth. - - * term/cgm (help text): Document above changes. Add notes - about the Microsoft Office CGM input filter. Rewrap some - paragraphs to stay within the specified 73 columns. - -2000-10-06 Johannes Zellner <johannes@zellner.org> - - * implemented finally configurable offsets for - set label "xy" at x, y pointsize 1 offset 2.0, 3.0 - Useful for placing labels slightly offset from data - points. This was one of the points left from implementing - the mouse stuff. - -2000-09-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c src/graph3d.c: bugfix "if ((*t->pointsize))" - changed to "if (t->pointsize). - -2000-09-20 Johannes Zellner <johannes@zellner.org> - - * relative arrows: - set arrow from start_x, start_y rto delta_x, delta_y - * if front was given, the arrow head stuff wasn't applied. - I repaired this. (also for 3d plots). - -2000-09-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * graphics.c (map_position), graph3d.c (map_position): Fix - off-by-one bug in treatment of term->{x,y}max when translating - 'screen' coordinates. - -2000-09-13 Daniel Luecking <luecking@uark.edu> - - * term/metapost.trm: Disambiguated options m$onochrome and - m$agnification. Changed %g to %f in output format (MPt doesn't know - exponential notation). Changed MP_DPI from 300 to 2400. - -2000-08-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c src/graphics.c src/set.c src/show.c src/term.c - src/plot.h docs/gnuplot.doc term/fig.trm: - allow setting arrow head(s) sizes --- new keywords `heads` and - `{size <length>,<angle>}` for `set arrow`. - Note: not implemented for TeX-like terminals, which draw arrows - by their own method. - -2000-07-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): don't store - if AXIS argument is -1, which means 'invalid'. - -2000-07-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/variable.c (loadpath_handler): in ACTION_CLEAR, make - sure 'limit' is properly initialized, too. - -2000-07-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graphics.c src/plot.c src/plot2d.c src/plot3d.c src/plot.h - src/graph3d.c src/os2/gclient.c term/pm.trm term/post.trm: - avoid writing filenames in keys as enhanced text in enhanced-text - capable terminals (postscript and Presentation Manager); i.e., don't - write file "a_123.dat" with '1' as subscript of 'a'. - The method used sets a new flag `this_plot->title_no_enhanced = 1;` - if the title of filename or function cannot be enhanced. When keys are - typeset, then new global global variable `ignore_enhanced_text` is set. - Then enhanced terminals decide whether to use normal-text or - enhanced-text writing method. - Note: There was another method proposed to solve this problem: all - escape characters to be backslashed on reading of the title. However, - this would not work if the same plot is replotted subsequently on - enhanced and non-enhanced terminals. - -2000-07-13 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d: src/os2/gclient.c, term/pm.trm: bugfix for color palette - allocation ('set palette maxcolors' was ignored). - -2000-07-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: boundary around the color box is drawn by move&line - for bitmap as well as postscript-including terminals. - Contributed by Gregor Thalhammer <Gregor.Thalhammer@uibk.ac.at>. - -2000-06-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c: if is_log_z, then print the non-logged values of z_min - and z_max around the color box. - - * src/unset.c: 'unset pm3d' sets the y axis to noreversed if the - reversed has been set by 'set pm3d map'. - - * pm3d: a trick for rotating the ylabel via 'set pm3d map' (see - variable `pm3d_map_rotate_ylabel`). That's needed because gnuplot - does not have an option for rotating x,y,z axes labels; once it - possesses it, the above mentioned variable would be replaced by the - new one. - -2000-07-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * all over the place: restructured axis module global - variables. Instead of sevaral separate arrays, it's now - a single array of structs, to bring it even closer to the - idea of an OO-style axis class. - * removed some more occurances of 'extern' from .trm and - .c files. 'extern' should only ever be needed in headers. - -2000-07-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c: implemented TEST_QUADTREE code, finally. - Use a spatially oriented explicit datastructure (an xy - grid of cells, with a polygon list in each), instead of - the previous single large list plus a quick-out test. - -2000-07-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c, src/hidden3d.c: allow non-grid datasets - to exist even in hidden3d plot. The new hidden3d routine - can cope with that case, too (after some fiddling). - -2000-06-23 Johannes Zellner <johannes@zellner.org> - - * src/gplt_x11.c: repaired `selection' (by left mouse). - I really don't know when and how this got broken! - -2000-06-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c, src/util3d.c, src/hidden3d.c: implemented - hiddenlining for contour lines on surface and baseplane. - -2000-06-20 Juha Takala <juha.takala@vtt.fi> - - * gplt_x11.c: Add missing forward slash to path for .Xdefaults. - -2000-06-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c, src/util3d.c, src/hidden3d.c: implemented - hiddenlining for tic labels, axes and grid lines, again. - -2000-06-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/cgm.trm(CGM_option): reject linewidth zero to avoid - infinite looping in CGM_dashed_vector(), later - -2000-06-14 Johannes Zellner <johannes@zellner.org> - - * epslatex.trm also for pm3d - -2000-06-14 Johannes Zellner <johannes@zellner.org> - - * src/color.c: modified the postscript color box drawing for user - borders. - - * term/post.trm: repaired the broken pslatex if using `encoding' - as proposed by Petr Mikulik. - -2000-06-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/datafile.c(df_gets): prompt visibly for inline data, if - in interactive mode. - - * src/set.c(reset_command): set grid linewidth to 1.0, like the - startup value (was 0.5, incorrectly). - -2000-06-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * GNUmakefile, Makefile.am: Move pre-dist target from Makefile.am. - - * configure.in: New --enable-epslatex option. Cleanups. - - * src/term.h: Add epslatex support. - - * term/ggi.trm: New GGI driver, contributed by Cesar Crusius - <crusius@leland.stanford.edu>. Support not complete yet. - Requires -lgii, -lggi and -lggiwmh for linking. - - * term/epslatex.trm: New terminal driver by Gregor Thalhammer - <Gregor.Thalhammer@uibk.ac.at>, updated version from 7th June. - -2000-06-09 Johannes Zellner <johannes@zellner.org> - - * src/save.c: don't close the fp's if it's stdout - -2000-06-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm: Dick Crawford's enhanced postscript overprinting - feature patch. - (ENHPS_recurse): additional argument 'overprint'. - - * src/set.c (set_allzeroaxis): fix typo FIRST_X_AXIS vs. - FIRST_Y_AXIS. - - * src/util3d.h: move prototypes for functions clip_point(), - draw_clip_line(), clip_put_text(), clip_put_text_just(), - clip_line() to gadgets.h; add prototype for newly global - map3d_xyz(). - - - * src/util3d.c (clip_point): move from here to gadgets.c - (draw_clip_line): dito. - (clip_put_text): dito. - (clip_put_text_just): dito. - (clip_line): dito. - (map3d_xyz): move here from hidden3d.c, and make global. - - * src/hidden3d.h: remove prototype for draw_line_hidden. - - * src/hidden3d.c: move static function map3d_xyz out here, into - util3d.c. - (draw_line_hidden): function commented out, as it is now unused. - - * src/graphics.c: #include "gadgets.h", instead of "graph3d.h" and - "util3d.h"; - (do_plot): replace DRAW_ZEROAXIS macro by function - axis_draw_2d_zeroaxis() implemented in axis.[ch]. - - * src/graph3d.h: move declaration of global suppressMove, and - prototypes of clip_move(), clip_vector() to gadgets.h - - * src/graph3d.c: #include "gadgets.h" instead of "graphics.h"; - move global suppressMove out of here; move clip_move() and - clip_vector() out of here - (draw_bottom_grid): calculate back_y together with zaxis_{x,y}, - instead of doing it separately in another if block. - (): deactivated the whole code for drawing the base plane: it will - have to be redone from scratch. - - * src/gadgets.h: #include "syscfg.h" added; move declararation of - global suppressMove here; move prototypes for draw_clip_line(), - clip_line(), clip_point(), clip_put_text(), clip_put_text_just(), - clip_move(), clip_vector() here - - * src/gadgets.c: moved global variable 'suppressMove' to this - source file. - (clip_point, draw_clip_line, clip_put_text, clip_put_text_just, - clip_line, clip_move, clip_vector): moved to this source file - - * src/datafile.c: (df_gets): added a prompt for interactive input - of inline data. - - * src/axis.c (axis_draw_2d_zeroaxis): new function, centralizes - code previously found in graphics.c - - * src/axis.h: prototype for axis_draw_2d_zeroaxis added. - -2000-06-09 Johannes Zellner <johannes@zellner.org> - - * implemented the palette `origin', `size', `border', - `noborder', `bdefault' subcommands and did a few changes - for the placement of the labels at horizontal color boxes. - -2000-06-04 Johannes Zellner <johannes@zellner.org> - - * included the supported terminals for pm3d to gnuplot.doc - -2000-05-31 Petr Mikulik <mikulik@physics.muni.cz> - - * Ignore `replot` command called from mouse/hotkey-event-enhanced - terminal when some plot data were piped in gnuplot via stdin --- - i.e., no mouse replot after `plot '-'`). See also "no replot after - `plot '-'`" discussion in the gnuplot-beta newsgroup. - New variables: plotted_data_from_stdin, replot_disabled. - -2000-05-25 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d: support for pm3d functionality in 'pslatex / pstex' terminals. - -2000-05-25 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d: unset.c: #ifdef X11 .. #endif missing in unset_pm3d(). - -2000-05-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: configure should always exit with an exit code - of zero. - -2000-05-16 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib: updated pm3dConvertToImage.awk to support colour images. - -2000-05-11 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d/contrib: added pm3dConvertToImage.awk. - -2000-05-09 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d: three new color mapping formulae 34--36: 2x,2x-0.5,2x-1. - -2000-05-04 Johannes Zellner <johannes@zellner.org> - - * reimplemented the Linux vgagl terminal driver with - mouse and pm3d support (uses the lib3dkit library) - -2000-05-04 Johannes Zellner <johannes@zellner.org> - - * configure.in, src/plot.c, src/parse.c: replace setjmp by - sigsetjmp and longjmp by siglongjmp if these functions - (or macros) are available. - -2000-05-04 Johannes Zellner <johannes@zellner.org> - - * src/command.c: always include ipc.h - - * term/linux.trm: typedef int in declaration of linux_line_func_ptr - - * term/x11.trm: added a few ifdef USE_MOUSE's to exclude mouse - code, if compiling w/o mouse support. - -2000-05-03 Johannes Zellner <johannes@zellner.org> - - * merged pre-pm3d - pre-pm3d-01 from the MAIN trunk. - -2000-05-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: In "Platform notes" section, add hint for using - 'gcc -ansi'. - - * Makefile.am: Add maintainer-only pre-dist target. - - * docs/Makefile.in: Don't hardcode pdflatex command. - - * docs/doc2texi.el: Add missing drivers. - - * docs/gnuplot.doc: Remove docs for comma line continuation. - - * src/*.h: Uniform RCS id header. - - * src/command.c, src/mics.c: Clean up, add comments, remove ESR's - comma line continuation patch (doesn't work). - - * src/dynarray.c, src/tables.c: Add RCSid. - - * src/dynarray.h, src/ipc.h, src/mousecnm.h: Add gnuplot copyright - statement, RCS id. - - * src/gp_hist.h, src/gp_time.h, src/history.c, src/time.c: Fix - function prototypes. - - * src/graphics.c(graph_error), src/graphics.h: Revert to non-variadic - version, as graph_error() tries to pass a variable number of arguments - into another variadic function. Noted by Pieter-Tjerk de Boer. - - * src/mouse.c: Formatting, indentation, RCS id. - - * src/plot3d.h: Add external variable declaration. - - * src/version.c: Set bug_email and help_email to info-gnuplot-beta - for development versions of gnuplot. - - * term/gif.trm(GIF_put_text): Fix compiler warnings, patch from - Alexander Mai. - -2000-05-01 Johannes Zellner <johannes@zellner.org> - - * branched off pm3d - -2000-05-01 Johannes Zellner <johannes@zellner.org> - - * term/x11.trm: Remove superfluous ifndef(OS2). Add SELECT_FD_SET_CAST - to sselect() call. - -2000-04-30 Johannes Zellner <johannes@zellner.org> - - * small patch such that zooming of map views works again. - This patch apparently got lost during setup of the CVS repository. - -2000-04-28 Jeff Spirko <spirko@lehigh.edu> - - * src/plot.c(main): Allow configuration of GNU readline to use - different settings for different terminals. Noted by Peter Maunz - <Peter.Maunz@mpq.mpg.de>. - -2000-04-14 Nigel Nunn <nNunn@ausport.gov.au> - - * src/command.c(pause_command): Fix `pause' command on Win32. - -2000-04-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c(do_3dplot): Key sample was clipped to graph box - (2D rectangle around the 3D plotting area), even if the key had - explicitly been requested to be outside that area by `set key below' - or `set key outside'. - -2000-04-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/fig.trm(FIG_put_text): Don't create xfig SPECIAL_TEXT for - non-LaTeX strings. See Debian bug#61972. - - * term/png.trm(PNG_options): Fix parser bug. Noted by - Benoit des Ligneris <benoit.des.ligneris@physique.usherb.ca>. - -2000-04-07 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * src/show.c(show_mtics): Fix buggy `show m[xyz][2]tics'command. - -2000-04-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Add new --enable-emf option for experimental - Enhanced Metafile Format driver. Check for pdflatex. - - * src/term.h: Include experimental emf driver. - - * term/emf.trm: New file. Enhanced Metafile Format driver by - Stephane Barbaray <stephane.barbaray@compodata.com>. Small - changes for 3.8. - -2000-04-06 Ulrich Gruenebaum <grueneba@luzi.e-technik.uni-dortmund.de> - - * docs/gnuplot.doc, src/plot2d.c, src/plot3d.c, src/set.c, - src/setshow.h: Bug fix for broken autoscale writeback, see BUGS - entry 3. - -2000-04-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/interpol.c(cp_implode): 'smooth unique' does not correctly - check inrange/outrange conditions. - -2000-04-04 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * src/graph3d.c(do_3dplot): Fix division by zero error caused - by using variables before initialisation. - -2000-03-31 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * configure.vms, src/command.c: Fixes for building on VMS. - - * src/show.c(show_version): Add missing "%s" in format string. - - * term/hp26.trm(HP26_flush): Add cast in compact_slope() call. - -2000-03-31 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/gplt_x11.c(handle_selection_event): Fix compiler warning, use - FPRINTF macro. - - * term/gif.trm(GIF_put_text): Fix compiler warnings. - -2000-03-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/dialogs.h: Remove unnecessary blank lines. - - * src/os2/scaling.ptr, src/os2/rotating.ptr: Add missing files. - -2000-03-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am, src/Makefile.am: Add missing files to EXTRA_DIST - target. - - * configure.in, m4/path-hdr.m4, m4/path-lib.m4: Buffering directory - names in config.cache is bad style ... - - * src/gplt_x11.c, src/graphics.c: Cleanups, indentation. - - * src/plot.h: Don't include ansichek.h, already in syscfg.h. - Remove reference to TBOOLEAN noinputfiles, which is static - in plot.c. - - * src/show.c(show_version): Add mouse support in version information. - - * term/x11.trm: Remove C++ comment. - -2000-03-30 Shusuke Nisiyama <shu@athena.qe.eng.hokudai.ac.jp> - - * src/graphics.c: Fix bugs in vector clipping patch. - -2000-03-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/pslatex.trm: Amend help section as suggested by Pieter-Tjerk - de Boer. - -2000-03-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Cleanup after merge with Johannes' sources. - - * unset.c: Change borders and label contours as suggested by - Johannes. - - * configure.in, docs/gnuplot.doc, src/command.c, src/gpexecute.inc, - src/gplt_x11.c, src/ipc.h, src/misc.c, src/mouse.c, src/mouse.h, - src/plot.c, src/readline.c, src/readline.h, src/set.c, src/show.c, - src/os2/glcient.c, term/pm.trm, term/x11.trm: Merged Johannes' changes. - -2000-03-28 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: Epsf option sets landscape mode instead of epsf. - -2000-03-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c(boundary3d): Change plot size if no key is set after - set key below (part one). - -2000-03-28 Jeff Spirko <spirko@TopQuark.physics.lehigh.edu> - - * src/graph3d.c(boundary3d): Change plot size if no key is set after - set key outside (part two). - -2000-03-26 Jeff Spirko <spirko@lehigh.edu> - - * src/show.c(show_key): The `show key' command doesn't display all - information if the key is boxed. - -2000-03-26 Walter Harms <WHarms@bfs.de> - - * src/time.c(gstrptime): Add reading of time in "%s" format (seconds - since epoch). - -2000-03-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c(gen_tics): Bugfixes for tics and mtics handling - in logscale. - -2000-03-18 Johannes Zellner <johannes@zellner.org> - - * src/graph3d.c(do_3dplot): Fix bug which occured after having changed - some variables from unsigned int to int because map3d_xy takes - unsigned. - -2000-03-17 Johannes Zellner <johannes@zellner.org> - - * made quite a few of the mouse.c functions static and - removed prototypes for these from mouse.h. - -2000-03-17 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * fixed fit.c for the crash: - f(x) = a*sin(x) + b*x+c; fit f(x) 'a' via a,b,c,d - udv_ptr->udv_name in setvar() is reallocated, but not initialised. - -2000-03-16 Johannes Zellner <johannes@zellner.org> - - * merged minor changes from the pm3d branch. - -2000-03-16 Petr Mikulik <mikulik@physics.muni.cz> - - * REXX unknown command crash solved. - - * minor changes to avoid compiler warnings from command.c. - -2000-03-14 Petr Mikulik <mikulik@physics.muni.cz> - - * let background the background of the PM window be white always - (before: system background). - -2000-03-13 Petr Mikulik <mikulik@physics.muni.cz> - - * term/latex.trm: Avoid compiler warning about if - else - if - else - without {}. - - * let 'show bind' print bindings for Space and q (mouse.c). - -2000-03-08 Johannes Zellner <johannes@zellner.org> - - * term/fig.trm(FIG_put_text): Fix bug which caused a SEGFAULT. - -2000-03-08 Johannes Zellner <johannes@zellner.org> - - * src/misc.c: Introduce pipe for load command gnuplot> load "< ...". - -2000-03-04 Johannes Zellner <johannes@zellner.org> - - * changed the order of two lines in extend_token_table() so - that is does not segfault any more when reallocating the `token'. - (reported by Wolfgang Schadow <schadow@lin07.triumf.ca>). - -2000-03-03 Johannes Zellner <johannes@zellner.org> - - * added a check for term in mouse.c:event_reset() to avoid - a segfault. - -2000-03-03 Johannes Zellner <johannes@zellner.org> - - * added a check for stpcpy in configure.in - -2000-03-02 Johannes Zellner <johannes@zellner.org> - - * removed the contents of `src/unused' - -2000-03-02 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * fixed updating of ruler position when autoscale is enabled: - use min_array[...] etc. instead of xmin etc. in recalc_ruler_pos(). - - * added updating of x2 and y2 coordinates of ruler position. - -2000-03-02 Johannes Zellner <johannes@zellner.org> - - * added a few if (PM_pipe) to term/pm.trm to prevent segfaults - if the connection to the pm driver was not established yet. - -2000-03-02 Johannes Zellner <johannes@zellner.org> - - * a really small fix in term/x11.trm: change the position of - a comma so that is included between #ifdef USE_MOUSE ... - -2000-03-01 Johannes Zellner <johannes@zellner.org> - - * removed the message 'Using mouse-enhanced terminal ...' - from term/x11.trm, as it can be annoying when using gnuplot - in a pipe. - -2000-02-29 Johannes Zellner <johannes@zellner.org> - - * added a few if (X11_ipc) to term/x11.trm to prevent segfaults - if the connection to the outboard driver was not established yet. - -2000-02-25 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * put #ifdef USE_MOUSE around use of EventHandler() in src/gplt_x11.c, - to make it compile without mouse again. - -2000-02-21 Johannes Zellner <johannes@zellner.org> - - * changed ISATTY to isatty_state as requested by Lars. - -2000-02-19 Johannes Zellner <johannes@zellner.org> - - * removed two unused functions in gplt_x11.c - - * removed the `set mouse labeloptions' command. The label - option string can now passed as optional argument to the - `set mouse labels' command. (see help mouse) - (both changes were suggested by Pieter-Tjerk de Boer) - -2000-02-18 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * gplt_x11 now catches the EnterWindow event, to immediately show - correct coordinates and zoombox when the mouse enters the window. - - * 'set term ...' now cancels the zoom box. - - * removed some unused code in gplt_x11.c - -2000-02-15 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * term/pslatex.trm: Don't put pslatex's postscript code into - the preamble, otherwise, if several pictures are present, only - the settings for the last picture are present. - -2000-02-14 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * src/unset.c: Repair defunct 'unset [xyz]tics' commands. - -2000-02-12 Johannes Zellner <johannes@zellner.org> - - * changed the policy for allowing bidirectional ipc in X11: - if stdin comes from a terminal (tty) the mouse is on by default, - if stdin is not from a tty, events are not processed by default. - If someone wants event processing when writing from a pipe to - gnuplot she should turn on the mouse `set mouse` explicitely - *before* starting the x11 driver. This is also explained in - the docs. - -2000-02-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/pc.trm: Small change in the help section. - -2000-02-10 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * term/pslatex.trm: Fix segfault. - -2000-02-10 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * INSTALL: Add instructions for using the new VMS configure script. - - * configure.vms: A configure script for VMS. It replaces - config/buildvms.com, config/make_vms.com, config/makefile.vms, - src/genopt.com, src/gnuplot.opt, src/linkopt.vms and src/x11.opt, - but we leaves these files alone for the time being for backwards - compatibility. - -2000-02-06 Thomas Henlich <thenlich@users.sourceforge.net> - - * term/post.trm: Some programs complain about "Symbol-Oblique". - Use "Symbol" instead, because "Symbol-Oblique" is really just a - transformed "Symbol" font. - -2000-02-04 Thomas Henlich <thenlich@users.sourceforge.net> - - * term/post.trm: Provides an oblique symbol font, e.g. - set xlabel 'b' "Symbol-Oblique" gives an oblique (slanted) beta - character. - -2000-01-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - Start tracking the CVS set up by Johannes Zellner to add - mouse support for X11 and OS/2 PM. Implemented by Pieter-Tjerk de - Boer <ptdeboer@cs.utwente.nl>, Petr Mikulik <mikulik@physics.muni.cz>, - Johannes Zellner <johannes@zellner.org>. - - * ANNOUNCE-MOUSE, gpconf, gpconf, gpconfopt, src/gpexecute.inc, - src/ipc.h, src/mouse.c, src/mouse.h, src/mousecmn.h: New files. - - * configure.in: Updated for mouse support. - - * config/makefile.os2: Updated for mouse support. - - * docs/gnuplot.doc: Add documentation for mouse support and new - commands. - - * src/Makefile.am, src/makefile.all: Add new source files. - - * src/command.c, src/command.h, src/gplt_x11.c, src/graph3d.c, - src/graph3d.h, src/graphics.c, src/graphics.h, src/history.c, - src/plot.h, src/plot3d.c, src/readline.c, src/term.c: Add mouse - support, some minor fixes. - - * src/hidden3d.c: Remove unused variable. - - * src/save.c, src/set.c, src/show.c, src/tables.c, src/tables.h, - src/unset.c: New commands "bind", "set historysize", "set mouse", - and "set label [no]pointstyle". - - * src/stdfn.c, src/stdfn.h: Add new gp_stricmp() function. - - * src/util3d.c(draw_clip_line), src/util3d.h: Change args type from - unsigned to int. - - * src/os2/dialogs.c, src/os2/dialogs.h, src/os2/gclient.c, - src/os2/gnupmdrv.ipf, src/os2/gnupmdrv.rc: Updated for mouse support. - - * term/README, term/pm.trm, term/x11.trm: Updated for mouse support. - -2000-01-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * doc/makefile.ami, docs/makefile.dst: Remove duplicate RCS id's. - - * m4/Makefile.am.in, term/Makefile.am.in: $< is not portable. - Use Makefile.am.in explicitly. - -2000-01-20 Markus Schwarzenberg <schwarzb@imsdd.fhg.de> - - * src/plot.c(wrapper_for_write_history): write_history() returns - zero on success. - -2000-01-14 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * src/unset.c: The 'unset [xyz]tics' commans didn't work. - -1999-12-20 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/buildvms.com, config/makefile.vms: Fix directory - references. - - * src/command.c(history_command): History functions are only defined - if readline is available. - - * src/gnuplot.opt: Add new files. - -1999-12-15 Pieter-Tjerk de Boer <ptdeboer@cs.utwente.nl> - - * src/save.c(save_set_all): Fix typo in save xrange. - -1999-12-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/plot.c: Add missing variable gnuplot_history_size, use instead - of HISTORY_SIZE. - -1999-12-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/dynarray.c: Fix compile error. - -1999-12-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc: Add help entry "aspect ratio" to "set size". - - * docs/gnuplot.texi: Regenerated. - - * src/hidden3d.c, src/set.c, src/unset.c, term/next.trm, - term/openstep.trm, term/post.trm: Rename symbolic constants for - options parser. - - * src/set.c: Implement table based parser for set_encoding(). - - * src/setshow.h: Remove encoding related defines. - - * src/tables.c, src/tables.h: New table for encoding options, renaming - of symbolic constants. - - * term/gnugraph.trm: Add new, plotutils 2.2+ related terminal options. - - * term/hpgl.trm: Fix some minor bugs in the TERM_HELP section. Rewrite - options parser to use table lookup (HPGL2_options only). - -1999-12-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Add dependency for term.o. - -1999-12-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/hpgl.trm: Updated funtion prototypes, indentation, formatting. - Bugfixes in term help section. - -1999-12-06 Jeremy Brenes <jbrenes@swbell.net> - - * term/hpgl.trm: Give PCL5 terminal optional multi-pen support (6 pen - default), a default 34" plotting width for use with large color - plotters such as the HP Designjet 750C, various alternative plot - sizes, and variable fontsizes. Also decreased the HPGL terminal's - fixed fontsize to make it more reasonable when plots get scaled to 34". - Make extended plot area smaller. Added solid/dashed lines option, - additional font types, mixed fonts. - Add a postscript pointtypes option, special purpose negative - pointtypes, and a pointsize function. - -1999-12-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/epson.trm, term/hp500c.trm, term/hpljii.trm, term/hppj.trm, - term/pbm.trm, term/regis.trm: Use the same naming scheme for driver - functions as for all the other drivers. - -1999-12-05 Jeff Spirko <spirko@lehigh.edu> - - * src/save.c(save_position): Strings in save_position() don't match - the ones expected by set.c::get_position(). - -1999-12-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/contour.c(add_edge): Clipping of contour input datapoints that - are outside fixed ranges. - -1999-12-02 Shusuke Nisiyama <shu@athena.qe.eng.hokudai.ac.jp> - - * src/graphics.c: Implement vector style clipping for 2D plots. - -1999-12-02 Reality is a point of view <gjohnson@dream.season.com> - - * term/png.trm: Issue "too many colours" warning only once. - -1999-12-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Updated to latest version from Juergen. - - * configure.in: Simplify test for GNU plotutils by requiring - version 2.2 or newer (API change). - - * config/buildvms.com, config/makefile.286, config/makefile.amg, - config/makefile.ami, config/makefile.emx, config/makefile.g, - config/makefile.msc, config/makefile.msw, config/makefile.mto, - config/makefile.os2, config/makefile.os9, config/makefile.st, - config/makefile.tc, config/makefile.vms, config/makefile.wc, - config/makefile.win, config/makefile.ztc: Updated lists of files - and dependencies. - - * src/bitmap.c, src/command.c: Formatting and indentation. - - * term/png.trm: Indentation, fixes in term options strings, add more - descriptive docs. - -1999-12-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/contour.c(gen_triangle): Fix coredump in contour code. - -1999-11-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Rename --enable-history option to - --enable-history-file, because it is unrelated to the new 'history' - command. Add checking for gethostbyname() in -lbsd. - - * configure.in, m4/apple.m4, m4/beos.m4, m4/msdos.m4, m4/next.m4: - Remove some superfluous dnl's. - - * m4/path-hdr.m4, m4/path_lib.m4: Change search order for includes - and libs (default first). - - * m4/select.m4: Updated according suggestions from automake list. - - * src/Makefile.am: Add new files to gnuplot_SOURCES. - - * src/command.c: Include gp_hist.h. - - * src/command.c: Some minor cleanups. - - * src/command.h: Add declaration of input_line_len. - - * src/datafile.c: Formatting, indentation. - - * src/gp_hist.h: New file, declarations for history.c. - - * src/graph3d.c, src/graphics.c, src/set.c: Move SIGNIF define to - setshow.h. - - * src/hidden3d.c: Remove statement with no effect. - - * src/history.c: History related functions (builtin readline) moved - from readline.c. - - * src/plot.c: UTSNAME stuff moved here from show.c, init os related - variables from version.c. - - * src/plot.h: Don't declare input_line_len, add declarations for new - version.c variables. - - * src/readline.c: Move history related functions (builtin readline - portion) to history.c. - - * src/readline.h: Remove history related function declarations. - - * src/setshow.h: Add SIGNIF define, change DEF_FROMAT to "% g". - - * src/show.c: Change banner string and version handling, integrate - show_version_long into show_version. - - * src/syscfg.h: Remove trailing space from OS define, remove unix - define. - - * src/version.c: New, OS related variables os_name and os_rel. - - * term/compact.c: Ifdef out unused function. - - * term/gnugraph.trm: Switch to GNU plotutils 2.2+ API. - - * term/png.trm: Initialise allocated png structures. - -1999-11-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/bitmap.c(b_getpixel): Fix bug where only every other colour - show up in png output. - -1999-11-23 Hartmut Freihofer <Freihofer@ike.uni-stuttgart.de>, Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/png.trm: Fix png driver to use web-friendly palette, add RGB - colour spec. - -1999-11-18 Lucas Hart <hartl@ucs.orst.edu> - - * config/makefile.vms: Build rnh docs. - - * src/plot2d.c, src/plot3d.c: Fix data format for table terminal. - - * term/table.trm: Add note to docs that columns are separated by - single spaces. - -1999-11-15 Thomas Walter <walter@pctc.chemie.uni-erlangen.de> - - * src/command.c, src/plot.c: Improvements in history related code. - New environment variable GNUPLOT_HISTORY_SIZE. - - * src/history.c: New file. Code for the 'history' command and GNU - readline. - - * src/term.c: Fixes for the interface to 'GNU plotutils-2.2'. See - also 'term/gnugraph.trm'. - - * term/gnugraph.trm: Fix code following the docs of 'GNU plotutils'. - Now it is possible to use 'gpoutfile' to write into a user defined - file. See also 'src/term.c'. - -1999-11-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c: Initialise pens in monochrome mode. - -1999-11-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.dj2, src/Makefile.am: Remove references to protos.h. - - * docs/doc2x.h: Remove #ifdef 0'd defines. - - * src/contour.c: Remove commented declaration of solve_tri_diag(). - - * src/dynarray.c, src/dynarray.h, src/hidden3d.c, src/plot2d.c, - src/set.c,src/show.c: Formatting, indentation. - - * src/graph3d.c, src/graphics.c, src/graphics.h, src/help.c, - src/misc.c, src/plot.h, src/setshow.h, src/show.c, src/term.c, - term/dumb.trm: Fix TBOOLEAN/int inconsistency. - - * src/graphics.c, src/misc.c, src/plot.h, src/plot2d.c: Rename struct - curves_points member next_cp to next. - - * src/parse.h: Fix comment. - - * src/plot.h: Define TBOOLEAN differently. - - * src/protos.h: Remove unnecessary file. - - * term/driver.h: Remove prototype for do_arrow(). - -1999-11-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/buildvms.com, config/makefile.286, config/makefile.amg, - config/makefile.ami, config/makefile.dj2, config/makefile.emx, - config/makefile.g, config/makefile.msc, config/makefile.msw, - config/makefile.mto, config/makefile.os2, config/makefile.st, - config/makefile.tc, config/makefile.vms, config/makefile.wc, - config/makefile.win, config/makefile.ztc: Updated list ob object - files, dependencies. - - * docs/Makefile.in: Add AmigaGuide(r) format (commented out for now). - - * src/Makefile.am, src/Makefile.maint: Remove gpltconv.c. Add new - files to gnuplot_SOURCES. - - * src/set.c(set_command): Add backwards compatibility for old - command syntax. - -1999-11-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/doc2x.h, src/alloc.c, src/alloc.h, src/binary.c, src/binary.h, - src/bitmap.c, src/bitmap.h, src/command.c, src/command.h, - src/contour.c, src/contour.h, src/datafile.c, src/datafile.h, - src/eval.c, src/eval.h, src/fit.c, src/fit.h, src/gp_time.h, - src/graph3d.c, src/graph3d.h, src/graphics.c, src/graphics.h, - src/help.c, src/help.h, src/internal.c, src/internal.h, - src/interpol.c, src/interpol.h, src/matrix.c, src/matrix.h, - src/misc.c, src/misc.h, src/parse.c, src/parse.h, src/plot.c, - src/plot.h, src/plot2d.c, src/plot2d.h, src/plot3d.c, src/plot3d.h, - src/protos.h, src/readline.c, src/readline.h, src/save.c, src/save.h, - src/scanner.c, src/scanner.h, src/set.c, src/setshow.h, src/show.c, - src/specfun.c, src/specfun.h, src/standard.c, src/standard.h, - src/stdfn.c, src/stdfn.h, src/tables.c, src/tables.h, src/term.c, - src/term_api.h, src/time.c, src/unset.c, src/util.c, src/util.h, - src/util3d.c, src/variable.c, src/variable.h, term/gif.trm, - term/linux.trm: Further modularisation. - - * src/dynarray.c, src/dynarray.h: New files for generic dynamic - array handling. - - * src/hidden3d.c, src/hidden3d.h: Integrate completely rewritten - version into gnuplot sources. - -1999-11-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/gpltconv.c: Add `set nolinestyle'. - - * term/post.h: Comment after #endif statement. - -1999-11-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Remove all doc2info and doc2html related targets. - Use makeinfo for both info and html targets. - - * docs/doc2html.c, docs/doc2info.c, docs/fixinfo.el: Remove. - - * src/Makefile.maint: Comment out version.c target. - - * src/hidden3d, src/save.c: Fix writing of save files with new - syntax. - - * src/save.c, src/show.c: In the SAVE/SHOW_NUM_OR_TIME macro, add a - '#' to the format specifier in the fprintf() call. This adds a decimal - point to the saved 'set ?range' commands to prevent integer overflow - on 16 bit platforms when the saved commands are loaded. - - * src/unset.c: Fix bug in unset style command. - -1999-10-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Remove doc2texi.pl from EXTRA_DIST. - - * docs/doc2texi.pl: Remove. - -1999-10-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.amg: Updated. - - * docs/Makefile.in: Cosmetic changes, add another html target - for makeinfo-4.0. - - * docs/doc2texi.el: Latest version from Bruce. - - * docs/gnuplot.texi: Regenerated. - - * src/alloc.c, src/bf_test.c, src/binary.c, src/bitmap.c, - src/command.c, src/contour.c, src/datafile.c, src/eval.c, src/fit.c, - src/graph3d.c, src/graphics.c, src/help.c, src/hidden3d.c, - src/internal.c, src/interpol.c, src/matrix.c, src/misc.c, - src/parse.c, src/plot.c, src/plot2d.c, src/plot3d.c, src/readline.c, - src/save.c, src/scanner.c, src/set.c, src/show.c, src/specfun.c, - src/standard.c, src/term.c, src/time.c, src/unset.c, src/util.c, - src/util3d.c, src/variable.c, src/version.c: Add include statements. - - * src/bf_test.c, src/bitmap.h, src/command.h, src/gplt_x11.c, - src/graph3d.c, term/eepic.trm, term/gpic.trm, term/hp26.trm, - term/hpljii.trm, term/imagen.trm, term/latex.trm, term/t410x.trm: - Add or edit function prototypes. - - * src/binary.h, src/gpltconv.c: Minor changes. - - * src/fit.c, src/graph3d.c: Rename some local index variables to - eliminate variable shadowing. - - * src/plot.h: Comment out most include statements. - - * src/plot2d.c(eval_plots): Use table for smooth and axes option - parser. - - * src/show.c(show_style): Use table for style options parser. - - * src/tables.c, src/table.h: New tables and enums for new parser. - -1999-10-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Latest version. - - * configure.in: Better test for whether math library is needed. - - * src/plot2d.c: Rename variables, move some code into different - places. - - * src/tables.c, src/tables.h: Add table for plot axes/axis option. - -1999-10-20 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/buildvms.com, config/makefile.vms: Update VMS build - procedures. - -1999-10-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.win, src/plot.h: Updated for newer Borland - compilers. - - * src/graph3d.c: Fix for 'set key below' bug. - - * src/win/pgnuplot.c: Updated. - - * src/win/wgnuplot.def: Reduce stacksize to avoid 'DGROUP exceeds 64K' - problem. - -1999-10-19 Thomas Sefzick <t.sefzick@fz-juelich.de>, Matt Willis <mattbwillis@my-deja.com> - - * term/tkcanvas.trm: Some updates and bug fixes. - -1999-10-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/plot.c: Rename GNUPLOT_HISTORY_FILE to "~/.gnuplot_history". - - * src/syscfg.h: Fix for missing unix define on NetBSD. - -1999-10-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc: Remove superfluous spaces in loadpath and - splot_overview entries. - - * lisp/acinclude.m4: Reverse order of -q and -batch command line - options for Emacs invocation. - - * src/help.c(ShowSubtopics): Better formatting of long subtopic - index entries. Another bugfix in COLUMN_HELP code. - - * term/pslatex.trm: Add some comments, streamline code, rename - variables. Fix segfault when `auxfile' option is unused. - -1999-10-11 Eric S. Raymond <esr@thyrsus.com> - - * demo/airfoil.dem, demo/animate.dem, demo/binary.dem, - demo/controls.dem, demo/electron.dem, demo/fit.dem, demo/hidden.dem, - demo/mgr.dem, demo/param.dem, demo/polar.dem, demo/prob.dem, - demo/prob2.dem, demo/scatter.dem, demo/simple.dem, demo/spline.dem, - demo/steps.dem, demo/surface1.dem, demo/surface2.dem, demo/timedat.dem, - demo/using.dem: Demo directory cleanup patch. Box a bunch of legends - and use reset instead of ad-hoc set statements. - - * src/graphics.c, src/graphics.h: Introduce exclusion box for keys. - -1999-10-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/bitmap.c, term/png.trm: Fix some shortcomings of ESR's png - patches. - - * src/plot2d.c: Bugfix for logscale plots with unused y2 axis. - -1999-10-11 Thomas Sefzick <t.sefzick@fz-juelich.de> - - * term/tkcanvas.trm: Bugfix, comments added. - -1999-10-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: Add pdf target. - - * docs/doc2ms.c: Use TBOOLEAN instead of boolean. - - * src/Makefile.am: Add new header files to gnuplot_SOURCES. - - * src/bitmap.c, src/bitmap.h: Move struct rgb web_color_rgbs[] here - from term/gif.trm. - - * src/readline.c: Minor cleanup. - - * src/save.c: Start moving `save' output to new syntax. - - * src/term.c: New function int termcount(). - - * term/gif.trm: Edit comments about gd library. - - * tutorial/Makefile.am.in: Use the newly built gnuplot executable - in the .plt.tex rule. - -1999-10-01 Eric S. Raymond <esr@thyrsus.com> - - * term/gif.trm, term/png.trm: Remove RGB colour table from gif.trm, - let both drivers share the table in bitmap.c. - - * term/png.trm: Add transparency support for color images. Update - for pnglib-1.0.3. - -1999-10-01 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * INSTALL, make_vms.com: Make VMS builds easier and add note - about make_vms.com to INSTALL. - -1999-10-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.dj2, config/makefile.mgw, config/makefile.tc, - config/makefile.win: Updated. - - * docs/doc2x.h, docs/termdoc.c: Cleanups by HBB. - - * src/bf_test.c, src/bitmap.c, src/bitmap.h, src/command.c, - src/command.h, src/datafile.c, src/datafile.h, src/eval.c, src/fit.c, - src/fit.h, src/graph3d.c, src/graphics.c, src/graphics.h, src/help.h, - src/hidden3d.c, src/internal.c, src/interpol.c, src/matrix.c, - src/matrix.h, src/misc.c, src/parse.c, src/plot.c, src/plot.h, - src/plot2d.c, src/plot3d.c, src/protos.h, src/save.c, src/scanner.c, - src/set.c, src/setshow.h, src/specfun.c, src/standard.c, src/stdfn.c, - src/stdfn.h, src/term.c, src/time.c, src/unset.c, src/util.c, - src/util3d.c, src/util3d.h, src/variable.c, src/variable.h, - src/win/pgnuplot.c, src/win/winmain.c: Include header files, move - declarations to header files, add static declarations, for better - modularisation. Minor fixes. - - * src/contour.h, src/eval.h, src/gp_time.h, src/graph3d.h, - src/hidden3d.h, src/internal.h, src/interpol.h, src/misc.h, - src/plot2d.h, src/plot3d.h, src/readline.h, src/save.h, src/scanner.h, - src/specfun.h, src/standard.h, src/template.h, src/term_api.h: - New header files for better modularisation. - - * term/ai.trm, term/cgm.trm, term/compact.c, term/corel.trm, - term/driver.h, term/dxf.trm, term/eepic.trm, term/epson.trm, - term/gif.trm, term/gpic.trm, term/hp26.trm, term/hpljii.trm, - term/imagen.trm, term/latex.trm, term/metapost.trm, term/mif.trm, - term/post.h, term/post.trm, term/pstricks.trm, term/t410x.trm, - term/texdraw.trm, term/tpic.trm, term/win.trm, term/x11.trm: Add - static qualifiers where required. Minor fixes. - -1999-09-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Latest version from Juergen. - - * configure.in: Fixes for NeXT. Use AC_FUNC_SELECT unconditionally now. - - * config/Makefile.am.in: Remove descrip.mms from EXTRA_DIST. - - * m4/select.m4: Updated with suggestions from the autoconf mailing - list. Should now work with K&R compilers too. - - * src/Makefile.am: Remove EXTRA_gnuplot_SOURCES = @NEXTOBJS@. - - * src/command.c: Rewrite command() to directly call command parse - functions through lookup function pointer. Make parse functions non- - static. Move parse function prototypes to command.h. - - * src/command.c, src/readline.c: Add Petr Mikulik's implementation - of the new `history' command for the builtin readline function. - - * src/command.h: Parse function prototypes moved from command.c. - - * src/gplt_x11.c(record): Too many args for read_input(). - - * src/interpol.c, src/plot.h, src/plot2d.c: Prefix 'plot smooth' - options with 'SMOOTH_'. - - * src/plot.c: Update to GNU readline glue from Thomas Walter. - - * src/plot2d.c(eval_plots): Table parser for 'plot smooth' options. - - * src/protos.h: Update function prototypes. - - * src/syscfg.h: Add new FAQ location. - - * src/tables.c, src/tables.h: New table and lookup function for - tables with function address as value. New table for 'plot smooth' - options. - -1999-09-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c(get_data): Check for minimum and maximum number of - required data columns. - -1999-09-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Latest version from Juergen. - - * INSTALL: VMS section updated according suggestion from - Rolf Niepraschk <niepraschk@ChbRB.berlin.ptb.de>. - - * configure.in: Get rid of AC_SUBST(NEXTOBJS), which is apparently - not required anymore. - - * config/makefile.*: New .c files and rules added. - - * docs/gnuplot.doc: Docs for 'set cntrparam' fixed following - suggestion from HBB. - - * lisp/gnuplot-gui.el, lisp/gnuplot.el, lisp/gpelcard.tex: Updated - to current version from Bruce. - - * m4/next.m4: Remove NEXTOBJS. - -1999-09-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graph3d.c: Fix splot zeroaxis misbehaviour (reversed - 'set {x|y}zeroaxis'). - -1999-09-21 Dick Crawford <u600256@gamma.lanl.gov> - - * src/term.c(test_term): Fix bug with plotting before line properties - are specified completely. - -1999-09-21 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/buildvms.com: Updated. - - * config/descrip.mms: Removed. See INSTALL. - -1999-09-21 Daniel H. Luecking <luecking@comp.uark.edu> - - * term/metapost.trm: Updated. - -1999-09-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c, src/plot.c, src/readline.c, src/os2/dialogs.c, - src/os2/dialogs.h, src/os2/gclient.c, src/os2/gnupmdrv.h, - src/os2/gnupmdrv.ipf, src/os2/gnupmdrv.rc: Updated and improved - OS/2 mouse mode. - -1999-09-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Do not install bf_test and gpltconv. - - * src/show.c: Add additional beta info. - -1999-08-25 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * INSTALL: VMS section updated. - -1999-08-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc, src/command.c, src/protos.h, src/save.c, src/set.c, - src/tables.c, src/tables.h: 'save term' patch. - - * src/alloc.c, src/alloc.h, src/fit.c, src/graphics.c: Minor fixes. - - * term/post.trm: Options string violated the 'save loadable output' - rule. - -1999-08-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/gpltconv.c: Rewrite to allow more general approach for string - replacement. - - * src/plot.c: Fix off-by-one error in tilde expansion code. - - * src/set.c, src/setshow.h: Static prototype for set_lp_properties() - now in set.c. - - * src/term.c: Include tables.h. - - * term/ai.trm, term/amiga.trm, term/be.trm, term/cgm.trm, - term/corel.trm, term/djsvga.trm, term/dumb.trm, term/epson.trm, - term/fig.trm, term/fig.trm, term/gnugraph.trm, term/imagen.trm, - term/latex.trm, term/metapost.trm, term/mif.trm, term/next.trm, - term/openstep.trm, term/openstep.trm term/png.trm, term/post.trm, - term/pslatex.trm, term/tkcanvas.trm, term/win.trm, term/x11.trm: - Parser rewrite to use tables. - -1999-08-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Change check for plotcompat.h in configuration report. - - * docs/Makefile.in: Add existing TEXINPUTS variable to latex calls. - - * m4/path-hdr.m4, m4/path-lib.m4: Add 'else' part in if statement to - avoid side effects. - -1999-08-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am, src/Makefile.maint, src/makefile.all: Add new - files gpltconv.c and unset.c. - - * src/command.c: Add new 'unset' command. - - * src/gpltconv.c: New program to convert old script files to - new command syntax. - - * src/set.c: Remove all set_no* related cases and functions. - - * src/setshow.h: Updated to reflect changes in set/unset commands. - - * src/show.c: Remove show_data() and show_func(). Fixes. - - * src/tables.c, src/tables.h: Add unset command, remove 'set novar' - related stuff. - - * src/unset.c: New file to implement 'unset' command. - -1999-08-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * FAQ: Updated to latest version from Juergen. - - * demo/airfoil.dem: Use 'set nozeroaxis' instead of 'set nozero'. - - * docs/gnuplot.doc, set.c, show.c: Remove 'set data', 'set function', - 'set linestyle' commands (but keep 'set nolinestyle' for now). Replace - with 'set style data|function|line'. - - * src/hidden3d.c(set_hidden3doptions): Rewrite to use - table-oriented parser. - - * src/plot.h, src/plot2d.c, src/plot3d.c, src/setshow.h: Remove - LP_PARSE macro. Now a function in set.c. - - * src/plot2d.c: Rearrange some code. - - * src/set.c: Extensive 'set' command parser restructuring. - - * src/syscfg.h: New FAQ location. - - * src/tables.c, src/tables.h: New table for 'plot', 'set hidden3d', - 'set key', plot style options. - - * src/term.c(term_start_multiplot,term_end_multiplot): Increment - c_token (was previously done in set.c). - - * src/variable.h: Rename set_loadpath to set_var_loadpath and - set_locale to set_var_locale. - - * tutorial/Makefile.am.in: Use TEXINPUTS variable from environment. - -1999-08-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc: Fix inconsistencies (command is set/show bars, - not bar). - - * src/set.c(set_command), src/show.c(show_command): Re-import correct - message string. - - * src/setshow.h: Remove show_version_long() prototype and - SETSHOWMSG define. - - * src/show.c: Extensive 'show' command parser restructuring. - - * src/tables.c(set_tbl): Add "no" variables. - - * src/tables.h(set_id): Add missing values. - - * src/variable.h: Remove show_* defines, now functions in show.c. - -1999-08-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/command.c: Add missing parser functions and cases. Remove - command_tbl, lookup_command(). - - * src/command.h: CAPTURE_FILENAME_AND_FOPEN() macro moved from - command.c. - - * src/setshow.h: Remove enum setshow_id. - - * src/show.c: Remove show_tbl. Remove lookup_show() and replace - with call to lookup_table(). - - * src/tables.c: Add set_tbl for set and show commands. - - * src/tables.h: New enum set_id to replace setshow_id from setshow.h. - -1999-08-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/Makefile.in: check target must depend on all target. - - * src/Makefile.am, src/makefile.all: Add new files tables.c, tables.h - to gnuplot_SOURCES. - - * src/command.h: enum command_id moved to tables.h. - - * src/tables.c, src/tables.h: New files for table lookup structures - and functions. - -1999-07-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Add new file save.c to gnuplot_SOURCES. - - * src/command.h, src/graphics.h: Remove duplicate AXIS_ARRAY_SIZE - #define. - - * src/datafile.c(df_open): Fix coredump opening empty filename. - - * src/datafile.c: Split plot option parser into smaller functions. - - * src/datafile.c: valid_format() moved from misc.c. - - * src/misc.c: Move all `save' related functions and definitions - to save.c. Move all `show' related functions and definitions to - show.c. Move valid_format() to datafile.c. - - * src/protos.h: Update prototype declarations. - - * src/save.c: New file, `save' related functions from misc.c. - - * src/setshow.h: <sys/utsname> inclusion moved to show.c. - - * src/show.c: Include <sys/utsname>. Functions moved from misc.c. - - * src/show.c(conv_text): Now uses internal, malloc'd but statically - referenced memory for conversion target. - - * term/driver.h: Remove extern references to xsize, ysize. - -1999-07-27 Lars Hecking <lhecking@nmrc.ucc.ie> - - * README.1ST: Add note about gif support/gd library. - - * m4/path-hdr.m4, m4/path-lib.m4: Change search order for directories. - --with-* options must have precedence. - - * src/command.c: Split command() into smaller functions to prepare - for parser improvement. - - * src/command.h: Remove CMD_QUIT (same as CMD_EXIT). - - * src/fit.c, src/protos.h: Rename do_fit() to fit_command(). - - * src/show.c: Fix typos. - - * src/term.c(test_term): Increment c_token (moved from command.c). - - * term/gif.trm: Add further notes about gd library. - -1999-07-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.c(test_term): Right-justify the output of the 'test tics' - string. - - * src/src/win/wgnuplib.h, src/win/winmain.c, src/win/wtext.c: - Fix crash that happens when 16bit wgnuplot is terminated via - Windows-close operations. - -1999-07-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/command.c: Add history command to table, remove duplicate - entry. - - * src/plot.h: Add some global variables from command.c. - - * src/plot2d.c, src/plot3d.c, src/set.c, src/show.c: Remove - references to global variables, now in plot.h. - - * src/show.c: Add table for `show' commands. Remove simple one-line - functions and reimplement as #define's. Merge show_one() and - show_two() back into show_command(). Add function for table-lookup. - - * src/util.c(m_capture,m_quote_capture): Don't free() string pointer, - use gp_realloc() instead of gp_alloc(). - -1999-07-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/command.c: Pass command string to be executed by system() to - do_system() as argument. - - * src/command.c(command): Use dynamic memory to hold string for - `pause' command. - - * src/command.c(command), src/command.h: Add modified version of - Petr Mikulik's `system' patch (new command). - - * src/plot.h: Reference extern constants from version.c. - - * src/plot2d.c: Reformatting. Add missing cases in switch statements. - - * src/setshow.h, src/show.c: Restructure `show' command parser to - use table lookup. - - * term/Makefile.am.in: Add post.h to EXTRA_DIST. - - * term/ai.trm, term/mif.trm, term/png.trm, term/post.trm: Remove - declarations vor version.c constants (now in plot.h). - -1999-07-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Add new file parse.h. - - * src/command.c(command): Restructure command parser in command.c - to use command table. New function lookup_command(). - - * src/command.h: Add new enum type for gnuplot commands. - - * src/graph3d.c: Comment out unused variables. - - * src/parse.h: New file. - - * src/plot.c: Function init_memory() moved over from command.c. - - * src/plot.h: Move enum operators, struct at_entry and struct at_type - to parse.h. Include parse.h. - - * src/protos.h: Remove init_memory() prototype. - -1999-07-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c: Swap usage of axis_zero[SECOND_X_AXIS] and - axis_zero[SECOND_X_AXIS]. - -1999-07-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.os9: Fix support for current directory structure. - - * docs/doc2hlp.c, docs/doc2html.c, docs/doc2ipf.c, docs/doc2ms.c, - docs/doc2rnh.c, docs/doc2rtf.c, docs/doc2tex.c, docs/doc2x.h, - docs/termdoc.c: Use TBOOLEAN instead of boolean. - - * src/gplt_x11.c: Remove disfunctional code using poll(2). - - * src/hidden3d.c(plot3d_hidden): Revert to previous version of code. - - * term/pbm.trm, term/png.trm: Move defines outside TERM_BODY - definition. - - * term/pslatex.trm: Include post.h. - - * term/post.h: New file. - - * term/post.trm: Move defines and variable declarations to new - post.h header file. - -1999-07-09 John W. Eaton <jwe@bevo.che.wisc.edu> - - * src/gplt_x11.c: gnuplot_x11.c does not appear to read input - in some cases, possibly related to input buffering by fgets(). - See http://www.che.wisc.edu/octave/mailing-lists/help-octave/1998/88 - for details. - -1999-07-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/pgnuplot.c: New, improved version by Craig R. Schardt. - -1999-07-08 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/makefile.vms: Add defines to compiler flags. - - * src/command.c, src/plot.c: Add include statements for VMS. - - * src/fit.c(Dblfn): Use the correct format strings for fprintf(). - - * src/protos.h, src/scanner.c: Fix scanner() prototype. - - * src/util.c(lower_case): char *p now signed. - -1999-07-07 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: Add -DHAVE_STRCSPN to CFLAGS. - - * src/command.c: Reorder some statements. - -1999-07-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.djg, src/ctrl87.c, src/ctrl87.h: Removed. Drop - support for obsolete DJGPP version 1. - - * src/Makefile.am, src/Makefile.in, src/Makefile.maint, src/plot.c: - Remove support for DJGPP version 1. - -1999-07-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc, src/command.c: Allow "-" for stdout as filename - in `save' command. - - * src/protos.h, src/term.c, src/version.c: More const qualifiers. - -1999-07-04 Albert Chin-A-Young <china@thewrittenword.com> - - * src/command.c, src/time.c: Bring "%y" date format interpretation - in line with Open Group recommendations wrt Y2K. - -1999-06-29 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/makefile.vms: More improvements. - - * term/x11.trm: Fix argument passing to gnuplot_x11 on VMS. - -1999-06-25 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: Updated for renamed configure macros. - - * configure.in: Changed for new GP_PATH_LIB macro, which replaces - GP_SEARCH_LIBDIRS. - - * m4/path-llib.m4: New macro file, replaces search-lib.m4. - - * src/Makefile.am: Add OpenStep directory and x11.opt to EXTRA_DIST. - -1999-06-25 Leigh Smith <leigh@tomandandy.com> - - * src/OpenStep/: New files for complete MacOS X Server port. - -1999-06-25 John Hasstedt <manager@nuclear.physics.sunysb.edu> - - * config/makefile.vms: Updated to work with mmk and build gnuplot_x11, - fixes. - - * docs/doc2hlp.vms: Removed, functionality is now in makefile.vms. - - * src/gnuplot.opt: Updated. - - * src/scanner.c: Some changes in the VMS parts. - - * src/x11.opt: New file for VMS. - -1999-06-25 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in, m4/*.m4: All gp_* macros renamed to GP_*. - - * term/cgm.trm, term/fig.trm, term/gif.trm, term/metafont.trm, - term/metapost.trm, term/mif.trm, term/post.trm, term/pstricks.trm: - Add more const qualifiers to reduce compiler warnings. - -1999-06-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/bitmap.c, src/bitmap.h: Add const qualifier to char * arg in - b_put_text(). - - * src/command.c(do_help), src/fit.c(fit_interrupt), - src/gplt_x11.c(preset), src/graph3d.c(do_3dplot), - src/help.c(ShowSubtopics), src/plot2d.c(parametric_fixup): Replace - calls to sprintf() with strcpy() and strcat(). - - * src/graphics.c, src/graphics.h: Fix a couple of off-by-one - gp_alloc() errors recently introduced by me. Make gprintf() global. - - * src/term.c(list_terms): Make static array dynamic. Use strcpy() - instead of sprintf(). - - * term/README, term/*.trm: Change third argument to all *_put_text() - functions to const char *, in line with the definition of struct - termentry in plot.h. Make argument to *_set_font const. - - * term/amiga.trm: Replace static arrays for AMIGA_FontName and - temporary arrays with AllocMem()'d memory. - - * term/post.trm, term/tgif.trm, term/tpic.trm: Replace fprintf() with - fputs() in many places. - -1999-06-21 Albert Chin-A-Young <china@thewrittenword.com> - - * configure.in, docs/Makefile.in, term/gnugraph.trm: Use plotcompat.h - header file from GNU plotutils 2.2 for backwards compatibility instead - of our own code. - -1999-06-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Do not transfer focus to the icon of minimized - gnupmdrv. - -1999-06-20 William D Kirby <wdkirby@ix.netcom.com> - - * config/makefile.cyg: Modified for new directory structure. - - * src/scanner.c(substitute): Fix function args for non-Unix compilers. - -1999-06-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Add test for strcspn(). - - * src/Makefile.am: stdfn.c not required for gnuplot_x11 anymore. - - * src/Makefile.maint, src/show.c, src/version.c: Rename version to - gnuplot_version, rename patchlevel and date accordingly. - - * src/binary.c, src/bitmap.c, src/command.c, src/contour.c, - src/datafile.c, src/eval.c, src/fit.c, src/graphics.c, src/hidden3d.c, - src/misc.c, src/parse.c, src/plot2d.c, src/plot3d.c, src/readline.c, - src/scanner.c, src/set.c, src/setshow.h, src/util.c, src/util.h: - Don't cast first arg to gp_alloc() and second arg to gp_realloc(). - Change some declarations from int to size_t, add const qualifiers. - - * src/fit.c, src/fit.h: New variadic function Dblfn() to replace - Dblf*() defines. - - * src/gplt_x11.c: Back to use strncpy() instead of safe_strncpy(), so - that we don't need to link with stdfn.o. - - * src/help.c: Use strcspn() instead of instring(). Fix bug in row - sorting part in ShowSubtopics(). - - * src/matrix.c: Include plot.h. - - * src/misc.c: Remove instring() function. - - * src/plot.c, src/plot.h: Replace IO_ERROR/IO_SUCCESS with - EXIT_FAILURE/EXIT_SUCCESS, resp. - - * src/protos.h: Add prototype for gp_strcspn(). - - * src/stdfn.c, src/stdfn.h: Add new function gp_strcspn() as - replacement for instring(). - - * term/*.trm: Prepare function definitions for transition to ANSI C. - -1999-06-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Add check for strdup(). - - * src/ansichek.h: ANSI_C was only defined for non-autoconf platforms. - - * src/graph3d.c: Remove duplicate functions CheckLog() and LogScale(). - - * src/graph3d.c(do_3dplot), src/graphics.c(do_plot): Remove static - array char ss[]. Replace with malloc'd memory where necessary, and - use write_multiline() without temporary strings (see change in - graphics.c(write_multiline) below). - - * src/graphics.c: Make CheckLog() and LogScale() global. Make - graph_error() variadic. - - * src/graphics.c(boundary): Make other necessary changes to complete - HBB's floating point inaccuracy patch. - - * src/graphics.c(write_multiline): Do not mangle the char *text - argument. With this change, write_multiline() can operate on text - strings directly without the need to use temporary storage. Let it - return directly if text string is NULL or empty. - - * src/graphics.c(label_width): Make char lab[] dynamic. - - * src/help.c, src/misc.c, src/plot.c, src/readline.c, src/term.c, - src/variable.c: Use new gp_strdup() function. - - * src/help.c(ShowSubtopics): Fix bug in M. Gardner's help formatting - patch. - - * src/util.c: New gp_strdup() function, uses strdup() if available. - -1999-06-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c: Fix bug in 3d plot positioning. - -1999-06-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Add new header file datafile.h. - - * src/alloc.c, src/alloc.h, src/fit.c, src/graph3d.c, src/graphics.c, - src/misc.c, src/set.c, src/util.c, src/util.h: Add const qualifier to - function and variable declarations. - - * src/bf_test.c: Fix int_error() calls. - - * src/datafile.h: New header. - - * src/graphics.h: Move graphics.c function prototypes from protos.h. - - * src/plot.h: Include datafile.h. - - * src/plot2d.c, src/plot3d.c, src/scanner.c: Remove duplicate STDOUT - define. - - * src/protos.h: Move graphics.c function prototypes to graphics.h. - - * src/variable.h: Remove superfluous ';'. - -1999-06-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c(boundary): Fix bug introduced by floating point - inaccuracy ("Postscript Multiplot bug" thread on bug-gnupot). - -1999-06-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * CodeStyle, TODO: Updated. - - * docs/*.c: Add RCSid's, move function return types to separate - line for ansi2knr. - - * src/Makefile.am: Remove TERMLIBS, TERMXLIBS (automatically added - by automake). - - * src/bitmap.c, src/bitmap.h, src/datafile.c, src/fit.c, src/graph3d.c, - src/hidden3d.c, src/misc.c, src/parse.c, src/term.c: Move inclusion of - command.h to plot.h. - - * src/command.c, src/command.h, src/graphics.c, src/graphics.h, - src/util.c: Cleanup, move declarations and defines to the resp. header - file. - - * src/interpol.c, src/plot2d.c, src/plot3d.c: Remove unused define. - - * src/plot.c: Move declarations and defines to header files. - - * src/plot.h: Add declarations and header file inclusions. - - * src/protos.h: Move function declarations to new header files. - - * src/set.c: Re-add variable declarations, remove set_locale(). - - * src/setshow.h: Remove reference to global cur_locale variable. - - * src/show.c: Remove show_locale() function. - - * src/util.h, src/util3d.c: New header files. - - * src/variable.c, src/variable.h: Add new locale_handler() function. - - * term/mac.trm: Split long line in terminal help. - - * term/vws.trm: Remove nested extern function declaration. - -1999-06-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.am: Add AM_CPPFLAGS (hard-wired flags for CPP and CC). - Remove explicit targets, doesn't work with ansi2knr. - - * term/pslatex.trm: Fix auxiliary ps filename creation, strip pathname - off filename written to LaTeX file. - -1999-06-12 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/png.trm: Add note about default output size to terminal help. - -1999-06-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.maint: Add configure options to my-distcheck. - - * docs/Makefile.in: Better way to build allterm.h. - - * docs/doc2rnh.c: Remove nested comment. - - * src/Makefile.am: Add ansi2knr stuff, include makefile.all. Add - new files command.h, graphics.h, remove fnproto.h. - - * src/Makefile.maint: Add ansi2knr. - - * src/ansi2knr.c, srcansi2knr.1: New files from automake distribution, - to prepare for transparent compilation of ANSI/ISO C with K&R - compilers. - - * src/command.c, src/datafile.c, src/fit.c, src/graph3d.c, - src/graphics.c, src/hidden3d.c, src/interpol.c, src/misc.c, src/plot.h, - src/plot2d.c, src/plot3d.c, src/set.c, src/setshow.h, src/util3d.c: - Move some declarations to command.h and graphics.h. - - * src/command.h, src/graphics.h: New header files. - - * src/fnproto.h: Removed. - - * src/internal.c, src/specfun.c, standard.c: Don't include fnproto.h. - - * src/parse.c, src/plot.c, src/show.c, src/term.c: Include command.h. - - * src/protos.h: Add contents of fnproto.h. - -1999-06-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Codestyle: Add note about #error and #warning directives. - - * configure.in: Remove errorfix stuff. - - * src/Makefile.maint: Remove Makefile.in target. - - * src/bf_test.c, src/stdfn.c, src/variable.c: Indentation. - - * src/gplt_x11.c, src/stdfn.h, src/time.c, term/cgm.trm: Make - strncasecmp() default instead of strnicmp(). - - * src/help.c, src/plot.h, src/set.c, src/syscfg.h, src/term.c: Remove - #error and #warning directives. - - * term/pm.trm: Minor fixes. - -1999-06-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Use TERMLIBS instead of LIBS in readline test. - Use AM_CONDITIONAL for BeOS build. - - * m4/beos.m4: Replace GNUPLOT_BE with build_src_beos_subdir. - - * src/Makefile.am: New file. - - * src/Makefile.maint: Remove Makefile.in target. - - * src/beos/Makefile: Add some variables and targets required for - 'make dist'. - - * src/command.c(command): Remove a few static arrays. - - * term/metapost.trm, term/tkcanvas.trm: Comment out some unused vars. - - * term/vws.trm: Remove nested comment. - -1999-06-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/contours.dem, demo/singulr.dem, demo/surface2.dem, - demo/world.dem: Adjust to new 'set view <z_scale>' method. - - * src/graph3d.c(boundary3d, do_3dplot): Suppress calculation of - key_cols and key_rows if key is empty. Fix 'set view <z_scale>'. - -1999-06-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/ChangeLog, lisp/gnuplot.el: Updated to 0.5g. - - * lisp/acinclude.m4: Latest lispdir.m4 from automake-cvs. - - * lisp/aclocal.m4, lisp/configure: Regenerated. - - * src/alloc.h: src/binary.h, src/bitmap.h, src/fnproto.h, src/help.h, - src/national.h, src/protos.h, src/setshow.h: Protect against multiple - inclusion. - - * term/mac.trm: Rearrange to match terminal layout guidelines. - - * tutorial/header.tex: Add comment about LaTeX warning. - -1999-06-08 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * src/set.c(get_style): Add new errorlines styles to error message. - -1999-06-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/gif.trm(GIF_graphics): Fix off-by-one error in y-scaling. - -1999-06-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/alloc.c: Indentation. - - * src/command.c, src/datafile.c, src/plot.c, src/protos.h, src/set.c: - Pass only one arg to gp_expand_tilde. - - * src/datafile.c(df_open): More efficient code to allocate memory - for data file name. - - * src/time.c: Fix int_* calls. - - * src/variable.c: In ACTION_GET, handle loadpath == NULL case. - - * term/tkcanvas.trm: Remove "nested extern" declarations. - -1999-06-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: 'make check' now passes GNUTERM from - the command line to gnuplot. - - * src/eval.c, src/fit.c, src/plot.h: Remove static limit for name - of user defined functions and variables. - -1999-06-04 Allin Cottrell <cottrell@ricardo.ecn.wfu.edu> - - * term/latex.trm: Changed to make embedding document font - the default font. - -1999-06-03 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * PORTING: More descriptive entries for ANSI_C, OS/2. - - * config/makefile.os2, src/command.c, src/stdfn.h, src/term.c: - Patches for OS/2. - - * src/util.c: Another typo fixed. - -1999-06-03 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: Remove comment. - - * src/os2/gnupmdrv.rc: Add define and include file. - - * src/readline.c: Two minor changes in the USE_MOUSE code. - -1999-06-03 David Dyck <dcd@tc.fluke.com> - - * src/util.c: Fix VPRINTF/VFPRINTF typos. - -1999-06-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/Makefile.in: Add -I$(srcdir) to INCLUDES. - - * src/command.c(replotrequest): On a ';' separated command line, - everything after 'replot' was ignored if 'replot' was used with - no arguments. - - * src/util.c(lower_case): Argument to tolower() is type int. - - * src/variable.c(loadpath_handler): K&Rify function prototype, - use memmove() instead of strncpy() in ACTION_SET because objects - may overlap. - - * src/tkcanvas: Now compiles with SunOS/cc. - -1999-05-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * aclocal.m4, configure: Regenerated. - - * m4/apple.m4: Remove unnecessary line. - - * src/Makefile.maint: Cosmetic changes. - - * src/alloc.c, src/binary.c, src/bitmap.c, src/command.c, - src/datafile.c, src/eval.c, src/fit.c, src/graphics.c, src/hidden3d.c, - src/internal.c, src/interpol.c, src/misc.c, src/parse.c, src/plot.c, - src/plot2d.c, src/plot3d.c, src/readline.c, src/scanner.c, src/set.c, - src/show.c, src/standard.c, src/term.c, src/util.c, term/atariaes.trm, - term/atarivdi.trm, term/cgi.trm, term/emxvga.trm, term/epson.trm, - term/fig.trm, term/gif.trm, term/hp500c.trm, term/hpgl.trm, - term/hpljii.trm, term/hppj.trm, term/imagen.trm, term/iris4d.trm, - term/linux.trm, term/multitos.trm, term/pbm.trm, term/png.trm, - term/rgip.trm, term/tgif.trm, term/x11.trm: Adjust calls to - os_error(), int_error() and int_warn() to new prototype declaration. - - * src/help.c: Replace calls to malloc() with gp_alloc(). - - * src/protos.h: New prototype declarations for os_error(), int_error() - and int_warn(). - - * src/util.c: Error and warning functions os_error(), int_error() - and int_warn() are now variadic if supported by the runtime. This - eliminates about a dozen small static arrays throughout the sources. - Code more readable now with some new macros. - -1999-05-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config.hin, configure: Regenerated. - -1999-05-30 Mark K. Gardner <mkgardne@cs.uiuc.edu> - - * README.exp, configure.in, src/help.c: Format help and subtopic - tables by row or column. - -1999-05-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/buildvms.com, config/makefile.286, config/makefile.amg, - config/makefile.ami, config/makefile.dj2, config/makefile.djg, - config/makefile.emx, config/makefile.g, config/makefile.msc, - config/makefile.msw, config/makefile.mto, config/makefile.st, - config/makefile.tc, config/makefile.unx, config/makefile.vms, - config/makefile.wc, config/makefile.win, config/makefile.ztc: Added - rules for new files variable.[ch]. - - * config/term_pc.h: Fix typo. - - * demo/Makefile.am.in: Demonstrate use of GNUPLOT_LIB variable in - check-interactive and check-noninteractive targets. - - * src/command.c(command): Use loadpath_fopen() instead of fopen() - for `call` and `load` commands. - - * src/datafile.c(df_open): Use loadpath_fopen() instead of fopen() - to open data file. Fix typo. - - * src/fit.c(do_fit,update): Use loadpath_fopen() instead of fopen() - to open parameter files. - - * src/genopt.com, src/graphics.c: Fix typo. - - * src/gnuplot.opt, src/gnuplot.prj, src/linkopt.ztc: Add new file - variable(.c). - - * src/misc.c, src/protos.h: New function loadpath_fopen(); - - * src/plot.c(main): Use loadpath_fopen() instead of fopen() to - open files named on the command line. - - * src/util.c(m_quote_capture): Remove unused variable escflag, - fix comment. - -1999-05-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * README.1st: Add some notes about gnuplot-mode.el. - - * docs/gnuplot.doc: Add documentation for GNUPLOT_LIB and loadpath. - - * lisp/README, lisp/gnuplot-gui.el, lisp/gnuplot.el, - lisp/gpelcard.tex: Updated to version 0.5f of Bruce Ravel's - gnuplot-mode. - - * src/Makefile.maint: Add generation of Makefile.in, other small - additions. - -1999-05-27 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, aclocal.m4, config.hin, configure, m4/Makefile.am, - m4/Makefile.in, src/makefile.all, term/Makefile.am, term/Makefile.in: - Regenerated. - - * configure.in: Replace unconditional addition of "-lm" to LIBS - with test for sin in math lib. - - * term/gif.trm: Change contributor email address. - -1999-05-27 Leigh Smith <leigh@tomandandy.com> - - * m4/apple.m4, term/openstep.trm: New files for MacOS X Server port. - - * configure.in, src/Makefile.in, src/term.h: Patch for MacOS X - Server port. - -1999-05-26 Juergen v. Hagen <vonhagen@ihefiji.etec.uni-karlsruhe.de> - - * docs/gnuplot.doc: Minor correction for set arrow front/back. - -1999-05-20 Mark K. Gardner <mkgardne@cs.uiuc.edu> - - * docs/gnuplot.doc, src/graph3d.c, src/graphics.c, src/hidden3d.c, - src/misc.c, src/plot.h, src/plot2d.c, src/set.c, src/show.c: - Implementation of "errorlines", "xerrorlines", "yerrorlines", and - "xyerrorlines" styles. - -1999-05-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.os2: Add HAVE_UNISTD_H to EMXSPECIFIC. - - * src/Makefile.in, src/misc.c, src/plot.c, src/setshow.h, src/show.c, - src/syscfg.h, src/variable.c, src/variable.h: Implementation of - 'loadpath' variable. - -1999-05-19 Thomas Sefzick <t.sefzick@fz-juelich.de>, Slaven Rezic <eserte@cs.tu-berlin.de> - - * term/tkcanvas.trm: Integrate Slaven Rezic's perltk.trm plus some - minor modifications. - -1999-05-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c, src/graph3d.c, src/readline.c, src/os2/dialogs.h, - src/os2/gclient.c, src/os2/gnupmdrv.ipf, src/os2/gnupmdrv.rc, - term/pm.trm: Latest OS/2 mouse update. - -1999-05-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * aclocal.m4, configure: Regenerated. - - * m4/select.m4: Add 'void' to select fd_set test. - - * src/Makefile.in: Remove commitvers from EXTRA_DIST. - - * src/command.c(command): Clean up some ifdefs. - - * src/commitvers: Removed. - - * src/term.h: Add metapost.trm. - - * term/Makefile.am, term/Makefile.in: Add metapost.trm. - -1999-05-15 Daniel H. Luecking <luecking@comp.uark.edu> - - * term/metapost.trm: New gnuplot driver for metapost output. - -1999-05-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: Improved check-* targets. List *.par files - explicitly in EXTRA_DIST to avoid inclusion of generated .par files. - - * src/datafile.c(df_open): Storage for data file name is now fully - dynamic. Remove temporary static array. - - * src/set.c, src/setshow.h, src/show.c: Turn identical setmess/showmess - string into #define'd symbol. - - * src/syscfg.h: Add PATHSEP symbol. - -1999-05-14 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * BUGS: Remove duplicate entry. - - * src/plot2d.c: Better handling of empty data files (no more - misleading "xrange is invalid" messages). - -1999-05-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/Makefile.in: Add empty check target. - - * src/fit.c(do_fit), src/graphics.c(gprintf): Adjust static array - size. - - * src/misc.c(save_set_all), src/plot.h, src/set.c, src/show.c: Now - fully dynamic allocation of text and font members in struct text_label. - -1999-05-13 James R. Van Zandt <jrv@vanzandt.mv.com> - - * term/cgm.trm(CGM_linewidth): Change assertion to more useful - value (0 instead of 1.0). - -1999-05-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * NEWS, PATCHLEVEL: Updated. - - * docs/gnuplot.doc, src/scanner.c: Just strip newlines in the output - produced by spawned commands. They are NOT replaced with blanks - anymore. - - * src/command.c: Fix indentation, potential buffer overflow. - -1999-05-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/Makefile.in: Add empty uninstall target. - - * src/readline.c: Fix indentation of USE_MOUSE statements. - - * term/post.trm(PS_options): No c_token++ after - real(const_express(&a)). Suggested by Petr Mikulik. - -1999-05-11 Dick Crawford <u600256@gamma.lanl.gov> - - * src/graphics.c: Fix for y-position of the timestamp. - -1999-05-10 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * config/makefile.os2: Minor updates and corrections. - - * src/misc.c(load_file): Fix for "gnuplot doesn't exit on - quit/exit in non-interactive mode". - -1999-05-09 James R. Van Zandt <jrv@vanzandt.mv.com> - - * src/plot.h: MAX_DISCRETE_LEVELS removed. - - * src/set.c (set_one): Allocate and enlarge levels_list array - dynamically. - - * src/setshow.h: levels_list is now dynamic. - -1999-05-08 James R. Van Zandt <jrv@vanzandt.mv.com> - - * docs/gnuplot.doc: Command substitution will not work within a - string surrounded by single quotes. Show an example of command - substitution within a quoted string. - - * src/command.c, src/protos.h: scanner() now takes two args. - - * src/scanner.c (scanner): Command substitution works - within a string surrounded by double quotes. - - * src/scanner.c (scanner): Add one level of indirection to input - parameter, so the array that holds the expression can be - reallocated if necessary. - - * src/scanner.c: substitute() can dynamically enlarge the array - that holds the input line. Static arrays converted to dynamic - arrays. - -1999-05-05 Peter Hackenberg <phackenberg@aip.de> - - * term/fig.trm: Quote `\`, fix linestyle 201 to give a solid line, - draw dotted lines with CAP_ROUND. - -1999-05-05 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2, src/command.c, src/readline.c, - src/os2/dialogs.h, src/os2/gclient.c, src/os2/gnupmdrv.ipf, - src/os2/gnupmdrv.rc, term/pm.trm: Latest version of OS/2 mouse patch. - -1999-05-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config/makefile.os2: Run latex2e three times to update the table of - contents properly. Suggested by Petr Mikulik. - -1999-04-29 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Updated. - -1999-04-29 Daniel H. Luecking <luecking@comp.uark.edu> - - * term/metafont.trm(MF_init): Fix typos (GPMAX->max). Better vertical - adjustment for text. - -1999-04-27 Lars Hecking <lhecking@nmrc.ucc.ie> - - * README.1st: Note new location of djconfig.sh. - - * TODO: Add new topic. - - * docs/Makefile.in, term/post.trm: Fix typos. - -1999-04-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * NEWS: Updated. - - * configure: Regenerated. - - * configure.in: Add switches to disable building of files in - the lisp subdir and LaTeX tutorial. - - * docs/gnuplot.doc: Fix typo. - - * src/Makefile.maint: Simplify generation of version.c. - - * src/set.c(set_one): 'set noautoscale' does not accept x2 and y2. - Bug noted by Peter Hackenberg <phackenberg@aip.de>. - - * src/show.c(show_autoscale): 'show autoscale' does not show - 'x2' and 'y2'. Bug noted by HBB. - -1999-04-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c(eval_plots): Bugfix for logscale y2 plots. - -1999-04-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL, config/makefile.cyg, config/makefile.mgw, - config/makefile.unx, src/Makefile.in, src/show.c: Use BINDIR - instead of GNUPLOT_BINDIR. - -1999-04-22 Thomas Sefzick <t.sefzick@fz-juelich.de> - - * term/tkcanvas.trm: Extended to print the line segment coordinates - on mouse click. - -1999-04-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/Makefile.in: Updated. - - * lisp/acinclude.m4: Macro updated to version from automake-cvs. - - * lisp/aclocal.m4, lisp/configure: Regenerated. - -1999-04-19 Dick Crawford <u600256@gamma.lanl.gov> - - * term/post.trm: Old patch from July 1998, implementing different - colours for key text and sample (blacktext), linewidth, and dashlength - options. See terminal help section for more info. - -1999-04-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/ChangeLog, lisp/README, lisp/gnuplot-gui.el, lisp/gnuplot.el, - lisp/gpelcard.tex: Update to gnuplot-mode version 0.5e. - -1999-04-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * djconfig.sh: Moved to config/. - - * Makefile.am: Add new files VERSION, PATCHLEVEL to EXTRA_DIST. - - * Makefile.in, configure, config/Makefile.am, config/Makefile.in, - src/version.c: Regenerated. - - * NEWS: Updated. - - * configure.in: Simplify code to determine VERSION. - - * config/Makefile.am.in: Add djconfig.sh. - - * src/Makefile.maint: Add target for version.c. - - * src/util.c(m_quote_capture): Fix potential quoting bug. - -1999-04-15 Martin Costabel <costabel@wanadoo.fr> - - * src/misc.c(save_set_all): Split long fprintf() statement up to - work around possible egcs bug on LinuxPPC. - -1999-04-12 Carlos A M dos Santos <casantos@inf.ufrgs.br> - - * docs/Makefile.in: Build documentation in text, dvi,and ps format - with groff. - -1999-04-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Reorder SUBDIRS, update EXTRA_DIST. - - * Makefile.in, demo/Makefile.am, demo/Makefile.in, docs/gnuplot.texi, - lisp/aclocal.m4, lisp/configure: Regenerated. - - * demo/Makefile.am.in: Move binary[123] targets from src/Makefile.in. - - * docs/doc2texi.el: Wrap the @top node in @ifnottex instead of - @ifinfo so `makeinfo --html ...' works. Snarfed from GNU fileutils, - change was by Karl Berry. - - * lisp/acinclude.m4: Better check for lispdir. - - * src/Makefile.in: move binary[123] targets to demo/Makefile.am.in. - -1999-04-07 Juergen v. Hagen <vonhagen@ihefiji.etec.uni-karlsruhe.de> - - * tutorial/header.tex: Change for LaTeX2e. - -1999-04-06 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * src/plot.c: Don't drop root priviledge until VGA is initialised. - -1999-04-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * INSTALL: Change examples in test section. - - * NEWS: Minor change. - - * README.exp: New file to document experimental features. - - * demo/Makefile.am, demo/Makefile.in, lisp/aclocal.m4, lisp/configure: - Regenerated. - - * demo/Makefile.am.in: Add check-interactive and check-noninteractive - targets. - - * lisp/acinclude.m4: New file, improved AM_PATH_LISPDIR macro. - - * src/Makefile.in: Add empty check target. - -1999-04-05 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/dialogs.h, src/os2/gclient.c, src/os2/gnupmdrv.h, - src/os2/gnupmdrv.ipf, src/os2/gnupmdrv.rc, src/os2/ptrcross.ptr, - term/pm.trm: Add mouse capabilities to pm driver for OS/2. - -1999-04-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * src/version.c: Patchlevel 3.7.0.5. - -1999-04-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Add conditional building of lisp files. Remove - CVS directories when building distribution. - - * Makefile.in, aclocal.m4, configure, config/Makefile.in, - demo/Makefile.in, m4/Makefile.in, man/Makefile.in, term/Makefile.in, - tutorial/Makefile.am, tutorial/Makefile.in: Regenerated. - - * configure.in: Conditional build of lisp files and tutorial. - - * lisp/Makefile.in: Remove conditionals for EMACS. - - * tutorial/Makefile.am.in: Add code for conditional build. - -1999-04-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/tkcanvas.trm(TK_vector): Rewrite #define statements which - are rejected by SunOS cc. - -1999-03-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * NEWS: Updated. - - * config.hin, configure, config/Makefile.am, config/Makefile.in, - tutorial/Makefile.am, tutorial/Makefile.in: Regenerated. - - * configure.in: Clean up, eliminate duplicate AC_DEFINE()'s. - - * config/Makefile.am.in, config/makefile.ami, config/makefile.unx, - config/makefile.vms, docs/Makefile.in: Rename doc2hlp.com doc2hlp.vms. - - * docs/Makefile.in: Add alternative to doc2info.c. - - * docs/doc2texi.el, docs/gnuplot.texi: New files. - - * lisp/Makefile.in: Add mkinstalldirs variable. - - * src/Makefile.in: Clean up. - - * tutorial/Makefile.am.in: Fix typo. - -1999-03-31 Berthold Hoellmann <se6y095@public.uni-hamburg.de> - - * configure.in, term/gnugraph.trm: Patch to make things work - with GNU plotutils-2.2. - -1999-03-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.am: Reorder SUBDIRS. - - * Makefile.in, configure, config/Makefile.am, config/Makefile.in, - demo/Makefile.in, m4/Makefile.in, man/Makefile.in, term/Makefile.in, - tutorial/Makefile.am, tutorial/Makefile.in: Regenerated. - - * config/Makefile.am.in: Add term_pc.h to EXTRA_DIST files. - - * lisp/Makefile.in: Add some tests for EMACS=no, remove unnecessary - targets. - - * src/Makefile.in: Rewrite some tests. - - * src/beos/Makefile: Don't rm Makefile in distclean target. - - * tutorial/Makefile.am.in: Add echo line in tutorial.dvi target. - -1999-03-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.dj2, config/makefile.mgw, config/makefile.tc, - config/makefile.win: Changed to reflect new directory structure. - - * config/term_pc.h: Edited copy of src/term.h, tailored for use on - 16bit PC platforms (DOS16, WIN16). To save some work for people - building their own gnuplot on those platforms. - - * docs/Makefile.in: Do not build gnuplot.hlp by default (VMS only). - - * docs/doc2rtf.c: Change exit(EXIT_SUCCESS) to return(EXIT_SUCCESS). - - * src/graphics.c: Workaround for the bug that made 'set key below' - sometimes lack some of the key texts: don't check these texts for - being inside the graph area (xleft..xright). - - * src/term.c: Patched to set stdout to binary on DOS/Windows - platforms. I had to resolve a conflict between term/object.h and - header <fcntl.h>: both #define O_TEXT, for different purposes. - - * win/pgnuplot.c: Fixed for binary file output to stdout. - - * win/wgnuplot.def: Lowered stacksize (again) to make it fit into - those pesky 64KB of DGROUP, again (plot.c grew in DATA size, due to - the strings needed for the tilde expansion code...). - - * term/fig.trm, term/object.h: Rename O_TEXT to OBJ_TEXT, for now. - - * term/win.trm: Change include statement for new directory structure. - -1999-03-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * TODO: Updated. - - * GNUmakefile, Makefile.am, Makefile.in, Makefile.maint, README.1st, - config/Makefile.am, config/Makefile.am.in, config/Makefile.in, - config/README, demo/Makefile.am, demo/Makefile.am.in, - demo/Makefile.in, m4/Makefile.am, m4/Makefile.in, man/Makefile.in, - src/GNUmakefile, src/Makefile.maint, term/Makefile.am, - term/Makefile.am.in, term/Makefile.in, tutorial/Makefile.am, - tutorial/Makefile.am.in: New files. Some of the Makefile.am are - autogenerated. All new Makefile.in are generated by automake. - - * aclocal.m4, configure: Regenerated. - - * configure.in, config/makefile.amg, config/makefile.os2, - docs/Makefile.in, docs/psdoc/Makefile, src/Makefile.in: Changed to - reflect new directory structure. - - * src/makefile.all: Now generated automatically. - - * tutorial/Makefile.in: Now generated by automake. - -1999-03-28 Andy Dougherty <doughera@lafayette.edu> - - * INSTALL: Changed to reflect new directory structure. - -1999-03-27 Lars Hecking <lhecking@nmrc.ucc.ie> - - * NeXT: Move to src/NeXT. - - * docs/latextut: Move to tutorial. - - * 0BUGS, 0FAQ, 0INSTALL, 0PORTING, 0README: Renamed to BUGS ... etc. - -1999-03-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config, src: New directories. - - * buildvms.com, descrip.mms, make_vms.com, makefile.286, makefile.amg, - makefile.ami, makefile.cyg, makefile.dj2, makefile.djg, makefile.emx, - makefile.g, makefile.mgw, makefile.msc, makefile.msw, makefile.mto, - makefile.nt, makefile.os2, makefile.os9, makefile.st, makefile.tc, - makefile.unx, makefile.vms, makefile.wc, makefile.win, makefile.ztc: - Move to new config directory. - - * Makefile.in, alloc.c, alloc.h, amiga.c, ansichek.h, bf_test.c, - binary.c, binary.h, bitmap.c, bitmap.h, command.c, commitvers, - contour.c, corgraph.asm, corplot.c, ctrl87.c, ctrl87.h, datafile.c, - errorfix.sh, eval.c, fit.c, fit.h, fnproto.h, genopt.com, gnuplot.def, - gnuplot.opt, gnuplot.prj, gplt_x11.c, graph3d.c, graphics.c, - header.mac, help.c, help.h, hidden3d.c, hrcgraph.asm, intergra.x11, - internal.c, interpol.c, lasergnu, lineproc.mac, linkopt.vms, - linkopt.ztc, makefile.all, matrix.c, matrix.h, misc.c, national.h, - os9.c, parse.c, pcgraph.asm, plot.c, plot.h, plot2d.c, plot3d.c, - protos.h, readline.c, rgipgnu, scanner.c, set.c, setshow.h, show.c, - specfun.c, standard.c, stdfn.c, stdfn.h, strftime.c, syscfg.h, term.c, - term.h, time.c, util.c, util3d.c, version.c, vms.c: Move to new - src directory. - - * os2/*: Move to src/os2. - - * win/*: Move to src/win. - -1999-03-26 Remko Scharroo <remko@deos.tudelft.nl>, Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c: Add fitting of data in time format. - -1999-03-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * NEWS: Fix typo. - - * datafile.c(df_open): Only read from stdin if the complete filename - given is '-'. - - * docs/latextut/Makefile.in: Use new gnuplot executable to create - .tex files, if available. - -1999-03-26 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/png.trm: Don't call obsolete png_write_init() function. - -1999-03-26 Thomas Sefzick <t.sefzick@fz-juelich.de> - - * term/tkcanvas.trm: Extended interactive Tk/Tcl capabilities. - -1999-03-25 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Add pgnuplot.c to WINDOWS variable. - Add m4/Makefile.am.in and m4/README to ETC. Variable. - - * command.c, datafile.c: Change calls to gp_expand_tilde() to match - new prototype. - - * configure: Regenerated. - - * configure.in: Move macros from lisp/configure.in up here, generate - lisp/Makefile. - - * plot.c(gp_expand_tilde): Use char ** instead of char * as first arg. - - * protos.h: New prototype for gp_expand_tilde(). - - * set.c(set_two): Add tilde expansion in 'set output' command. - - * docs/Makefile.in: Re-add srcdir variable, set EMACS at configure - time. - - * docs/doc2info.c(convert): Add info directory entry to header of - generated info file. - - * lisp/ChangeLog, lisp/Makefile.dst, lisp/Makefile.in, lisp/README, - lisp/gnuplot-gui.el, lisp/gnuplot.el, lisp/gpelcard.tex: Import - latest version from Bruce Ravel. - - * term/pstricks: Correct off-by-one error in strncpy() call. - -1999-03-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * aclocal.m4: Regenerated. - -1999-03-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all, docs/Makefile.in, docs/psdoc/Makefile, - lisp/Makefile.in: Cleaning up, configure related changes. - - * alloc.c(checked_free): Fix core dump in TRACE_ALLOC call. - - * command.c(command): Don't allocate memory for sv_file directly. - Replace calls to quote_str() with m_quote_capture() and free sv_file - before returning. - - * configure: Regenerated. - - * configure.in: Rearrange AC_OUTPUT(). - -1999-03-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Rename docs/ps docs/psdoc. Old directory - interferes with ps target in docs/Makefile.in. - - * TODO: Typo fixed. - - * configure: Regenerated. - - * configure.in: Remove obsolete rm command in AC_OUTPUT(). - - * docs/ps: Renamed docs/psdoc. - -1999-03-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pslatex: Hopefully complete fix for off-by-one segmentation - fault. - -1999-03-17 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Better docs for 'set missing'. - -1999-03-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS, 0INSTALL, 0PORTING, 0README, TODO: Updated. - - * Makefile.in, configure.in: Rename X_LIBRARIES variable to - LIBRARIES_FOR_X because _LIBRARIES suffix is reserved for automake. - - * configure: Regenerated. - - * makefile.amg, makefile.djg: Updated. - - * lisp/configure: Regenerated. - - * lisp/configure.in: Strip path from EMACS variable. This is really - a hack ... - -1999-03-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure, lisp/aclocal.m4, lisp/configure: Regenerated. - - * configure.in: Don't generate list of terminal drivers. - - * makefile.cyg, makefile.mgw, makefile.nt: Use $(CORETERM) instead of - $(CSOURCE5) $(CSOURCE6) $(CSOURCE7). - - * docs/Makefile.in: Hardwire terminal sources into Makefile. - - * lisp/aclocal.m4: Deleted (regenerated version uses bugfixed - AM_PATH_LISPDIR macro from automake). - -1999-03-16 Dick Crawford <u600256@gamma.lanl.gov> - - * graphics.c(boundary): Fix to plot all lines in multiline labels - within plot borders. - -1999-03-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * makefile.286, makefile.amg, makefile.ami, makefile.cyg, makefile.dj2, - makefile.djg, makefile.emx, makefile.g, makefile.mgw, makefile.msc, - makefile.msw, makefile.mto, makefile.nt, makefile.os2, makefile.os9, - makefile.st, makefile.tc, makefile.vms, makefile.wc, makefile.win, - makefile.ztc: Add missing RCS Id's. Make file headers more uniform - for easier identification. - - * plot.c(load_rcfile): Fix typo in free() statement. - - * demo/surface1.dem: Increase zrange. - - * term/be.trm: Some fixes by Xavier. - - * term/x11(X11_init): Better coding style, suggested by A. Mai. - Use execvp() in CRIPPLED_SELECT version of X11_init. - -1999-03-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Configure options updated. - - * 0README: Distribution sites updated. - - * NEWS: Updated. - - * command.c, show.c, term/multitos.trm: Use external user_gnuplotpath - variable on Atari/MTOS. - - * plot.c: Put user environment handling code into one function. - Add handling of GNUPLOTPATH on Atari/MTOS. - - * stdfn.h: Add GP_GETCWD definition for OS/2 from syscfg.h. - - * syscfg.h: Move GP_GETCWD for OS/2 to stdfn.h, don't include - stdfn.h. - - * version.c: New patchlevel and date. - -1999-03-11 Jon Garibaldi <jong@rome.cis.plym.ac.uk> - - * term/cgm.trm(CGM_write_char_record): Fix bug trying to write - from NULL pointer. - -1999-03-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h: Remove symbols whose description was moved to - configure.in. - - * aclocal.m4, config.hin, configure: Regenerated. - - * command.c: Add extern user_shell reference. Simplify the do_shell() - variants accordingly. - - * configure.in: Change evaluation of with-cwdrc option. Add option - for experimental thin plate splines. Add description to all - AC_DEFINE() statements. - - * makefile.os2: Add -DHAVE_SLEEP to EMXSPECIFIC. - - * plot.c: Add global variable for user shell. New function - getenv_user_shell(). - - * plot3d: Add patch by Jean-Michel Savignat <savignat@cges.ensmp.fr> - to implement thin plate splines. - - * syscfg.h: Add SHELL definitions for DOSish systems. - - * term.c(term_set_output): Initialise FILE *f. - - * m4/dos.m4, m4/select.m4: Add description to AC_DEFINE() statements. - -1999-03-10 Werner Fink <werner@suse.de> - - * plot.c, term/linux.trm: New functions to assume and drop root - privileges. - - * demo/contours.dem, demo/fit.dem: Small patches, axis ranges etc. - - * docs/gnuplot.doc: Fix some backquotes. - - * docs/latextut/Makefile.in: Use @prefix@ instead of /usr/local. - -1999-03-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * command.c(command): Make sv_file dynamic. Use gp_expand_tilde() - where appropriate. - - * config.hin, configure: Regenerated. - - * configure.in: Add <sys/param.h>. - - * datafile(df_open): Make filename dynamic. Use tilde expansion. - - * plot.c: Add global variable for user home directory. Use new - function getenv_user_homedir() in main(). Rewrite load_rcfile to - not use static arrays. New function gp_expand_tilde(). - - * plot.h: Define PATH_MAX. New macro PATH_CONCAT. - - * protos.h: Prototype for gp_expand_tilde(). - - * term/iris4d.trm: Rewrite IRIS4D_init() to eliminate potential - security risk. - -1999-03-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure: Regenerated. - - * configure.in: Make --with-linux-vga=no the default. Add security - notice to configuration report. - - * plot.c(load_rcfile): Change order of tests in if statement. - - * show.c: Small changes. - - * syscfg.h: Use linux and __linux preprocessor symbols. - - * term/be.trm: Use execvp() instead of execl() to start outboard - driver, and related changes, indentation. - -1999-03-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * datafile.c(df_tokenise): Change casts in isspace() to unsigned - char. Fix bug in for() loop. - - * fit.c(regress): Remove unneeded call to free(). - -1999-03-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/be.trm: Convert tabs to spaces in help text. - -1999-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pslatex.trm(PSLATEX_init): Fix off by one error when - copying string. - -1999-03-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h, configure.in: Remove --enable-system-time from configure - and related files. - - * config.hin, configure: Regenerated. - - * time.c: Indentation. - -1999-03-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * help.c: Test for DOS16 instead of MSDOS. - - * term/latex.trm: Indentation. - -1999-03-02 Alois Steindl <asteindl@mch2ws2.tuwien.ac.at> - - * graphics.c(boundary): Fix problem with negative aspect ratio. - - * term.c(init_term): Fix NEXT initialisation. - - * term/next.trm: Remove erroneous whitespace. - -1999-03-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * config.hin, configure: Regenerated. - - * configure.in: Add vfprintf, doprnt. - - * makefile.amg: Small changes, fix typos. - - * stdfn.h: Add definitions to deal with varargs. - - * lisp/Makefile.in: Fixes for building in a separate directory. - -1999-02-25 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Fully integrate BeOS port and gnuplot-mode. - - * Makefile.in, makefile.all: Add/remove added/removed files - to/from BEOSSRC/LISP variables. - - * configure: Regenerated. - - * configure.in: X_PRE_LIBS is not required in X_LIBRARIES. Add - tests for poll.h, poll (experimental). Configure in lisp subdir. - Move configuration report to after AC_OUTPUT. - - * gplt_x11.c(mainloop): Experimental support for poll (not yet - complete). - - * term.c(init_term): Add init code for BeOS. - - * beos/makefile: Moved to beos/Makefile.in. - - * beos/Makefile.in: Moved from makefile. - - * docs/Makefile.in: Use $(MAKE) $(MFLAGS). - - * lisp/Makefile: Moved to lisp/Makefile.dst. - - * lisp/Makefile.dst: Moved from Makefile. - - * lisp/Makefile.in: Old Makefile plus configuration changes. - - * lisp/aclocal.m4: AM_PATH_LISPDIR macro for configure. - - * lisp/configure: Generated from lisp/configure.in. - - * lisp/configure.in: Minimal configure.in file. - - * term/x11.trm: Minor changes. - -1999-02-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * datafile.c(df_open): Experimental tilde expansion. - - * misc.c(save_set_all), show.c(show_format): Split fprintf()'s - into several separate fprintf()'s, and make local arrays smaller - to save stack space. - -1999-02-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * graph3d.c(boundary3d): Fix bug which compresses the z data - of 3D plots under Windows. - -1999-02-23 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c: Value of last parameter was not stored in a variable as - it should be. - - * makefile.dj2: Binary to build is version 3.7, not 3.6. - - * makefile.mgw: Don't compile with HAVE_SLEEP defined, hide - sleep() prototype in headers by defining _NO_OLDNAMES, add - $(OPT) for user specified compile flags. - - * protos.h, stdfn.c: Declare second arg to safe_strncpy() const. - -1999-02-23 Lars Hecking <lhecking@nmrc.ucc.ie>, Xavier Pianet <xavier@xingo.com> - - * Makefile.in, configure.in, makefile.all, term.h: Integrate changes - for port to BeOS. - - * beos/GPApp.cpp, beos/GPApp.h, beos/GPBitmap.cpp, beos/GPBitmap.h, - beos/GPView.cpp, beos/GPView.h, beos/GPWindow.cpp, beos/GPWindow.h, - beos/XStringList.cpp, beos/XStringList.h, beos/constants.h, - beos/makefile, demo/dobedo, m4/beos.m4, term/be.trm: - New files for BeOS port. - - * aclocal.m4, configure, config.hin: Regenerated. - -1999-02-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Rearrange header tests, add check for <sys/ioctl.h>. - Rearrange function tests. Remove superfluous subshell in terminal - driver list creation. - - * readline.c: Use HAVE_SYS_IOCTL_H instead of platform symbols. - -1999-02-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * gplt_x11.c(main): Fix long-standing typo in debug FPRINTF statement. - - * plot.c: Name GNUPLOT_HISTORY_FILE "~/.gnuplot.history". - - * docs/Makefile: Fix LIBS variable, edit some comments. - -1999-02-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/x11.trm: Use execvp() instead of execl() to start x11 - driver. - -1999-02-17 Dick Crawford <u600256@gamma.lanl.gov> - - * term/eepic.trm, term/latex.trm, term/texdraw.trm: Explanation - about LaTeX2e point symbols, add-on to JvH's patch. - -1999-02-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure: Regenerated. - - * configure.in: Warning message if terminal list could not be created. - - * graphics.c, plot.c, set.c, specfun.c, term/emxvga.trm, term/fig.trm, - util.c, util3d.c: Remove local definitions of "pi", replace with - M_PI/M_PI_2/DEG2RAD where appropriate. - - * plot.h: Cleaning up. Remove "Pi" symbol, define M_PI and M_PI_2 - instead. - - * term/x11.trm: Merge X11_opts[] and X11_optarg[] into one array. - Indentation. - -1999-02-16 Juergen v. Hagen <vonhagen@ihefiji.etec.uni-karlsruhe.de> - - * term/latex.trm: Add explanation about point symbols in LaTeX2e. - -1999-02-14 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term.h: Include aed, unixplot and other drivers in OS/2 version. - -1999-02-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * fit.c, fit.h, matrix.c, matrix.h: Change of copyright status. - See files for details. - - * version.c: Copyright date. - -1999-02-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * interpol.c: Recode eval_bezier to compute in 'logarithmic space' - to avoid numerical under/overflow for large datafiles. - - * win/wgnuplib.h, win/wgraph.c: Fix feature where point symbols would - be drawn in another colour than the corresponing sample lines on the - "test" page if the width of linestyle 1 was changed. - -1999-02-14 Joseph D. Pepin <joepepin@att.com> - - * term/x11.trm: Patch to exit the bin/sh process after it has parsed - the command line. - -1999-02-10 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h, configure.in, gplt_x11.c, stdfn.h, m4/select.m4: - New AC_FUNC_SELECT macro and related changes. - - * aclocal.m4, config.hin, configure: Regenerated. - - * plot.c: Fix typo. - - * term.h: Reintroduce long-lost EEPIC define. Spotted by - Aaron Naiman <naiman@gematria.jct.ac.il> - - * term/latex.trm: Function prototypes if EEPIC is defined. - -1999-02-10 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * command.c, plot.c: REXX interface on OS/2 related changes. - - * makefile.os2: Patch, fixes. - -1999-02-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * makefile.amg: Improved makefile for Amiga SAS/C 6.5x. - -1999-02-04 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Adds a few specific comments to the effect that - commands pertaining to the x2 and y2 axes are not applicable to - "splot"s. - -1999-02-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all, docs/Makefile.in: Add and use fixinfo.el - script to fix gnuplot.info file. - - * docs/fixinfo.el: To fix the gnuplot.info file until doc2info - has been fixed. By Denis Kosygin <kosygin@cims.nyu.edu>. - -1999-02-03 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Correct some over-long lines in the original - patch to the function writeup, and it adds warnings to the - "set margin" and "set xtic" writeups telling about the effects of - "set xtics axis" if the axis is too close to the border. - -1999-02-03 Joseph D. Pepin <joepepin@att.com> - - * graph3d.c, graphics.c, plot.h, set.c, show.c, docs/gnuplot.doc: - Patch to introduce layers (front, back) for labels and arrows. - -1999-02-03 Hirofumi Fujii <Hirofumi.Fujii@kek.jp> - - * term/cgm.trm: Several bugfixes: - (1) The parameter list length of the CGM record is including padding - length (must NOT include the padding length). - (2) The format of 'color table' (class 5 id 34) is wrong. The first - element is the starting index (usually 0), NOT the number of colors. - (3) The format of 'font table' (class 1 id 13) is wrong. This is the - list of 'String Fixed Data'. Do NOT include the total length. - (4) Transparency (class 3 id 4) is set to 'off' but I think it is - better to set 'on' because sometimes character cells are overlapping. - -1999-02-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * lisp/*: Updated to newest revision. - -1998-02-01 Dick Crawford <u600256@gamma.lanl.gov> - - * graphics.c: Bugfix for failing 'set lmargin' command. - -1999-02-01 Thomas Walter <twalter@pc2-69.chemie.uni-erlangen.de> - - * docs/gnuplot.doc: Bug fix. 'atan' used twice, for 'atan' and - 'atanh' ==> no help for 'atanh' available. - Added argument list to function names, i.e. 'atan2' becomes - 'atan2(y,x)'. - -1999-01-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * syscfg.h: Define unix if unix or __unix is defined. Fixes - empty OS string under HP-UX. - -1999-01-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0PORTING, acconfig.h, command.c, configure.in, makefile.os2, - makefile.unx, plot.c, protos.h, readline.c, show.c: GNU_READLINE is - now HAVE_LIBREADLINE. - - * acconfig.h: Remove APOLLO, GPR, UNIXPC. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Cleanup up --enable options. New --enable-history - option. - - * parse.c, plot.c: Use symbol APOLLO instead of apollo. - - * syscfg.h: Define APOLLO and UNIXPC. - -1999-01-26 Thomas Walter <twalter@pc2-69.chemie.uni-erlangen.de> - - * plot.c: Add the ability to use a command history file if GNU - readline is used. - -1999-01-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, acconfig.h, configure.in, gplt_x11.c, makefile.all, - stdfn.h: Use improved AC_FUNC_SELECT by Steve Robbins - <steve@nyongwa.montreal.qc.ca> instead of AC_FUNC_SELECT_ARGTYPES. - - * aclocal.m4, config.hin, configure: Regenerated. - - * m4/select.m4: Bugfixed version of Steve Robbins' macro. - - * Makefile.in: Add contents of new lisp subdir. - - * gnuplot.el: Move to lisp/old. - - * lisp/*: New subdir. Added new gnuplot-mode for X/Emacs by - Bruce Ravel <ravel@phys.washington.edu>. - - * term/png.trm: Reorder switch statements, add default case, - initialise variables to remove compiler warnings. - -1999-01-26 Thomas Walter <twalter@pc2-69.chemie.uni-erlangen.de> - - * command.c, plot.c, protos.h, syscfg.h: Avoid duplicate history - entries with GNU readline. - -1999-01-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0README: Remove entry about now defunct ftpmail service. - -1999-01-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * PGPKEYS: Add Roger Fearick's public key. - - * configure: Regenerated. - - * configure.in: New way to create VERSION. - - * install-sh, missing, mkinstalldirs: Updated from current - automake release. - - * version.c: New beta patchlevel. - - * term/gif.trm: Add new options to terminal help. - -1999-01-19 Ben Laurie <ben@algroup.co.uk> - - * term/gif.trm: New 'tiny', 'giant' font options. - -1999-01-19 Andris Pavenis <pavenis@lanet.lv> - - * term/png.trm(PNGtext): Fix SIGSEGV in DJGPP v2 binaries if no - output file name is set. - -1999-01-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Add PGPKEYS to ETC. - - * PGPKEYS: New file. - - * term/apollo.trm: Add note about copyright status. - -1999-01-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Add compile instructions for Cygwin. - - * 0README: Add Windows 95/98 to platform list. - - * Makefile.in, makefile.all: Add makefile.cyg to ETC. - - * term/ai.trm: Removed 3.6ism, noted by Andy Dougherty - <doughera@lafayette.edu>. - - * term/grass.trm: Switched to new gnuplot copyright. Permission - granted by original author. - -1999-01-13 William D Kirby <wdkirby@ix.netcom.com> - - * makefile.cyg: New makefile for Cygwin environment. - -1999-01-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Update to 3.7. - - * 0README: Update distribution sites. - - * configure: Regenerated. - - * configure.in: Don't use fmt to create the driver list (not available - under HP-UX). - - * version.c: Version 3.7, patchlevel 0, date string updated. - - * term/post.trm, term/pslatex.trm, term/pstricks.trm, term/tpic.trm: - Fix typos introduced by the fprintf-fputs changeover. - -1999-01-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/mif.trm: Bugfix. - -1999-01-08 William D Kirby <wdkirby@ix.netcom.com> - - * win/wcommon.h: Don't include <shellapi.h> when compiling with - gcc based compilers. - -1999-01-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Remove m4/select-types.m4 and - m4/stringize.m4 from ETC and $(ACLOCAL_M4). - - * acconfig.h: Remove HAVE_STRINGIZE and SELECT_TYPE_ARG* symbols. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Require autoconf-2.13. - - * m4/select-types.m4, m4/stringize.m4: Removed, provided by - new autoconf version. - -1999-01-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * graphics.c(ticfmt): Fix buffer overrun. - -1999-01-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Add section about front ends. - - * TODO: Fix some typos. - -1999-01-05 Jens Emmerich <Jens.Emmerich@itp.uni-leipzig.de> - - * term/pslatex.trm: Remove doubled '%' chars. - -1998-12-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * fit.c, protos.h: Change wri_to_fil_last_fit_cmd() return value - to size_t. - -1998-12-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Add note about MSDOS/DJGPP and djconfig.sh. - - * Makefile.in, makefile.all: Add djconfig.sh to ETC variable. - - * configure: Regenerated. - - * configure.in: Use sh comments instead of m4 comments in some places. - -1998-12-23 Andris Pavenis <pavenis@lanet.lv> - - * djconfig.sh: New file to make configuration under MSDOS/DJGPP - easier. - -1998-12-22 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * term/pm.trm: Small patch. - -1998-12-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0README: Updated. - - * TODO: Updated. - - * configure: Regenerated. - - * configure.in: Add ${with_gnu_readline}/lib to locations searched - for GNU libreadline. - - * plot.h, term/post.trm: Implement and use architecture-independent - INT_STR_LEN constant as suggested by Andris Pavenis <pavenis@lanet.lv>. - -1998-12-22 Dick Crawford <u600256@gamma.lanl.gov>, Lucas Hart <hartl@ucs.orst.edu> - - * docs/gnuplot.doc: Update fit documentation. - -1998-12-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Amend entry about label and arrow clipping. - - * configure: Regenerated. - - * configure.in: Change readline test so that full path to libreadline - is allowed, but not required. Edit some warning messages. - -1998-12-21 Lucas Hart <hartl@ucs.orst.edu> - - * descrip.mms: Updated. Fix sleep() problem. - - * docs/README: VMS section updated. - -1998-12-18 Andris Pavenis <pavenis@lanet.lv> - - * term/djsvga.trm: Fix bug in W. Kirby's patch (rows and columns - swapped). - -1998-12-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/amiga.trm, term/post.trm: Indentation. - - * term/x11.trm: Fix VMS include statement. - -1998-12-17 Andris Pavenis <pavenis@lanet.lv> - - * syscfg.h: Undef HELPFILE for MSDOS before #define'ing it. - -1998-12-17 William D Kirby <wdkirby@ix.netcom.com> - - * term/djsvga.trm: Resolve conflict between user defined screen text - mode, and the default text mode. - -1998-12-17 Roger Fearick <fearick@physci.uct.ac.za> - - * os2/gclient.c, os2/print.c: Patches from Robert Lalla that fix - paint problems if full window drag is enabled, and crash if printing - to non-existing printer queue. - -1998-12-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure: Regenerated. - - * configure.in: More meaningful warning messages. - - * protos.h: GNU libreadline prototypes. - - * show.c(show_command,show_one): Add cntrparam to showmess, - show cntrparam can now be abbreviated with show cn. - - * term/tgif.trm: Fix undefined behaviour. - -1998-12-16 Lucas Hart <hartl@ucs.orst.edu> - - * term/gif.trm: Fix 'set terminal' info for gif driver. - -1998-12-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * 0BUGS: Add entry for 16bit Windows and Borland C++ 3.1. - - * makefile.mgw: Call compiled programs via ./ because under - CygWin-BASH, the current directory is not in PATH. - -1998-12-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * gplt_x11.c, term/hpljii.trm, term/latex.trm, term/metafont.trm, - term/mif.trm, term/pbm.trm, pstricks.trm: Fix typos. - - * show.c(show_one): Map show cntrparam to show contour. - - * version.c: Remove comment. Beta 349. - -1998-12-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/*.trm: Indentation, use fputs for static strings. - -1998-12-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * makefile.win: Patch. - -1998-12-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c: Fix range bug in 3d fits. - -1998-12-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Remove references to upd_make.sh. Move - references to makefile.r. - - * makefile.r: Move to docs/old. - - * misc.c: Save set []tics autofreq from Don Taber plus cleanup. - - * upd_make.sh: Obsolete, removed. - -1998-12-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * plot3d.c(grid_nongrid_date): Fix broken dist == 0 handling. - -1998-12-09 Stefan Schroepfer <scr@iis.fhg.de> - - * makefile.nt: Move generated .hlp file to different directory. - -1998-12-09 Juergen v. Hagen <vonHagen@engr.psu.edu> - - * makefile.mgw: Updated. - - * win/wgnuplib.h: Remove TMPF_VECTOR and TMPF_TRUETYPE defines. - -1998-12-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Add m[]tics entry, provided by Lucas Hart. Add entry about - Windows help file. - - * TODO: Add entry for snprintf(3). - - * command.c, fit.c, gplt_x11.c, help.c, hidden3d.c, misc.c, plot.c, - plot2d.c, plot2d.c, show.c, term.c, time.c, util.c: Replace - fprintf'ing of static strings with fputs. - - * configure: Regenerated. - - * configure.in: Cleanup, fix typo. - - * protos.h: Put ifdef around readline functions. - -1998-12-08 Andy Dougherty <doughera@lafayette.edu> - - * 0INSTALL: Mention PATH=.:$PATH trick for testing of uninstalled - binaries. - - * 0PORTING: Clarification of build instructions. - - * term.c: Enhance comment about pedantic preprocessors. - - * demo/contours.dem, demo/surface1.dem: Change "gnu plot" to - "gnuplot". - -1998-12-08 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc, docs/titlepag.ms, docs/titlepag.tex: 3.7ise. - -1998-12-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Remove entry about truncation of script files on VMS. - - * 0README: Update monash ftp site details. - - * Makefile.in, makefile.all: Add INSTALL.gnu to ETC. - - * configure: Regenerated. - - * configure.in: Fix configuring under HP-UX. - - * graphics.c: Run through indent. - - * plot.h: Add XOPEN M_LN10 constant. - - * set.c(set_one): Use M_LN10. - - * specfun.c: Revise Lucas' changes and bugfix. - -1998-12-07 Juergen v. Hagen <vonHagen@engr.psu.edu> - - * 0BUGS, 0INSTALL, 0README, NEWS, makefile.mgw, makefile.unx: Updated. - -1998-12-07 Lucas Hart <hartl@ucs.orst.edu> - - * fit.c: Add some messages. - - * internal.c: More verbose error messages. - - * standard.c(f_log10): Use M_LN10 constant. - - * specfun.c: Expand GP_ERF/ERFC macros inline and add error checking. - - * strftime.c: TEST_STRFTIME code was incomplete. - - * syscfg.h: Add HELPFILE for VMS. - - * demo/mgr.dem: Modify the acspline demo to better illustrate the - capabilities of the option. - -1998-12-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0FAQ, 0README, NEWS, configure.in, makefile.dj2, makefile.os9, - term/README: 3.7ise. - - * Makefile.in, makefile.all: Add mac.trm to CORETERM. - -1998-12-06 David Schooley <dcschooley@mediaone.net> - - * term/mac.trm: Added terminal driver for Macintosh. - -1998-12-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Update OS/2 gcc optimiser bug entry. - - * 0README: Update distribution sites. - - * TODO: Add png driver entry. - -1998-12-05 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * makefile.os2: Fix OS/2 build (allterm.h related). - -1998-12-05 Ian MacPhedran <Ian_MacPhedran@mackenzie.usask.ca> - - * descrip.mms: VMS build fixes. - -1998-12-05 Roger Fearick <fearick@physci.uct.ac.za> - - * protos.h: Fix typo. - - * os2/gclient.c, term/pm.trm: Fix old bug about default help file - path, and adjust font metrics in pm driver. - -1998-12-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Remove pslatex driver bug entry. - - * TODO: Remove entry "allow load '-' or gnuplot - to mean - interactive". - - * docs/Makefile.in: Fix for building outside source dir in all - targets using ALL_TERM_DOC. - - * docs/doc2info.c: Remove static keyword in function declarations - to fix building with SunOS cc. - -1998-12-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * makefile.mgw, makefile.win, win/wgnuplib.h, win/wgraph.c, - win/winmain.c, win/wmenu.c, win/wpause.c: Fix bug with line width - scaling under Windows. Some cleanups. - -1998-12-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Require autoconf 2.12.2. Add AC_PROG_CPP. - - * contour.c(gen_bspline_approx): Remove unused variable i. - - * graph3d.c(setlinestyle,ztick_callback): Remove unused variable t. - - * help.c: Make StartOutput(), OutLine(), EndOutput() non-static. - Remove list_terms(). - - * hidden3d.c(draw): Remove unused vars cross1, cross2. - - * protos.h: Add prototypes for help.c functions. Remove prototype - for term_count(). - - * show.c(show_version_long): Rename readline rdline, and gnu_readline - gnu_rdline to avoid compiler warnings. - - * stdfn.h: Remove bcopy() prototype, may conflict with system headers. - - * term.c: Remove term_count(), update list_terms() to Don Taber's - version. - - * version.c: Patchlevel beta348. - -1998-12-03 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc, docs/titlepag.ms, docs/titlepag.tex: Updated list - of contributors, documentation of Don's "-" patch. - -1998-12-03 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * command.c, misc.c, plot.c: Patch to use "-" for stdin or load file. - - * graphics.c: Patch to make all four [xy][12]labels symmetric about - plots and well spaced from axes regardless of tics or absence of tics, - move the title up a character height, and put half a character extra - space on left and right to help out some of the terminals which have - trouble with this. - -1998-12-02 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Clean out dist target. - - * bf_test.c: Add prototype for FreeHelp(). - - * fit.c(error_ex): Use strncpy() instead of safe_strncpy(). - - * gnuplot.opt: Add help (for DT's new version of list_terms()). - - * makefile.amg: Remove obsolete file type.h from dependencies. - - * protos.h: Remove null_linewidth() prototype. Add sleep() prototype. - - * term.c: Add null_linewidth() prototype. - - * docs/Makefile.in: Better integration of alldoc2gih target. - -1998-12-02 Lucas Hart <hartl@ucs.orst.edu> - - * demo/hidden.dem, demo/prob.dem, demo/surface1.dem, demo/surface2.dem, - demo/using.dem: Reset axis labels with `set [xyz]tics autofreq'. - -1998-12-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Add makefile.mgw to ETC. - - * TODO: New entry. - -1998-12-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * command.c: On Win32 platforms, allow 'cd "d:\path"' to also change - the drive. - - * graphics.c: Fix bug in the new polar errorbar support (non-polar - yerrorbars had become diagonals). - - * makefile.dj2, makefile.tc: Update realclean target. - - * makefile.mgw: New makefile for MinGW32. - - * makefile.win: Add 'help' to the list of objects to be compiled - into gnuplot (for Don Taber's new version of list_terms() sitting - in help.c) - - * syscfg.h: Add HAVE_SLEEP for Win32. - - * term/win.trm: Add more stuff in terminal help. - - * win/geticon.c, win/wgnuplib.h, win/wgraph.c, win/winmain.c, - win/wmenu.c, win/wpause.c, win/wtext.c: Changes to allow building - under MinGW32. - -1998-12-01 Hartmut Niemann <niemann@cip.e-technik.uni-erlangen.de> - - * term/pslatex.trm: Patch to avoid problems with active characters - in \special commands, and line-end characters. - -1998-12-01 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * 0INSTALL: Upgrade OS/2 related docs. - -1998-11-30 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * makefile.os2: Update various compiler flags. - - * plot.c(ExecuteMacro): Cosmetic changes. - -1998-11-30 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Add documentation for `show version' and fixes. - -1998-11-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Remove generic GNU install instructions. - - * TODO: Add more suggestions. - - * bf_test.c: Don't include plot.h, but all other necessary include - files. - - * term.h: Fix typo (gpr.h <-> gpr.trm). - - * term/cgm.trm: Remove temporary string. - - * term/excl.trm: Update copyright to the current version by - permission of the author, Przemek Klosowski <przemek@nist.gov>. - -1998-11-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Remove allterm.h target and dependency. - - * configure: Regenerated. - - * configure.in: Add code to generate terminal driver dependencies in - docs/Makefile.in. Remove code to rename old makefiles. - - * protos.h: Move non-static prototypes from term.c. - - * term.c: Indentation. Move non-static prototypes to protos.h. Avoid - compiler warnings about variable shadowing: - In term_check_multiplot_okay(), rename interactive f_interactive. - In do_arrow(), change test for exact inequality in doubles. - In set_term(), rename c_token argument c_token_arg. - In init_terminal, rename term env_term. - In test_term, rename xmax xmax_t, and ymax ymax_t. - - * docs/Makefile.in: Add TERM_LIST variable for allterm.h dependencies. - Use explicit file names instead of makefile variables. Modify allgih - target so that it builds independently from gih target, and vice versa. - - * docs/makefile, docs/latextut/makefile: Rename makefile.dst, resp. - - * term/*.trm(*_text_angle): Rename argument to text_angle function - ang consistently across terminal drivers to avoid compiler warnings. - - * term/fig.trm(FIG_poly_clean): Rename stat fig_stat. In - FIG_options, rename tmax tmax_t, xsize xsize_t, ysize ysize_t. - In FIG_pointsize, rename pointsize arg_pointsize. - - * term/post.trm: Rename pointsize ptsize. In PS_init, rename - xmax xmax_t, ymax ymax_t, xmin xmin_t, ymin ymin_t. - - * term/pslatex.trm(PSLATEX_init): In PS_init, rename xmax xmax_t, - ymax ymax_t, xmin xmin_t, ymin ymin_t. - - * term/tpic.trm(TPIC_options): Rename pointsize ptsize. - -1998-11-25 Lars Hecking <lhecking@nmrc.ucc.ie> - - * TODO: Add entry about float/double comparisons. - - * command.c, plot2d.c, plot3d.c: Remove obsolete definition of MAXSTR. - - * plot.c: Other small changes. - - * term/table.trm, term/driver.h, term/xlib.trm, term/unixplot.trm, - term/hp2648.trm, term/dxy.trm, term/v384.trm, term/aed.trm, - term/tkcanvas.trm, term/mgr.trm, term/kyo.trm, term/qms.trm, - term/regis.trm, term/cgi.trm, term/debug.trm, term/excl.trm, - term/t410x.trm, term/linux.trm, term/hppj.trm: Indentation, - minor cleanups. - -1998-11-25 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * term/cgm.trm: Solid line option for cgm terminal. - -1998-11-25 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * plot.c: Patch for OS/2. - -1998-11-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * TODO: Remove "clean up includes at top of files" entry. Add - some new entries. - - * docs/gnuplot.1: Update X11 command line options. - - * term/compact.c: Indentation, add RCS id. - - * term/grass.trm: Remove duplicate header file inclusions. - -1998-11-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * graphics.c(gen_tics) Modified patch from Jochen Schuetze <jos@gbf.de> - to avoid infinite loop during tic generation. - - * term/aed.trm, term/ai.trm, term/apollo.trm, term/atariaes.trm, - term/atarivdi.trm: Indentation. Replace fprintf'ing of plain strings - with fputs. - -1998-11-23 David Schooley <dcschooley@mediaone.net> - - * term/table.trm: Add missing register_term statement. - -1998-11-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * command.c(do_system): No not check system() return value. - - * configure.in: Edit comment. - - * version.c: Patchlevel pl7. - -1998-11-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * CodeStyle: Updated. - - * command.c: Cleaning up. Make local functions static. Remove unused - variables and functions. - - * fit.c: Make kbhit() static. - - * graph3d.c: Indentation. - - * plot.c: Cleaning up. Add OS/2 set_input_line() from command.c. - - * plot2d.c: Delete `extern' keyword from variables removed from - command.c. - -1998-11-20 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * graphics.c: Revise margin calculation. - -1998-11-20 Lucas Hart <hartl@ucs.orst.edu> - - * show.c: Adjust 'show tics' after set_tic_prop patch from 1998-10-31. - -1998-11-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Remove entry for manual key placement in hidden3d splot. - Add open file handles inheritance entry as suggested by Alexander Mai. - - * ChangeLog: Reorganised. - - * command.c(do_line): Skip leading spaces in input. - - * config.hin, configure: Regenerated. - - * configure.in: Add test for memmove(). - - * errorfix.sh: Simplified. Now only creates temporary copies - of files to be fixed, not of all files. - - * plot.c(main): Fix compiler warnings. - - * stdfn.c: Move memcpy definition to stdfn.h. - - * stdfn.h, syscfg.h: Add definitions for memcpy and memmove. - - * term/ai.trm, term/regis.trm: Add missing TERM_TABLE_END. - -1998-11-19 Lucas Hart <hartl@ucs.orst.edu> - - * ansichek.h: Undefine HAVE_STRINGIZE for VAXC. - - * command.c: Fixes for VMS and !NO_GIH, do_system() line truncation - when called from load_file(), comments. - - * syscfg.h: Remove declarations that cause duplicate warnings. - - * term.c: Avoid duplicate warnings from VMS headers. - - * vms.c: Remove some duplicate header file inclusions. - - * docs/doc2rnh.c: Add single_top_level, convert '/' in topic to - '|' because VMS HELP uses '/' as a list separator. - -1998-11-19 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Extensive patches to fix minor misspellings, - makes all references "time/date" (instead of some being "date/time"), - removes some blanks from the ends of lines, add commands synonyms. - - * term/*.trm: Add command synonyms to all terminals. - -1998-11-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c: Merge in patch from Lucas Hart <hartl@ucs.orst.edu> - to make fit.log and screen output match the documentation. - Cleaning up. - - * graph3d.c(key_sample_line): Fix core dump if key is manually placed. - - * graphics.c, plot2d.c: Merge in polar errorbars patch from - Igor Bray <I.Bray@flinders.edu.au>. - -1998-11-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Updated with latest awk script for contour line clipping - bug workaround by Paul Halsema <phalsema@harris.com>. - - * 0INSTALL: Updated. gnuplot now compiles again with SunOS' cc. - - * 0README: Updated. - - * bf_test.c(FreeHelp), contour.c(end_crnt_cntr), matrix.c(fsign), - term.c(term_count): Translate prototype to K&R. - - * fit.c: Translate prototypes for printmatrix() and - print_matrix_and_vectors() to K&R. Add missing prototypes for - static functions. - - * gplt_x11.c: Re-add inclusion of config.h at top. - - * parse.c: Indentation. - - * set.c: Fix typos. - - * term/ai.trm, term/cgm.trm, term/corel.trm, term/epson.trm, - term/fig.trm, term/mif.trm, term/next.trm, term/pbm.trm, term/png.trm, - term/post.trm, term/pslatex.trm, term/win.trm: Accept alternative - spelling "colour" for "color". - -1998-11-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Added description of m[]tics initialisation bug, from - Lucas Hart <hartl@ucs.orst.edu>. Changed hidden3d entry and line - clipping entry as suggested by HBB. Add error bars in polar plots - entry, from Stefan Deutscher <stefand@ibm.net>. - - * ansichek.h: Use #ifndef HAVE_CONFIG_H for systems which don't - run configure. - - * acconfig.h: Remove ANSI_C. - - * configure.in: Add comment at top. Don't define ANSI_C. - - * misc.c: Patch by Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - to read DOS files under Unix. - - * plot.h: Comment out LP_DEFAULT. Don't use ANSI_C. - - * protos.h: Updated prototypes for help.c and term.c - - * set.c: New function reset_lp_properties. Replaces LP_DEFAULT - initialisation, get's rid of ANSI_C. - -1998-11-17 Don Taber <dtaber@blackrat.risc.rockwell.com> - - * 0BUGS: Revised entry for contour lines clipping bug. - - * graph3d.c(do_3dplot): If "set contour; set nosurface; set noclabel" - is used, the items in the key will overwrite one another if more than - one function or file is plotted. - - * help.c, term.c: Patch to pipe 'set terminal' output through pager. - - * plot3d.c(printd_3dtable): Add space between "label:" and label in - output. - -1998-11-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Added description and workaround for contour line clipping - bug. Provided by Don Taber <dtaber@blackrat.risc.rockwell.com>. - - * docs/old: New directory. - - * History, README.3d, README.3p1, README.3p2, README.3p3, README.3p4, - README.3p5, README.ami, README.emx, README.fit, README.gnu, - README.iso, README.mf, README.nex, README.os2, README.pic, README.pro, - README.win, README.x11, README.xli: Moved to new dir docs/old. - - * Makefile.in, makefile.all: Updated to reflect changes in directory - structure (ETC, DOCS5, DOCS). - - * Projects: Renamed TODO. - - * WhatsNew: Renamed NEWS. - - * version.c: Changes history moved to docs/old/ChangeLog.old. - - * win/wcgraph.c(wginitcolor): Swap entries for red and blue for colour - consistency as suggested by Stephen Eglen <stephen@cns.ed.ac.uk>. - -1998-11-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0BUGS: Add description and workaround for pslatex driver bug. - -1998-11-15 Konrad Bernloehr <bernlohr@ik3.fzk.de> - - * interpol.c: Bugfix for 'smooth acsplines' option with logarithmic - x axis. - -1998-11-15 Lucas Hart <hartl@ucs.orst.edu> - - * stdfn.c(safe_strncpy): Bugfix. - -1998-11-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Document new `--enable-system-time' configure option - and fixes. - - * set.c(set_two): Skip leading whitespace in argument to 'set output'. - - * specfun.c: Fix #ifdef directive. - - * docs/gnuplot.doc: Change 'set output' documentation accordingly. - -1998-11-09 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * gplt_x11.c: Close open files on first initialisation on OS/2. - - * makefile.os2: Updated. - -1998-11-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Updated pointer to unproto. - - * 0PORTING: Updated. - - * acconfig.h: New symbol USE_SYSTEM_TIME (see time.c). - - * config.hin, configure: Regenerated. - - * configure.in: Improved time_t test by Andris Pavenis - <pavenis@lanet.lv>. New option '--enable-system-time' (see time.c). - Add check for <sys/timeb.h>. - - * fit.c: Remove obsolete function subst(). - - * Makefile.in, makefile.all: Remove mkdist from ETC variable. - - * mkdist: Obsolete, removed. Use 'make dist'. - - * protos.h: Change prototpe for util.c(chr_in_str). - - * time.c: Fix indentation. Rename SYSTEM_TIME to USE_SYSTEM_TIME. - Fix compiler warnings about variable shadowing (rename clock l_clock). - Replace return statements with exit(). - - * util.c(chr_in_str): Make second arg int instead of char. - - * docs/Makefile.in: New target allgih for .gih file with docs for - all terminals. - -1998-11-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * makefile.dj2: stdfn.o missing in OBJ3. Reported by William D Kirby - <wdkirby@ix.netcom.com>. demo\binary? target fixed as per suggestion - by Juergen Breitlow <Juergen.Breitlow@blns.siemens.de> and W. Kirby. - - * plot.c(ExecuteMacro): Fix typo in variable name. Reported by - Lucas Hart <hartl@ucs.orst.edu>. - - * syscfg.h: #ifdef directives simplified. - - * term.c: Fixes to allow 'set output' in gnugraph terminal. Problem - reported by Berthold Hoellmann <se6y095@public.uni-hamburg.de>. - - * term/djsvga.trm(DJSVGA_set_font): Add missing parenthesis. Reported - by William D Kirby <wdkirby@ix.netcom.com>. - -1998-11-04 Lars Hecking <lhecking@nmrc.ucc.ie> - - * hidden3d.c, scanner.c, show.c: Fix indentation. - - * syscfg.h: Add comment. - - * version.c: Patchlevel pl6. - -1998-11-04 Lucas Hart <hartl@ucs.orst.edu> - - * graphics.c, hidden3d.c, specfun.c, stdfn.h: VMS fixes. - -1998-11-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * bf_test.c, binary.c, bitmap.c: Fix indentation. - - * config.hin, configure: Regenerated. - - * configure.in: Add erfc() function check, change png version - test indentation to satisfy DU 4.0 cc. - - * graphics.c(gen_tics): Hopefully fixed xmtics to start from 1 - instead of 0. - - * graphics.c(fixup_range), set.c(set_tic_prop): Avoid automatic - aggregate initialisation. - - * show.c(show_two): Map show command for [xyz]{2}[md]tics to - [xyz]{2}tics. - - * specfun.c: Fix typo in comment. - - * docs/Makefile.in: Fix dependencies for config.h. - -1998-10-31 Lars Hecking <lhecking@nmrc.ucc.ie> - - * datafile.c, term/cgm.trm: Cast argument of is*() functions to int. - - * eval.c, internal.c, interpol.c, plot3d.c, specfun.c: Fix indentation. - - * graphics.c, set.c: Indentation. - - * help.c: Some cleanups. Use TBOOLEAN instead of boolean type and - remove tboolean. Fix indentation. Move tos_getch() prototype to - protos.h. - - * misc.c: Some cleanups. - - * plot.h: Add TRUE and FALSE defines. - - * protos.h: New prototype for misc.c(instring) and - readline.c(tos_getch). - - * readline.c: Move tos_getch() prototype to protos.h. - - * set.c: Fix indentation. - - * term/gif.trm(GIF_options): Fix compiler warning (sscanf call). - - * term/gnugraph.trm: Add prototypes for GNU plotutils functions. - - * term/mif.trm: Fix compiler warning (nested extern decl). - -1998-10-31 Lucas Hart <hartl@ucs.orst.edu> - - * graphics.c, set.c, docs/gnuplot.doc: set_tic_prop patch version b. - -1998-10-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h, configure.in, stdfn.h, m4/select-types.m4: Replace - gp_FIND_SELECT_ARGTYPES with AC_FUNC_SELECT_ARGTYPES from upcoming - autoconf release, and related changes. - - * aclocal.m4, config.hin, configure: Regenerated. - - * fit.c, graphics.c, scanner.c, util.c: Cast argument of is*() - functions to int. - - * syscfg.h: VMS prototypes, moved from term.c. - - * term.c: Include header files moved from driver.h, indentation. - - * docs/doc2x.h: Prototype for safe_strncpy(). - - * docs/termdoc.c: New function safe_strncpy() to avoid linking with - stdfn.c - - * term/driver.h: Don't include header files. - -1998-10-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Reverse order of CPPFLAGS and INCLUDES in COMPILE. - - * Makefile.in, buildvms.com, descrip.mms, makefile.os2, makefile.os9, - makefile.unx: gnuplot_x11 is now linked with stdfn.o. - - * command.c, fit.c, gplt_x11.c, help.c, plot.c, scanner.c, strftime.c, - docs/doc2html.c, docs/doc2info.c, docs/termdoc.c, term/pc.trm, - term/pslatex.trm, term/pstricks.trm: Replace calls to strncpy() and - similar code with safe_strncpy(). - - * command.c, plot2d.c, plot3d.c, readline.c: Move Atari file - inclusion to syscfg.h. - - * corplot.c, scanner.c, standard.c: Simplify #ifdef line. - - * fit.c: Don't use copy_max(). Move to stdfn.c as safe_strncpy(). - Move Atari file inclusion to syscfg.h. Move Dblf* macros to fit.h. - Fix indentation. - - * fit.h: Moved macros from fit.c. Move function prototypes to protos.h. - - * protos.h: safe_strncpy() prototype from stdfn.c. Prototypes from - fit.h. - - * stdfn.c: New function safe_strncpy(), moved from fit.c(copy_max). - - * syscfg.h: Include files for Atari. - - * parse.c, stdfn.h, syscfg.h, term.h: Fix ifdefs. - - * term/amiga.trm, term/cgm.trm, term/djsvga.trm, term/grass.trm, - term/next.trm, term/post.trm, term/tgif.trm: Replace '\0' with NUL. - -1998-10-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * makefile.tc, makefile.win, plot3d.c, term/hpgl.trm: DOS and dgrid3d - patches. - -1998-10-28 Jochen Schuetze <jos@gbf.de> - - * fit.c, fit.h, misc.c: Save last fit command as comment. - -1998-10-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL, 0PORTING: Updated. - - * Makefile.in, makefile.all: Add new file syscfg.h to HEADERS variable. - - * acconfig.h: Remove obsolete defines. - - * bf_test.c, gplt_x11.c, readline.c, stdfn.c: Include plot.h instead - of config.h, ansichek.h and stdfn.h. Make enum JUSTIFY local in - gplt_x11.c(display). - - * configure, config.hin: Regenerated. - - * configure.in: Move some tests, rewrite some header and library tests. - - * fit.c: Don't include config.h. - - * plot.h, stdfn.h: Move OS dependent defines to new file syscfg.h. - - * plot2d.c: Fix typo in #define. - - * syscfg.h: New file for OS dependencies. - -1998-10-20 Andris Pavenis <pavenis@lanet.lv> - - * fit.c: Fix bug in vector resizing of bigger than default data sets. - -1998-10-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h, ansichek.h, hidden3d, plot2d.c, plot3d.c, docs/doc2x.h: - Rename HAVE_CPP_STRINGIFY to HAVE_STRINGIZE. - - * acinclude.m4: Deprecated, removed. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Replace gp_PROG_CPP_STRINGIFY with AC_C_STRINGIZE - from current autoconf CVS repository. Rename gp_CHECK_LIB_PATH to - gp_SEARCH_LIBDIRS and gp_CHECK_HEADER to gp_SEARCH_HEADERDIRS. - - * contour.c: Change function prototypes to K&R for compatibility. - - * m4/msdos.m4, m4/next.m4, m4/search-hdr.m4, m4/search-lib.m4, - m4/select-types.m4, m4/stringize.m4: New files to store macros - from deprecated acinclude.m4 file. - - * Makefile.in: Add INSTALL_SCRIPT and ACLOCAL_AMFLAGS variables, - remove ACCONFIG variable. Add new m4 macros to ETC variable. Add - m4 to SUBDIRS. Clean up. - - * makefile.all: Remove stray backslash from NEXTSRC variable. Add - m4 files to ETC and fix typos. - - * docs/*.c: More cleaning up. Add exit() statements in main() - function, remove unused vars, fix potential buffer overflows. - - * term/rgip.trm: Splice unterminated strings. - -1998-10-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acinclude.m4: In gp_CHECK_LIB_QUIET, add TERMXLIBS to LIBS during - test. In gp_FIND_SELECT_ARGTYPES, rename loop variables and add - caching. - - * aclocal.m4, configure: Regenerated. - - * command.c: Fix preprocessor directive syntax for BC++ 4.5. - - * fit.c, fit.h, matrix.c: Don't include type.h, remove comment. - - * Makefile.in, makefile.all: Remove type.h from HEADERS. Add doc2x.h - to DOCS1. - - * misc.c: Fix typos. - - * type.h: Obsolete file removed. - - * docs/Makefile.in: Fix alldoc, clean, html targets and dependencies. - Compile doc2html with -DALL_TERM_DOC. Print gpcard.ps to file - instead of printer. - - * docs/docs2x.h: New file. - - * docs/*.[ch]: Move definitions to new file doc2x.h and include - doc2x.h. - - * term/apollo.trm: Change in help part. - -1998-10-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * contour.c: Indentation, nested comments removed. - - * misc.c(save_set_all): Add 3D mapping, missing to saved variables. - - * show.c: Add 'bar' to showmess[]. - - * docs/*.c: Fix embarrassing typo in comment. - -1998-10-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Add ChangeLog to ETC variable. - - * acconfig.h: Add MGR and RGIP. - - * acinclude.m4: Minor changes. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Add options for MGR and RGIP. Define APOLLO if MGR - is defined. Add IRIS to configuration report. - - * docs/gnuplot.doc: Small patch from Dick Crawford. - - * graphics.c(boundary): Another margin calculation bug fix by HBB. - - * parse.c: Change #ifdef statement, remove __osf__. - - * term.h: Cleaning up, better readability. - - * term/driver.h: Remove nested comment. - - * version.c: Patchlevel pl5. - -1998-10-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * contour.c, term.c: Fix FPRINTF calls. - - * graphics.c: Fix comments. - - * misc.c(save_tics): Rename time variable to flag_time to prevent - global variable shadowing. - - * set.c: Make references to first_plot and first_3dplot global. - - * show.c(show_version_long): Reformat output. - - * stdfn.h: Add VMS exit codes. Reformatting, define HAVE_SLEEP - unconditionally under VMS. - - * docs/Makefile.in: Add new alldoc target for debugging purposes. - Add ipf target. - - * docs/README: Cleanup and fixes. - - * makefile.os2, docs/checkdoc.c, docs/doc2gih.c, docs/doc2hlp.c, - docs/doc2info.c, docs/doc2ipf.c, docs/doc2ms.c: Final fixes to - remove .c file inclusion. - - * term/mif.trm, term/png.trm, term/post.trm: Make references to - version and patchlevel global to eliminate "nested extern declaration" - compiler warnings. - - * term/x11.trm(VMS X11_init): Make declarations static. - -1998-10-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, makefile.all: Add xref.h to DOCS1. Small changes. - - * bf_test.c(int_error): Use only one fprintf(). - - * command.c: Move #ifdef MSDOS block from top of file to plot.h. - Suggested by HBB. - - * datafile.c: Fix indentation. - - * internal.c(pop): Remove superfluous space. - - * makefile.286, makefile.amg, makefile.dj2, makefile.djg, makefile.emx, - makefile.g, makefile.msc, makefile.msw,makefile.mto, makefile,nt, - makefile,os2, makefile.os9, makefile.st, makefile.tc, makefile.vms, - makefile.wc, makefile.win, makefile.ztc: Add termdoc.o and xref.o - where required. No more inclusion of .c files. - - * plot.c: Fix indentation. - - * plot.h: Update, add MSDOS #ifdef block from command.c, add HELPFILE - definitions to OS section. - - * plot2d.c: Remove MSDOS #ifdef block (outdated version of the defines - in command.c, now in plot.h). Indentation. - - * plot3d.c, scanner.c, set.c: Minor changes. - - * docs/Makefile.in, docs/makefile, docs/makefile.ami: Add termdoc.o - and xref.o where required. No more inclusion of .c files. - - * docs/checkdoc.c, docs/doc2gih.c, docs/doc2hlp.c, docs/doc2html.c, - docs/doc2info.c, docs/doc2ipf.c, docs/doc2ms.c, docs/doc2rnh.c, - docs/doc2rtf.c, docs/doc2tex.c, docs/termdoc.c, docs/xref.c: No more - inclusion of .c files. Indentation, small changes. - - * docs/xref.h: New file for definitions from docs/xref.c. - -1998-10-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * show.c(show_version_long): Add \n in fprintf(). - - * util.c(m_quote_capture): Use parse_esc() to interpret escape - sequences. - - * docs/Makefile.in: Fix configuration variables. - -1998-10-08 Jochen Schuetze <jos@gbf.de> - - * term/eepic.trm, term/latex.trm, term/pslatex.trm, term/tpic.trm: - Documentation for free positioning of labels feature. - -1998-10-07 Lars Hecking <lhecking@nmrc.ucc.ie> - - * aclocal.m4, configure: Regenerated. - - * configure.in: Rewrite tests for termcap and readline. Remove - obsolete AC_SUBST(TERMFLAGS). - - * command.c: Define some macros for Windows. Remove spurious else - in #ifdef'd code for Atari in command(). Additional #ifdef's for - GNU_READLINE. Indentation. - - * Makefile.in: Rename distdir. - -1998-10-07 Andris Pavenis <pavenis@lanet.lv> - - * acinclude.m4: Use LIBS instead of LDFLAGS in gp_MSDOS. - -1998-10-06 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Fix readline logic. - - * plot2d.c: Cleaning up, indentation. - - * docs/gnuplot.doc: Corrections from Lucas Hart <hartl@ucs.orst.edu>. - Rename what's-new to new-features. - -1998-10-06 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * makefile.os2: Updated. - -1998-10-06 Jochen Schuetze <jos@gbf.de> - - * term/eepic.trm, term/latex.trm, pslatex.trm, tpic.trm: Support - free positioning of labels with LaTeX related terminals. - -1998-10-05 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Document new configure options. Additions. - - * 0PORTING: Fix typo. - - * Makefile.in: Add -DBINDIR to show.o target. - - * acinclude.m4: Add /usr/local/lib to gp_CHECK_LIB_PATH and - /usr/local/include to gp_CHECK_HEADER. - - * aclocal.m4, configure: Regenerated. - - * configure.in: Merge --with-gnugraph and --enable-unixplot into - --with-plot. - - * graphics.c: Indentation. - - * show.c: Final fixes for merger (see entry from 1998-10-03). - - * version.c: Patchlevel pl4. - - * term/gnugrph.trm: Code for GNU plotutils lib. - -1998-10-04 Jonathan Thornburg <jthorn@galileo.thp.univie.ac.at> - * graphics.c, plot2d.c, plot3d.c, graph3d.c, protos.h, - docs/gnuplot.doc: Fix infinite loops when data range is empty, - also wrong plots when data range is smaller than 'zero' setting. - -1998-10-03 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0PORTING, buildvms.com, term.h: Rename NO_ALL_TERM to SHORT_TERMLIST. - - * Makefile.in: Eliminate TERMFLAGS, add TERMXLIBS (for GNU libplot.a - from GNU plotutils). Remove misc.o target. Remove CPPFLAGS and TERMLIBS - from Makefile and config.status targets. - - * acconfig.h: Add APOLLO, CGI, DJSVGA, GNU_PLOTUTILS, GNUGRAPH, - GPR, GRX21, IRIS, SUN, UNIXPC, UNIXPLOT. - - * acinclude.m4: Clean up gp_MSDOS, gp_NEXT, gp_CHECK_LIB_PATH. Add - cases to gp_FIND_SELECT_ARGTYPES. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Add --enable options and checks for Unix and GNU plot - library, Apollo, SCO/cgi library, Iris, SunView, AT&T Unix PC. Add - to configuration report. - - * misc.c: Remove extern declarations. Remove save_version() and - replace with show_version(fp). Indentation. - - * plot.c, plot2d.c, plot3d.c, set.c, term.c, term/driver.h term/*.trm: - Rename outfile variable to gpoutfile (name clash with GNU plotutils - library). Call show_version(stderr) instead of show_version(). - - * plot.h: Add FAQ_LOCATION. - - * setshow.h: Remove outfile declaration. Fix show_version() prototpe. - - * show.c: Fix show_version() calls. Merge misc.c(save_version) into - show_version(). In show_version_long(), use one single call to - fprintf(). - - * version.c: Add faq_location. - - * docs/gnuplot.doc: Fix URL. - - * docs/termdoc.c: Patches from Lucas Hart <hartl@ucs.orst.edu>. - -1998-10-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Update with-PACKAGE section. - - * 0PORTING, Makefile.in, makefile.unx: The preprocessor symbol - is IRIS, not IRIS4D. - - * acconfig.h: Add GNUGRAPH and UNIXPLOT symbols. - - * acinclude.m4: Remove caching from gp_CHECK_HEADER_QUIET and - gp_CHECK_LIB_QUIET, cleanup. Add new macro gp_SCO. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Cleanup, remove caching of CPPFLAGS and TERMLIBS. - New options --enable-unixplot and --with-gnugraph. - - * gplt_x11.c: Move inclusion of ansichk.h and stdfn.h below - select stuff. Replace call to index() with strchr(). - - * graphics.c(boundary): Remove unnecessary \ at end of line. - - * help.c(ShowSubtopics): Move spacelen out of for loop and init - spacelen and ispacelen to zero. Suggested by HBB. - - * plot.c, plot2d.c, plot3d.c, set.c, term.c, term/driver.h, - term/*.trm: Rename outfile gpoutfile to resolve clash with GNU - plotutils library. - - * plot2d.c, plot3d.c: Add declaration of gpoutfile. - - * setshow.h: Remove outfile declaration. - - * show.c: Add faq_location. Rewrite show_version() to use fprintf() - only once. Rewrite show_version_long() to output to stderr instead - of stdout. Add UNIXPLOT and GNUGRAPH. - - * term.h: Use GNUGRAPH independently of UNIXPLOT. - - * version.c: Add faq_location. - - * term/gif.trm: Update help text. - -1998-10-01 Dick Crawford <u600256@gamma.lanl.gov> - - * docs/gnuplot.doc: Updates. - -1998-10-01 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * os2/gnupmdrv.c: Close all open files on first initialisation. - - * command.c, makefile.os2: OS/2 related changes. - -1998-09-30 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Add $(INCLUDES) to version.o target. - -1998-09-28 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0PORTING, buildvms.com, term.h: Lucas Hart's NO_ALLTERM patch. - - * configure.in: Re-add AC_HEADER_STDC. Otherwise STDC_HEADERS is - not defined. - - * help.c(ShowSubtopics): spacelen and ispacelen must not be - initialised with zero. Bug report from Stefan Schroepfer - <scr@iis.fhg.de>. Indentation. - - * plot.c(load_rcfile): Bugfix: ~/.gnuplot not read. Reported by - Stefan Schroepfer <scr@iis.fhg.de>. - - * stdfn.h: OS/2 fixes. - - * util.c: Indentation, add braces. - -1998-09-28 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/ps/ps_guide.ps: Add page numbers to enable browsing with ps - viewers. - -1998-09-26 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/sun.trm(local_notice_destroy): Comment out assignment to - non-existent variable term_init. - -1998-09-26 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * 0INSTALL, makefile.os2, plot.c, term/emxvga.trm, term/pm.trm: - More OS/2 related changes. - -1998-09-25 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * 0INSTALL, makefile.os2: OS/2 related changes. - -1998-09-25 Andris Pavenis <pavenis@lanet.lv> - - * command.c, plot.c: Patches to compile with DJGPP. - -1998-09-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0PORTING: Mention HAVE_SYS_STAT_H. Add info about plot.h. - - * acconfig.h: Remove NO_SYS_STAT_H, re-add X11. - - * acinclude.m4: Cleanup. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Change test for <sys/stat.h>, re-add X11. - - * datefile.c, stdfn.h: Invert #ifdef logic for <sys/stat.h>. - - * gplt_x11.c(mainloop): Fix typo. - - * makefile.amg: Add comment about compiler warning. - - * makefile.ami, makefile.nt, makefile.os9, makefile.tc, makefile.wc, - makefile.win: Escape quotes in CFLAGS line. - - * makefile.amg, makefile.nt: Define HAVE_SYS_STAT_H in DEFS/CFLAGS. - - * stdfn.h: Add missing stat macros for WIN32 and AMIGA_SC_6_1. - - * win/wgnuplib.def, win/wgnuplot.def: Re-add ^M's at end of line. - - * plot.h: Remove X_DISPLAY_MISSING and re-add X11. Move definition of - PLOTRC into OS specific section. - - * term.h: Remove X_DISPLAY_MISSING. - -1998-09-24 Lucas Hart <hartl@ucs.orst.edu> - - * term/x11.trm: VMS patch. - -1998-09-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Rewrite part about unproto. - - * Makefile.in: Remove spurious \ in NEXTSRC. - - * acconfig.h: Add NO_SYS_TIME_H and SELECT_ARGTYPE_mmm. - - * acinclude.m4: New macro gp_FIND_SELECT_ARGTYPES. - - * aclocal.m4, config.hin, configure: Regenerated. - - * configure.in: Remove AC_HEADER_STDC (checked by AM_C_PROTOTYPES). - Add check for <sys/time.h> and <sys/socket.h>, required by - gp_FIND_SELECT_ARGTYPES. Add gp_FIND_SELECT_ARGTYPES. - - * gplt_x11.c(mainloop): Use new types for args to select(). - - * graph3d.c, graphics.c, hidden3d.c, plot2d.c: Fix typos which crept - in when applying Lucas Hart's patches. - - * plot.h, term.h: Fix #ifdef logic with X_DISPLAY_MISSING. - - * stdfn.h: Add code for select() argument types. - - * term/post.trm: Fix typo. - - * term/tek.trm: Rest of Lucas Hart's patches - - * version.c: Bump version to 347pl3. - -1998-09-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h: Remove HAVE_LGAMMA and HAVE_STRNCASECMP. - - * config.hin, configure: Regenerated. - - * configure.in: Streamline header and functions tests to reduce - configure script size. Use AC_MSG_RESULT for configuration report. - Cosmetic changes. - - * os2/gclient.h: Move #include <math.h> to top. - - * readline.c: Indentation and comments cleanup. - - * term/excl.trm, term/fg.trm, term/gif.trm, term/gnugraph.trm, - term/metafont.trm, term/mgr.trm, term/mif.trm, term/multitos.trm, - term/pm.trm, term/table.trm, term/win.trm, term/xlib.trm: Add - comments and RCS id. - -1998-09-22 Petr Mikulik <mikulik@physics.muni.cz> - - * readline.c: Don't store duplicated history entries. - -1998-09-22 Dick Crawford <rccrawford@lanl.gov> - - * term/post.trm: Enhpost psfonts scale patch. - -1998-09-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * binary.h, command.c, graph3d.c, graphics.c, interpol.c, plot2d.c, - plot3d.c, util3d.c: Move inrange macro to plot.h. - - * gplt_x11.c: Fix indentation. Add definition of fd_set_t. Use - fd_set_t to clean up select() call. Remove unused variable all - in DEFAULT_X11 mainloop(). Fix some compiler warnings. - - * plot.c: Move defintion of HOME, PLOTRC to plot.h. Clean up - load_rcfile(). Use new symbols DIRSEP1, DIRSEP2, NUL. - - * plot.h: Define HOME, DIRSEP1, DIRSEP2 in OS section. Define - PLOTRC. - - * stdfn.h: Define NUL. - -1998-09-20 Lars Hecking <lhecking@nmrc.ucc.ie> - - * CodeStyle: Amended. - - * contour.c: Change some function signatures to avoid compiler - warnings. - - * datafile.c: Rename some vars to avoid compiler warnings. - - * help.c(LoadHelp,ShowSubtopics): Initialize pos. - - * contour.c, datafile.c, fit.c, graph3d.c, graphics.c, hidden3d.c, - internal.c, interpol.c, matrix.c, plot2d.c, plot3d.c, set.c, stdfn.c, - strftime.c, util3d.c: Cleanups. - -1998-09-20 Lucas Hart <hartl@ucs.orst.edu> - - * contour.c: Add chk_contour_kind() function. - - * docs/doc2rnh.c: Add new putrnh_() function. - - * contour.c, datafile.c, fit.c, graph3d.c, graphics.c, hidden3d.c, - internal.c, interpol.c, matrix.c, plot2d.c, plot3d.c, set.c, stdfn.c, - strftime.c, util3d.c: VMS patches - -1998-09-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * version.c: Trim log entries for beta346. - -1998-09-19 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * command.c, plot.c, stdfn.h, os2/gclient.c: Patches to make 347pl2 - compile under OS/2. - -1998-09-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * command.c: Move HELPFILE definition to plot.h. - - * plot.h: Add CONTACT, HELPFILE, and HELPMAIL definitions. - - * show.c(show_version_long): Use GNUHELP environment variable to - find HELPFILE, cleanup. - - * version.c: Move CONTACT and HELPMAIL definition to plot.h, - include plot.h. Bump version to 347pl2. - -1998-09-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * set.c(get_style): Fix typo. - -1998-09-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Updated. - - * acconfig.h: Add NO_SYS_STAT_H, remove X11. - - * config.hin, configure: Regenerated. - - * configure.in: Don't define X11. Add check for <sys/stat.h> and - AC_HEADER_STAT. - - * datafile.c: Modified version of Alexander Mai's stat(2) patch - (check if regular file or pipe before opening data file). - - * makefile.amg: Remove stdfn.h from datafile.c deps. - - * plot.h: Define X11 in terms of X_DISPLAY_MISSING. - - * show.c(show_version_long): Fix typo. Changes to make it compile - with pre-ANSI cc. - - * stdfn.h: Add stat(2) related macros. - - * term.h: Use X_DISPLAY_MISSING instead of X11. - -1998-09-16 Alfred Reibenschuh <alfred.reibenschuh@cait.co.at> - - * term/gif.trm: More colours for gif terminal (web216 standard). - -1998-09-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/cgm.trm(CGM_graphics): Fix core dump with strlen(NULL). - -1998-09-15 Alfred Reibenschuh <alfred.reibenschuh@cait.co.at> - - * term/gif.term: Draw grids with the gdStyled functions. - -1998-09-02 Alfred Reibenschuh <alfred.reibenschuh@cait.co.at> - - * term/gif.term: Prevent rotated labels from extending into graph area. - -1998-09-01 Dick Crawford <u600256@gamma.lanl.gov> - - * graphics.c: Fix timestamp positioning. - - * term/post.trm: Update help section to new directory structure - for postscript docs. - -1998-08-28 Rolf Niepraschk <niepraschk@chbrb.berlin.ptb.de> - - * descrip.mms: Updated version. - -1998-08-28 Joji Maeda <jiji@ee.noda.sut.ac.jp> - - * term/post.trm: Increase the number of dictionaries to 256. - -1998-08-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in, misc.c: Modified set angle patch from Juergen von Hagen - <vonHagen@engr.psu.edu>. - - * Makefile.in: Add PACKAGE and VERSION variables. Remove version - variable. - - * acconfig.h: Add PACKAGE and VERSION variables. - - * acinclude.m4: Remove AM_MISSING_PROG macro. - - * aclocal.m4: Regenerated with aclocal. - - * config.hin: Regenerated with autoheader. - - * configure.in: Add VERSION variable, AM_INIT_AUTOMAKE. Remove - AM_MISSING_PROG, AC_PROG_MAKE_SET, AC_PROG_INSTALL. Add configuration - summary report. - - * configure: Regenerated with autoconf. - - * docs/checkdoc.c, docs/doc2gih.c, docs/doc2hlp.c, docs/doc2html.c, - docs/doc2info.c, docs/doc2ipf.c, docs/doc2ms.c, docs/doc2rnh.c, - docs/doc2rtf.c, docs/doc2tex.c: #undef TRUE and FALSE before - redefining it. - -1998-08-24 Alexander Mai <st002279@hrzpub.tu-darmstadt.de> - - * gplt_x11.c, makefile.os2, os2/gclient.c, os2/print.c, term/pm.trm: - OS/2 fixes. - -1998-08-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * datafile.c (df_tokenise): Fix bug in datafile reading speedup patch. - -1998-08-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * readline.c: Fix termios/sgtty logic. - -1998-08-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Unconditional test for <sgtty.h>. - - * plot.h, readline.c: Indentation, comments for readability. - - * Makefile.in, makefile.all: Forgot Makefile in DOCS4. - -1998-08-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Forgot to add docs/ps to SUBDIRS. Remove duplicate - DOCS variable. - - * Makefile.in, makefile.all: Remove $(S)ps_symbols.ps from DOCS4. - -1998-08-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * hidden3d.c, makefile.dj2, makefile.tc, makefile.win, plot.h, - show.c, term/pc.trm, term/post.trm, win/wgnuplot.def, win/wtext.c: - hbbmisc.diffs.980813 patch set. - -1998-08-17 Andris Pavenis <pavenis@lanet.lv> - - * term/hpljii.trm: Output file is opened in ASCII mode under DJGPP, - Windows. - -1998-08-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/gnuplot.doc: Fix hierarchical structure of 'format', - 'format_specifiers' and 'data/time_specifiers'. By HBB. - - * Makefile.in, makefile.all: remove docs/ps_guide.ps from DOCS1. - - * install-sh, missing, mkinstalldirs: Update from automake-1.3b. - -1998-07-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/ps_guide.ps: Removed. Newer version now in docs/ps. - - * fit.h: Add parentheses around macro args. - - * version.c: Fix some typos. - -1998-07-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * term/amiga.trm: Fix indentation. - - * docs/ps/: New subdir for PostScript docs. - - * docs/ps/Makefile, docs/ps/README, docs/ps/ps_file.doc, - docs/ps/ps_guide.ps, docs/ps/ps_symbols.gpi: New files, from - Dick Crawford's gp-ps.tar. - - * Makefile.in, makefile.all: Add PostScript docs to DOCS variable. - -1998-07-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL, 0README, configure.in: Fix typos, small changes. - - * docs/Makefile.in, docs/latextut/Makefile.in: Fixes for building - outside source directory, cleanup. Add target for tutorial.ps. - - * Makefile.in: In Makefile target, change INCLUDES= to CPPFLAGS=. - - * docs/*.c, docs/gnuplot.doc: Update copyright statement. - - * Makefile.in, makefile.all: Add doc2rnh.c to DOCS1 variable. - -1998-07-15 Lucas Hart <hartl@ucs.orst.edu> - - * scanner.c: Add include files for VMS. Old patch. - - * docs/doc2rnh.c: New file, help file format for VMS. Old patch. - Target was already in Makefile.in. - - * vms.c: Include plot.h, make mbxbname static. Old patch. - -1998-07-14 Lars Hecking <lhecking@nmrc.ucc.ie> - - * 0INSTALL: Add missing --without-PACKAGE description in section - about --with-PACKAGE. - - * Makefile.in: (Bug fix) No directory prefix for CONFIG_HEADER_IN. - If build dir != src dir, configure/make picks up the correct prefix. - automatically. Add makefile.wc to ETC variable. Final fix for dist - target. - - * configure.in: Set CPPFLAGS and X_LIBRARIES in test for X Window - System files. Remove test for -lnsl/-lsocket. Add code to cache - and use CPPFLAGS and TERMLIBS. Bug fix in libreadline test error msg, - reported by Thomas Walter <walter@pctc.chemie.uni-erlangen.de>. - - * configure: Regenerated. - - * graphics.c (gprintf): Add klugde to use snprintf() where available. - Add new 2nd arg (size_t count) to function signature. - - * makefile.all: Add makefile.wc to ETC variable. - -1998-07-14 Stefan Schroepfer <scr@iis.fhg.de> - - * makefile.nt: Portability patch. - -1998-07-08 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure.in: Change AC_PATH_X to AC_PATH_XTRA, add check - for snprintf(). - - * config.hin, configure: Regenerated. - - * 0INSTALL, 0README: Additions, inspired by Lucas Hart - <hartl@ucs.orst.edu>. - -1998-07-08 Aurel Gabris <gabrisa@valerie.inf.elte.hu> - - * 0PORTING, doc/gnuplot.doc, makefile.wc, national.h, stdfn.h, - term/pc.trm, term.c: DOS Watcom C port. - -1998-07-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * graphics.c, util3d.c: Grid clipping patch. - - * datafile.c: Fortran numbers patch. - -1998-07-02 Markus Dickebohm <m.dickebohm@uni-koeln.de> - - * gplt_x11.c: Change 0xffffffff to (unsigned long)(-1L). - -1998-07-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: New target for show.o, for 'show version long'. - - * acconfig.h, config.hin, configure.in: The correct file name - is .gnuplot, not .gnuplotrc! - - * config.hin: Add HAVE_SYS_UTSNAME_H, for 'show version long'. - - * configure.in: Add check for <sys/utsname.h>. - - * configure: Regenerated. - - * setshow.h: Add <sys/utsname.h> and show_version_long() prototype. - - * show.c: Add show_version_long(), and add 'version long' option - to parser. - -1998-07-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * hidden3d.c: Fix core dump, allocated storage not free()'d in - case of errors. - -1998-06-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c, fit.h, matrix.c, matrix.h: Updated to hbbmisc patch - from 29-06-1998. - - * makefile.tc, makefile.win, misc.c, set.c, show.c, docs/gnuplot.doc, - win/wtext.h: Updated to hbbmisc patch from 29-06-1998. - - * graphics.c: hbbmisc patch minus write_multiline() hunk. - - * graphics.c: hbbdiffs-980630, hopefully complete fix for margin - calculation bug. - - * term/pc.trm: hbbdiffs-980630. Let BGI graphics library take - care of vertical centering of letters. - - * win/wgraph.c: hbbdiffs-980630. Make rotated letters also have the - correct justification to the *center* of the text height. - -1998-06-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * docs/termdoc.c: Use HAVE_CPP_STRINGIFY for ANSI_C. - -1998-06-29 Roger Fearick <fearick@physci.uct.ac.za> - - * makefile.os2, plot.c, os2/gclient.c, term/pm.trm: OS/2 patches. - -1998-06-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Imported beta 347. - -1998-06-23 Berthold Hoellmann <hoel@hamburg.germanlloyd.de> - - * Makefile.in: In term.o target, reverse order of $(INCLUDES) and - $(CPPFLAGS) to avoid problems with GNU plotutils. - -1998-06-23 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Imported beta 346. - -1998-06-19 Lars Hecking <lhecking@nmrc.ucc.ie> - - * fit.c, fit.h, matrix.c, matrix.h: Re-re-import new improved - versions from beta344. Suggested by HBB. - - * Makefile.in, makefile.all: Fixes, update file lists. - - * docs/makefile, docs/latextut/makefile: Restore files which - got deleted accidentally. - -1998-06-18 Lars Hecking <lhecking@nmrc.ucc.ie> - - * graph3d.c, util3d.c: Remove spurious ^M. - - * 0PORTING: Fix typos. - - * set.c: Complete axis width fix. - -1998-06-17 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Imported beta 345. - - * docs/gnuplot.doc, term/post.trm: Fix typos. - -1998-06-16 Dick Crawford <rccrawford@lanl.gov> - - * docs/README, docs/doc2ms.c, docs/doc2tex.c, docs/gnuplot.doc, - docs/ps_guide.ps, term/cgm.trm, term/post.trm,term/x11.trm: - Cleaning up. - -1998-05-12 Lars Hecking <lhecking@nmrc.ucc.ie> - - * set.c: Fix axis width in lp_style_type. HBB and Lars Hecking. - -1998-05-08 Dick Crawford <rccrawford@lanl.gov> - - * plot3d.c: Fix "title" option for "splot" under parametric mode. - - * graphics.c, set.c, show.c: Margin calculation correction patch. - -1998-04-29 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Makefile.in: Minor fixes. - - * fit.c, fit.h, matrix.c, matrix.h: Re-import versions from beta 343. - Suggested by HBB. - -1998-04-24 Lars Hecking <lhecking@nmrc.ucc.ie> - - * configure, configure.in: Don't use sudo. - -1998-04-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * graph3d.c: Fix range bug in splot. - -1998-04-22 Lars Hecking <lhecking@nmrc.ucc.ie> - - * Imported beta 344. - -1998-04-16 Lars Hecking <lhecking@nmrc.ucc.ie> - - * set.c: Don't include math.h, but stdfn.h. - - * term/driver.h: Remove GOT_DRIVER_H, use TERM_DRIVER_H instead. - Add some comments. - - * term/*.trm, TERM/README: Remove #ifndef GOT_DRIVER_H/#endif - around #include "driver.h". - - * term/cgm.trm: Amend help section. - - * term/emxvga.trm: Add some comments, don't include math.h. - - * term/latex.trm (LATEX_rule): Replace valid with isvalid - (valid is a macro in <locale.h> under SunOS 4.1.x). - - * term/png.trm: Test for png version moved to configure. - - * term/epson.trm, term/hp500c.trm, term/hpljii.trm, term/hppj.trm, - term/pbm.trm, term/png.trm: Replace #ifdef vms with #ifdef VMS. - - * makefile.*: Remove unneeded symbols AUTOCONF, HAVE_STRERROR, NOGAMMA. - Add stdfn.c and appropriate rules. - -1998-04-15 Lars Hecking <lhecking@nmrc.ucc.ie> - - * parse.c (factor): Final, working workaround for HP 300 compiler - limitation. - -1998-04-13 Lars Hecking <lhecking@nmrc.ucc.ie> - - * post.trm: Fix typos in Dick's term-340 patch. - -1998-04-13 Dick Crawford <u600256@gamma.lanl.gov> - - * atariaes.trm, atarivdi.trm, cgi.trm, cgm.trm, corel.trm, epson.trm, - fig.trm, linux.trm, next.trm, pbm.trm, pc.trm, pm.trm, png.trm, - post.trm, pslatex.trm, pstricks.trm, table.trm, tek.trm, texdraw.trm, - unixplot.trm, vws.trm, win.trm, x11.trm: term-340.patch. - -1998-04-13 Glenn A. Horton-Smith <gas@slac.stanford.edu> - - * scanner.c, util.c: Escape quotes patch. - -1998-04-13 Stephen Eglen <stephen@cns.ed.ac.uk> - - * post.trm, pbm.trm: X11 vs. ps (and pbm) colour inconsistency patch. - -1998-04-13 James R. Van Zandt <jrv@vanzandt.mv.com> - - * cgm.trm: Updated version, fixes "plot size change" bug, and "ugly - dashed lines" bug. - - * term/README: Documentation fix. - -1998-04-13 Konrad Bernloehr <bernlohr@ik3.fzk.de> - - * command.c (define): Fix segfault where allocated structure - (action table) is freed twice. - - * fig.trm: Fix pointsize in fig terminal, together with - Hans-Martin Keller <hkeller@gwdg.de>. - -1998-04-13 Kai Poitschke <kai.poitschke@henkel.de> - - * term.c (term_init): Memory allocation error fix. - -1998-04-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * fit.c, matrix.c, matrix.h: fit-unlimited.diff.980105. - - * fit.c: Fix segfault in fit.c (fit_chisq_undef.diff.980304). - - * hp500c.trm, hppj.trm, pbm.trm, png.trm: Fix changing plot size bug. - -1998-04-11 Lars Hecking <lhecking@nmrc.ucc.ie> - - * acconfig.h: Remove AUTOCONF, NOCOPY, OLD_SELECT. - Add HAVE_CPP_STRINGIFY, HAVE_LGAMMA, HAVE_STRNCASECMP, NO_MATH_H, - NO_SETVBUF, NO_STRERROR, NO_STRRCHR, NO_STRSTR. - - * ansichek.h: Remove test for AUTOCONF, define ANSI_C if __STDC__ == 1. - Define HAVE_CPP_STRINGIFY and PROTOTYPES if ANSI_C == 1. - - * config.hin: Regenerated from acconfig.h with autoheader. - - * configure.in: Add support for 'missing'. Add test for ANSI - stringification. Rearrange test order (ANSI first). Rewrite tests - for libgd and libpng, check png version. - - * configure: Regenerated from configure.in with autoconf. - - * stdfn.c: New file, adds strchr(), strstr(). Moved memcpy() from - parse.c, memset() from plot.h, strerror() from util.c, purec_sscanf() - from datafile.c, sleep() from command.c, strnicmp() from fit.c. - - * stdfn.h: Cleanups, adjustments for stdfn.c. Include math.h. - New, general debug macro FPRINTF. - - * parse.c: Don't include math.h. Move memcpy() to stdfn.c. Workaround - for buggy HP-UX compiler. - - * plot.h: Regroup OS specific defines at beginning of file. Define - VMS for VMS platform. Move memcpy() to stdfn.c. Move most #include - statements to stdfn.h. Define AMIGA for AmigaOS compilers. Define - BACKUP_FILESYSTEM for VMS. - - * fit.c: Move strnicmp() to stdfn.c. Use BACKUP_FILESYSTEM in update(). - - * gplt_x11.c, readline.c, term.c, time.c, util.c: Use FPRINTF instead - of DEBUG, DEBUG_STR, and TRACE. - - * gplt_x11.c, plot.c: Remove superfluous prototype for main. - - * gplt_x11.c: Use HAVE_SYS_SELECT_H instead of OLD_SELECT. Use - memset() instead of bzero(). In mainloop(), use ANSI_C instead - of __STDC__. - - * bf_test.c, binary.c, command.c, contour.c, datafile.c, fit.c, - gplt_x11.c, graph3d.c, graphics.c, hidden3d.c, internal.c, interpol.c, - matrix.c, misc.c, plot.c, plot2d.c, plot3d.c, readline.c, scanner.c, - show.c, specfun.c, standard.c, strftime.c, term.c, time.c, util.c, - util3d.c: Don't include headers already included by stdfn.h. - - * command.c: Move sleep() related declarations to stdfn.c and stdfn.h. - - * datafile.c: Move purec_sscanf() to stdfn.c. - - * hidden3d.c, plot2d.c, plot3d.c: Use HAVE_CPP_STRINGIFY in place - of ANSI_C. - - * command.c, plot.c, scanner.c, term.c, util.c: Use VMS in place - of vms. - - * plot.c, term.c: Use AMIGA for AmigaOS compilers. - - * strftime.c: Replace TEST with TEST_STRFTIME. - - * util.c: Move strerror() to stdfn.c. - - * errorfix.sh: Can now be run if compiledir != sourcedir. More - robust. - - * term.h: Use AMIGA for Amiga compilers. Move X11 term inclusion. - - * vms.c: Include stdfn.h. - - * makefile.g: Remove -DAUTOCONF=1. - -1998-04-09 Lars Hecking <lhecking@nmrc.ucc.ie> - - * ChangeLog: New file. - - * gplt_x11.c (prepare_plot): Remove unused definition term_icon[10]. - - * set.c (set_arrow, set_linestyle): Replace aggregate initialisation - for non-ANSI compilers. - - * Makefile.in: General cleanup. Add full support for GNU auto* tools. - - * missing: New file required for full GNU auto* tools support. Taken - from automake 1.3 distribution. - - * acinclude.m4: New macros gp_PROG_CPP_STRINGIFY, taken from egcs, - and AM_MISSING_PROG, from automake 1.3 distribution. Fixes in - gp_CHECK_LIB_PATH and gp_CHECK_HEADER. - - * aclocal.m4: Regenerated from acinclude.m4 with aclocal. - - * configure: Regenerated from configure.in with autoconf. diff --git a/docs/old/ChangeLog.1 b/docs/old/ChangeLog.1 deleted file mode 100644 index c6f85be88..000000000 --- a/docs/old/ChangeLog.1 +++ /dev/null @@ -1,8166 +0,0 @@ -This is the ChangeLog covering gnuplot development between April 2004 -(version 4.0 release) and October 2006 (4.2.0-rc1). -===================================================================== - -2006-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.texi docs/doc2texi.el docs/gnuplot.doc: - Update version number to 4.2 and update date to 2006 - -2006-10-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Changed to rc1 for first release candidate. - - * VERSION: Changed to version 4.2. - -2006-10-01 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * configure.in (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR): - Changed to allow automake version to be checked. Avoid annoyingly - frequent problems from CVS users who just have too ancient - automakes, but only detect that by showing us obscure error - messages. Required automake may have to be increased still. - -2006-09-28 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_plot.h: Fix compilation on Windows, where syscfg.h - has to be included for TBOOLEAN to be defined in wtext.c - -2006-09-26 Juergen Wieferink <wieferink@freenet.de> - - * src/graphics.c (plot_betweencurves): If the input file contains a - blank line, terminate current filled area and start a new one. - Unfortunately it is not currently possible to distinguish between a - blank line and an invalid/missing coordinate. - - * src/plot2d.c (get_data): Add comments to document the problem of - distinguishing a blank line from an invalid data point. (EAM) - - Bug #1563430 - -2006-09-24 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation, - SF Patch [1519215]. - -2006-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c (set_plot_with_palette): It used to be that all plots - needing a colorbox had pm3d_color.type == TC_DEFAULT. This is no - longer true, so add a more specific check on whether a colorbox is - needed. Bugfix. - -2006-09-23 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::OnSize): Clean floating-point - comparison nonsense. - -2006-09-22 Juergen Wieferink <wieferink@freenet.de> - - * term/post.trm (PS_vector): To avoid accummulated error in a long - series of relative moves or draws, we were issuing a "stroke" command - periodically to force an update of the absolute position. This has the - bad side affect of resetting the current dot/dash pattern. Fix this so - that instead of using "stroke", we simply force an absolute vector - before continuing. This avoids accummulated error but does not reset - the dot/dash pattern. - Bugfix #1542050 - -2006-09-21 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Bump required version of wxWidgets to 2.5.3 for the - wxt terminal. - - * src/wxterminal/wxt_gui.cpp (DrawToDC): Fix double cast warnings. - Fix a lazy constructor that seems not to be accepted on all setups. - -2006-09-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (disp_value): Force clean printout of "NaN" on save, - print, or show commands. Without this, the value is printed as - "nan.0", which is not parsable by set or load commands. Bugfix - #1544347 - -2006-09-16 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Rework the checks for cairo and pango so that the error - messages are more helpful, mostly by copying the defaults pkg-config - messages and making them non-fatal. - Revert the minimum version of pango to 1.10.0 but refuse to compile the - wxWidgets terminal with pango 1.10.2. - -2006-09-16 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * docs/gnuplot.doc (set format): Make documentation for missing - <axes> argument match actual behaviour. - -2006-09-15 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (DrawToDC): Fill in gray the empty space - that has been let by a change in the aspect ratio of the window. - - * trm/wxt.trm (TERM_HELP): Try to document the window resize behaviour - a little better. - -2006-09-14 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Bump the required version of pango to 1.10.3 to fix a - bug in earlier versions about scaling matrix not being applied properly - to the fonts. - -2006-09-12 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * docs/gnuplot.doc (format specifiers): Fix typo in one example. - -2006-09-11 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtConfigDialog::OnButton): - * src/wxterminal/wxt_gui.h (wxt_settings_queue, wxt_settings_apply): - Queue the modified rendering settings instead of applying them right - away, so that the plot is not messed up during a window resize. - -2006-09-10 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Fix the use of the - Symbol font in non-enhanced mode, a peace of code was not pasted - properly. - - * src/wxterminal/wxt_gui.cpp (wxt_set_font): Fix the use of a - non-initialized integer as the fontsize. - -2006-09-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc: Sync Japanese documentation to recent changes in - English files. SF Patch [1519215], rev.1.385. - -2006-09-01 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (string_expand): Fix segfault if a truly enormous - string is to be used as an input line. - -2006-09-01 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Edits of the "What is new in gnuplot 4.2". - - * docs/gnuplot.doc term/x11.trm: Comments on 'raise' does not raise. - -2006-08-30 Harald Harders <h.harders@tu-bs.de> - - * src/graphics.c (place_arrows): Allow for terminal-specific clipping, - exactly as done elsewhere in the code. - -2006-08-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_plot): The border attribute of fill style was - ignored by filledcurves. Change this to match all other places where - fillstyle is honored. - -2006-08-28 Lars Hecking <lhecking@users.sourceforge.net> - - * prepare: Allow importing auto* tools from the environment. - -2006-08-26 Ethan A Merritt <merritt@u.washington.edu> - - Fix program errors revealed by issuing the command sequence - set termoption font 'face,size'; show term - set termoption font 'face'; show term - to all terminal types. - - * term/gd.trm term/svg.trm term/tgif.trm: Accept comma-separated font - face, size. Reset to default font size if no size information is given. - - * term/tkcanvas.trm: Fix infinite loop if unrecognized terminal option. - -2006-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Increment the current point even if its - value is undefined. This allows grid spacing to be maintained, and - correctly handles `splot ... using ($1):($2):($3)`. - - FIXME: This is only a partial solution. Deeper problems exist in the - handling of missing/NaN/junk data values during input. In particular, - gridding is still corrupted in the case of `splot ... using 1:2:3`. - -2006-08-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (cbtick_callback): Add handling of text properties - associated with colorbox tic labels, making them like the other axis - tic labels. - Bug #1543927 - -2006-08-21 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc - Sync Japanese documentation to recent changes in English files. - (rev.1.383) 15Aug2006 - -2006-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_variables__sub): Do not save NaN to output file, - since it does not print correctly. - - * src/eval.c (update_gpval_variables): Make it explicit which variables - are updated from which context. - - * src/plot.c (main) src/util.c (int_error): Call update_gpval_variables - on program entry and on int_error. - - Bug #1540398 (last release-critical tracker item) - -2006-08-19 James R. Van Zandt <jrvz@comcast.net> - - * term/cgm.trm: update email address - -2006-08-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: One half of the definition of clip_fill was - inadvertently omitted from the patch of 2006-06-04. This fix allows the - improved clipping to apply to all filled curves, whereas without it the - new clipping code only checked for "closed" filled curves. - -2006-08-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Initialize default histogram title structure to use - character units for the title offset. Fixes spurious error if the - y axis is log scale. - -2006-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_key_sample): Check for terminal support of - term->filled_polygon before using it to draw a key sample. Fixes - segfault in epson driver (and probably others) if a filled area - is assigned an RGB color. - Bugfix. - - * src/eval.c (update_gpval_variables): Test for term==NULL, and if so - return without doing anything. This prevents a segfault. However, why - does the program not trigger a similar segfault elsewhere? - Bug #1540398 - -2006-08-13 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Clarify the argument required by exists(), and - provide an example of passing it a string variable containing the - name of another udv (possibly useful in conjunction with macros). - -2006-08-13 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/doc2tex.c (puttex): Don't split index words at - or _; replace - _ by space. - -2006-08-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/PostScript/prologue.ps: Remove comment with my name in it. - Further tweak to the PatternBgnd macro. - -2006-08-12 Petr Mikulik <mikulik@physics.muni.cz> - - * term/PostScript/cp437.ps term/PostScript/cp850.ps - term/PostScript/koi8r.ps: Remove superfluous C comment characters. - - * term/PostScript/cp852.ps: Remove my info. - -2006-08-11 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/post.trm: Fix preprocessor logic for !defined(GNUPLOT_PS_DIR). - -2006-08-11 Petr Mikulik <mikulik@physics.muni.cz> - - * term/PostScript/prologue.ps: Replace multiple spaces by a tabulator. - - * docs/doc2tex.c (puttex): Remove superfluous spaces around \index{x}. - -2006-08-11 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: Define GNUPLOT_PS_DIR to use external PostScript - prologue files. - -2006-08-11 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Some comments in the help for bind and mouse - variables. - -2006-08-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc - Sync Japanese documentation to recent changes in English files. - (rev.1.381) 08Aug2006 - -2006-08-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/PostScript/prologue.ps: Move the pattern-fill - background initialization out of the terminal driver and into the - prologue script, with a user-toggle at the top of the file. Allows - pseudo-transparency, and complete redefinition of the pattern styles - without rebuilding gnuplot. - -2006-08-09 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/Makefile.in: Revert change from 2006-07-18 (define - GNUPLOT_PS_DIR), now useless as the PostScript prologue help no longer - has any #ifdef. - -2006-08-09 Bastian Maerkisch <bmaerkisch@web.de> - - SF Patch [1505261] wgnuplot: open file-open-dialog in current dir - - * src/win/wmenu.c (SendMacro): Windows XP uses a strange initial - directory for the file open dialog. This patch forces the dialog to - always open in the current directory. So now, if you change the - directory via 'cd', the file open dialog opens where expected. - -2006-08-08 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/show.c (show_version): Fix C99-ism by reintroducing - a pair of braces that had been removed. - -2006-08-07 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::wxt_cairo_create_bitmap): - Use a reference instead of a pointer to avoid misusing an undocumented - constructor that will be removed in wxWidgets >= 2.7.0. - -2006-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * demo/all.dem: Add rectangle.dem to the standard test set. - - * demo/image.dem demo/macros.dem demo/rainbow.dem demo/rectangle.dem: - Now that we have the configuration options in GPVAL_COMPILE_OPTIONS we - can use this to test for the presence of optional features needed for - any particular demo. These particular demos require configuration - options that are marked EXPERIMENTAL in version 4.2, so we test for - the presence of the feature and if it is missing then we print a - warning message and skip the rest of the demo. This allows "make check" - to succeed even if the EXPERIMENTAL features are configured out. - -2006-08-06 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc: Document GNUPLOT_PS_DIR in the list of environment - variables. - - * INSTALL: Likewise. - Synchronize the output of `./configure --help'. - Document the requirements of the wxWidgets terminal. - - * configure.in: Remove detection of libpng, useless since the - standalone png driver has been removed. - - * src/Makefile.am (AM_CPPFLAGS); Remove PREFIX and VERSION_MAJOR, those - were used by the wxWidgets terminal but are not anymore. - -2006-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * tutorial/tutorial.tex: Update version statement to 4.2 - - * src/version.c src/version.h: Global (char *)compile_options. - - * src/show.c (show_version): Save the configuration options string - produced for "show version long" in (char *)compile_options. If called - as show_version(NULL), do this and nothing else. - - * src/plot.c (main): Call show_version() on program entry in both - interactive and non-interactive mode so that it initializes the - compile_options string. - - * src/eval.c (update_gpval_variables): New udv GPVAL_COMPILE_OPTIONS - that makes the compile_options string available to the user. - -2006-08-05 Daniel Sebald <daniel.sebald@ieee.org> - - * src/history.c: Built-in readline history command was losing one - saved entry every time. Fix the start point for the save. - Bug #1531532 - -2006-08-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm term/post.trm term/emf.trm term/cgm.trm - term/metapost.trm: term->options() should not reset the terminal to - its default values if it is called from "set termoption" rather than - from "set term". - Bug #1534649 - - * docs/gnuplot.doc: Fix typo and update example commands to use - exists("Foo") rather than define(Foo). - - * src/eval.c (update_gpval_variables): Store PATCHLEVEL as a string if - possible, so that people can use this as an identifier for customized - versions. - -2006-08-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm (PDF_set_color PDF_linetype PDF_filled_polygon): - Implement the "mono" option, which up until now has not done anything - other than failing to set new linetypes. - Bug #1517932 - -2006-08-03 Petr Mikulik <mikulik@physics.muni.cz> - - * term/PostScript/prologues.h: Regenerated. - - * term/PostScript/ps_header.sh: Force always the same sorting. - - * term/post.trm term/PostScript/prologue.ps: Move "Blacktext {} if" into - the definitions of {M}{LCR}show, to avoid it directly in the postscript - body. - -2006-08-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Allow a string-valued function - to provide the time/date string for interpreting axis coordinates - given after 'set {xyz}data time'. - Bug #1445586 - -2006-07-31 Timothee Lecomte <timothee.lecomte@ens.fr> - - * README.1ST: Update notes on the gd library. - -2006-07-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_linetype): Fix off-by-one error in checking for - minimum legal linetype. Could conceivably have caused a segfault. - - * demo/rectangle.dem demo/html/index.save: Update demo for 4.2 - -2006-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc (Known Bugs): The 'nohidden3d' options does - not work for parametric curves. Bug #1531432. - -2006-07-30 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to recent changes in English files. - -2006-07-30 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/post.trm: Reword the doc about the prologue files, so that we do - not need the #ifdef GNUPLOT_PS_DIR, and so that the use of the - environment variable GNUPLOT_PS_DIR is always documented since it is - always available. - -2006-07-30 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.doc: Format norm()/invnorm() info for 80 characters. - -2006-07-29 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Remove warning about needing a patch for libreadline - (not relevant to libreadline version 5). - - * docs/gnuplot.texi: Update to match current documentation. - -2006-07-29 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * docs/gnuplot.doc: clarify definitions of functions norm() and igamma() - -2006-07-29 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc: Another round of additions to the "news" section - of the help. - - * src/plot.c (main): Fix parsing of "-persist" for the wxWidgets - terminal when X11 is not defined, and when _Windows is defined. - - * term/ai.trm (TERM_HELP): Add notice that the terminal is outdated - and that post should be used instead. - -2006-07-28 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc: Add details about new features in 4.2 with full - sentences and following the same format as 4.0 new features. - - * src/command.c (rlgets) [HAVE_LIBREADLINE]: Add an extra string - comparison not to remove false duplicates from the history. - BUG #1529200 - -2006-07-28 Ethan A Merritt <merritt@u.washington.edu> - - * tutorial/Makefile.am.in: Set environmental variable GNUTERM to latex - before running gnuplot on the tutorial demos. Bypasses any potential - conflicts of default terminal type with currently installed terminals. - Bugfix. - - * src/misc.c (lp_parse parse_colorspec): Incorrect parsing of linetype - colorspec if the colorspec was not the last thing on the command line. - Bug #1526387 - - * term/emf.trm: Implement "set term emf ... size XX,YY". - - * term/post.trm term/dumb.trm: Update terminal description - -2006-07-27 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_set_color): If the color is specified - by linetype, fall back to PS_linetype for monochrome/grayscale plots. - Bug #1529884 - -2006-07-27 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc (x11_mouse): Reword the section about possible hangs - when piping from /dev/null to reflect the 4.2 behaviour where mouse is - turned on by default. - - * src/plot.c (main): - * src/wxt_gui.c (wxt_atexit): - * src/wxt_plot.h: - Move the code parsing **argv for "-persist" from wxt_atexit() to - main(). X11_args() parses it too in main() and removes the tokens that - it recognizes from **argv, so we need to do it before that happens. - Also avoid processing of the mouse events when the wxt terminal is not - the current active one at exit time. - -2006-07-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to recent changes in English files. - -2006-07-26 Per Persson <persquare@mac.com> - * term/aquaterm.trm: Made UTF8 the default encoding for AquaTerm. - -2006-07-26 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * tutorial/Makefile.am.in (RUN_GNUPLOT): Can the .plt.tex command - sequence into this new macro. - (.plt.tex): Use the new macro. Ged rid of the @ marker that hides - the gnuplot invocation, while at it. - (eg7.eps): New rule using the macro, to ensure make knows how to - make the .eps file, even if the .tex output is still present. - -2006-07-26 Timothee Lecomte <timothee.lecomte@ens.fr> - - * tutorial/.cvsignore: Add *.eps and test.tex to the list of files - to be ignored by CVS. - -2006-07-25 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/README: Change IMAGE_DRIVER to the true WITH_IMAGE. - -2006-07-24 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/wxt.trm (wxt_options): Fix wrong test on tri-state variable. - -2006-07-23 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc (Syntax): Change wording to avoid reference to - `enhanced postscript`. - -2006-07-22 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/gnuplot.doc: Add here and there some references to the wxWidgets - terminal, where appropriate. - * term/post.trm (00psglobal): Remove reference to 'if compiled with - pm3d'. - * term/post.trm (epslatex): Change reference from 'set ticscale' to - 'set tics scale'. - -2006-07-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm term/wxt.trm: Make x11 and wxt share a - common syntax for switching between "quit = q" and "quit = ctrl-q" - behaviour from the command line: - set term foo {{no}ctrlq} - -2006-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c src/eval.h src/plot.c: Add a pre-defined udv NaN that is - guaranteed to evaluate as NaN. This provides a convenient way to define - a user function that explicitly returns NaN under some conditions. - Bug #1158281 - -2006-07-20 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc: Sync to current English version. - -2006-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/*.trm: Revert patchset of 2006-07-06 - Restore explicit help entries for "set term foo ...". - Daniel has a patch to help.c which would obviate this fix, but I judge - that had better wait til after 4.2. This returns us to a state that - was satisfactory for a long time. - - * docs/term-ja.diff: EAM - Modify patch so that it applies without error, - but it still needs to be updated to track the recent changes to post.trm - that add a section describing GNUPLOT_PS_DIR. - -2006-07-18 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.h (wxtPanel): New state variable - wxt_ruler_lineto. - - * src/wxterminal/wxt_gui.cpp (wxt_set_cursor): Handle the new flags -3 - and -4 for "line from ruler to current mouse position". - (OnMotion): Redraw on mouse motionto update the line to ruler. - (Draw): Draw a line from the ruler to current position when asked to. - -2006-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Add help-file sections describing the PostScript - prolog processing, and the environmental variable GNUPLOT_PS_DIR. - - * term/post.trm: Add a %%BeginProlog line to the output stream. - - * docs/Makefile.in: Define GNUPLOT_PS_DIR so that the corresponding - documentation is processed (Timothee Lecomte). - - * src/plot3d.c (eval_3dplots): Unnecessary initialization to quiet - spurious compiler warning. - -2006-07-18 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * config/makefile.oww (TERMFLAGS): Add -DGNUPLOT_PS_DIR flag. - (GNUPLOT_PS_DIR): Define the relative PostScript path. - - * config/makefile.mgw: Add a line to help Emacs detect this is a - Makefile. - (term.$(O)): -DGNUPLOT_PS_DIR shouldn't really be down here. - (TERMFLAGS): Move the -DGNUPLOT_PS_DIR flag in here. - -2006-07-18 Petr Mikulik <mikulik@physics.muni.cz> - - SF Patch [1520821] line from ruler to current mouse position if polar - distance - - * src/mouse.c term/README: Two new flags for term->set_cursor(flag,...): - -3 = draw line between ruler and current mouse position, - -4 = don't draw (erase) line between ruler and current mouse position. - They are issued when mousing with displayed ruler and showing polar - distance or tangent. - - * src/gplt_x11.c: New plot variables ruler_lineto_{on|x|y}, and function - DrawLineToRuler(plot) to draw and erase line between ruler and current - mouse position. This implements calls of set_cursor(flag,...) for - flag=-3 and -4. - - * src/win/wgraph.c: Same as for gplt_x11.c, just with ruler_lineto - structure. - -2006-07-17 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/post.trm (PS_dump_prologue_file): Modify the Windows code - to use GNUPLOT_PS_DIR as the relative path - - * config/makefile.mgw: Add an entry to define GNUPLOT_PS_DIR. - -2006-07-17 Bastian Maerkisch <bmaerkisch@web.de> - - * term/post.trm (PS_dump_prologue_file): OS/2 code to look - for PostScript prologue files relatively to the executable path. - -2006-07-17 Ethan A Merritt <merritt@u.washington.edu> - - * NEWS docs/gnuplot.doc: Update list of known bugs, and add index - entries to help find them in the docs. - - * src/plot2d.c (get_data): Remove debugging statement that escaped - into cvs. - -2006-07-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_set_color): Filter out redundant commands - to change the color in the *.tex output stream by buffering each - set_color command, and only sending the most recent one if necessary at - the time the next TeX plot element is sent. - Bug #1517932. - - * docs/gnuplot.doc: Document the new FIT_* user variables, and clarify - the use of locale settings. - -2006-07-15 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/PostScript/prologues.h term/PostScript/ps_header.sh - term/PostScript/README: Set up an automated system for encapsulating - the external PostScript prologue files back into a header for inclusion - in-line in post.trm if necessary. - - * term/post.trm: If GNUPLOT_PS_DIR is defined, then load the prologue - data at run-time from the externally maintained files in that directory. - If GNUPLOT_PS_DIR is not defined, then include the equivalent text data - as static arrays at compile time. - - * config/makefile.mgw: Define some GNUPLOT_PS_DIR. - - * src/win/winmain.h: Declare szModuleName as extern - (EAM - what is this???). - - Bug #1510816 - -2006-07-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (regress): Export user-visible variables from the fit. - FIT_NDF : Number of degrees of freedom - FIT_WSSR : Weighted sum-of-squares residual - FIT_STDFIT : sqrt(WSSR/ndf), called "rms of residuals" in the log file - FIT_CONVERGED : 1 if the previous fit converged; 0 otherwise - -2006-07-15 Daniel Sebald <daniel.sebald@ieee.org> - * src/command.c (history_command): Remove recursive function call to - avoid problem with "flag" being in incorrect state if the recalled - command from history fails. Now use approach where command from - history is parsed to check if it itself is also history. - -2006-07-14 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c: Respect ISO C90 standard (mainly move - declarations to beginning of functions). - -2006-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_dump_prologue_file): Try harder to expand short - file name into legal VMS or Windows path+file. Give more informative - error messages if the file cannot be found. - -2006-07-14 Juergen Wieferink <wieferink@freenet.de> - - * src/eval.c (fill_gpval_string): Remove cast to (char *) by correcting - a dereference of the string value. - -2006-07-13 Juergen Wieferink <wieferink@freenet.de> - - * src/eval.c (fill_gpval_string): Do not risk calling gpfree_string - on uninitialized udv. - - * src/eval.c (update_gpval_variables): Treat GPVAL_TERM just like all - the other GPVAL_* variables. - - * standard.c standard.h (f_exists): Allow to compile with - ./configure --disable-stringvariables - -2006-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Enable HIDDEN3D_QUADTREE by default. - - * term/post.trm (PS_linetype): Additional optimization from not forcing - an absolute move if the linetype change has been optimized away. - - * term/pslatex.trm (EPSLATEX_linetype): Step back from over-general test - for unnecessary linetype change. Forward it to PS_linetype for the - actual decision. Without this, a pure linewidth change or a pure - dash style change are incorrectly ignored. - Bugfix. - -2006-07-12 Timothee Lecomte <timothee.lecomte@ens.fr> - - * demo/Makefile.am.in: - * demo/random.dem: - * demo/vector.dem: - Rename temporary *.dat files to *.tmp to prevent them to be included by - 'make dist'. - -2006-07-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_set_color): Restore support for color - text set using fractional palette values. If the terminal is in mono - mode, or has the blacktext option, the fractional text color remains - a pure grayscale. - Bug #1517932 - -2006-07-11 Per Persson <persquare@mac.com> - - * term/aquaterm.trm: Made aqua terminal respect font requests of the - form: font "<fontface>{,<fontsize>}", old syntax still supported too. - -2006-07-11 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.cyg config/makefile.mgw config/makefile.nt: #define - EAM_OBJECTS and HIDDEN3D_VAR_PTSIZE. - -2006-07-10 Ethan A Merritt <merritt@u.washington.edu> - - * demo/mouselabels.dem demo/mouselab_1.dem demo/mouselab_2.dem: - New demo using GPVAL_* variables and mouse/keystroke interaction to - achieve interactive placement of plot labels. Tested for x11 and wxt. - - * demo/mousevariables.dem demo/keystroke.dem(removed): - Remove the keystroke part of this demo, since this feature is now - demonstrated more usefully by mouselabels.dem - - * src/eval.c: Allow both if(exists("foo")) and if(exist("foo")). - The latter is what octave uses. - -2006-07-09 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * demo/Makefile.am.in (CLEANFILES): Remove stringvar.tmp. - - * tutorial/Makefile.am.in (CLEANFILES): Fix up list of created - files to be cleaned. - (.plt.tex): Allow vpath builds. - (.eps.pdf): New rule to fix pdf build of tutorial. - (tutorial.dvi): Add dependency on eg7.eps. - (tutorial.pdf): Add dependency on eg7.pdf - - * src/win/wtext.c: Fix mixed-up line endings. - - * docs/gnuplot.doc: Repair some blank-only lines. Again. - -2006-07-08 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Always check for Cairo rendering support in Pango, and - add the corresponding linking flags to WX_LIBS. - - * src/wxterminal/gp_cairo.c (gp_cairo_enhanced_flush): Initialize - overprinted_width to avoid gcc warning. - - * term/wxt.trm (wxt_options): Initialize font_setting to avoid gcc - warning. - -2006-07-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c: Revert to parse.c version 1.44 (10 Jun 2006). - This does away with dead code left after yesterday's partial - reversion. - - * term/post.trm (PS_linetype PS_set_color): Restore long-time commented - out test for redundant linetype commands. Don't "change" linetype if the - new one is the same as the current one. term->set_color must also - invalidate the previous linetype so that the next call to term->linetype - isn't ignored. - Bug #1517932. - -2006-07-07 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to recent changes in English files. - -2006-07-07 Daniel Sebald <daniel.sebald@ieee.org> - - * src/parse.c (parse_primary_expression): Partially back out patch of - 2006-06-11. Do not check number of variables passed to a user function - at the time of parsing - only at time of evaluation. - Bug #1518553 - -2006-07-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/help.c (FindHelp): Add missing pair of brackets to disambiguate - if/if/else syntax. - - * src/command.c (history_command): Fix segfault if re-execution of a - previous command terminates via int_error(). - Bug #1514453 - - * demo/rectangle.dem: Add reset at end, and prompts at 'pause -1'. - - * src/plot2d.c (get_data): HISTOGRAM plot styles must leave a slot for - all entries, even if they are flagged as DF_MISSING. Otherwise the - histogram plot elements do not line up properly. - -2006-07-06 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.doc term/*.trm: Remove redundant help keys; i.e. those - that are distinguished only by one being a short form of the other. - No change in help or documentation behavior is intended. - E.g. - ?set terminal cgm - ?set term cgm %% delete this one - -2006-07-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_linetype EPSLATEX_set_color): - Keep track of last color and/or linetype set, and filter out - duplicate requests for the same setting. It remains true that the - color change command is sent to both the *.eps and *.tex output stream, - whereas in general only one of the two needs to see it. - Bug #1517932. - - * tutorial/tutorial.tex tutorial/eg7.plt: Make the file names - of the 7th example plot match the other six examples. - -2006-07-07 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_gui.cpp (wxtPanel::Draw): - (wxtPanel::DrawToDC): - (wxtPanel::OnPaint): - Small rework of the double-buffering to fully comply with wxWidgets - API. - -2006-07-07 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c docs/gnuplot.doc: New options - 'set mouse {noruler|ruler {at x,y}}'. - - * src/mouse.h src/mouse.c: New function set_ruler() to (un)set ruler - (at a given position). - -2006-07-06 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * demo/bivariat.dem: - - Adjust the step size so the range of integration is an integral - number of steps - - Use Simpson's rule rather than just taking the function value at - one end of each step - - Add points from the real erf(x) to the first plot, for comparison - - For the second plot, define the integrand f(x)=cos(x) - That way, the integral is sin(x) instead of being offset by a - constant of integration - - For the last plot, use "with impulses" to make the pattern more - apparent, and because the function is only defined over the integers - -2006-07-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c (set_mouse) docs/gnuplot.doc: Command 'set mouse - polardistance{deg|tan}' to flip between the two possibilities - of displaying polar distance. - -2006-07-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Add {size xx,yy} option, exactly parallel to the - option recently added for PostScript. Size can be given in inches - or cm. - -2006-07-05 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: Add /DWIN32 to CFLAGS. - -2006-07-04 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/image.dem: Remove obsolete warning about terminal support. - -2006-07-04 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_enhanced_open): (2nd try) - Reset to _default_ font, not _current_ font! - Bug #1510055 - -2006-07-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_justify_text): Move the conditional test for - HAVE_GD_TTF inside the PNG_justify_text() routine, rather than - maintaining it in parallel in the PNG/JPEG/GIF TERM_TABLE entries. - Actually, we were failing to maintain it in parallel, causing - Bug #1515292. - -2006-07-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (builtin_toggle_ruler, turn_ruler_off): New autogenerated - variables MOUSE_RULER_X and MOUSE_RULER_Y. - - * src/mouse.c (GetRulerString, builtin_toggle_polardistance): Let polar - coordinates show either (distance,angle) or (distance,tangent) after - multiple clicks of the default hotkey '5'. - - * src/mouse.c (GetRulerString): Support polar coordinates in the - mouse&ruler message string also for log-log plots. - -2006-07-02 Daniel Sebald <daniel.sebald@ieee.org> - - * src/show.c (show_command): Place in some messages about "show data" - and "show linestyle" being deprecated. - -2006-06-30 Ethan A Merritt <merritt@u.washington.edu> - - * demo/image.dem demo/demo.edf: Set binary flag in cvs repository. - cvs admin -kb demo/image.dem demo/demo.edf - -2006-06-30 Petr Mikulik <mikulik@physics.muni.cz> - - * src/breaders.c (edf_filetype_function): Don't print a debugging - message. - - * src/eval.c (update_gpval_variables): Added automatic read-only - variables GPVAL_VERSION and GPVAL_PATCHLEVEL. - -2006-06-29 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_enhanced_open): Reset to _default_ font, not - _current_ font! Bug #1510055 - -2006-06-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/show.c: Less alarming error message if deprecated syntax - is detected. Undeprecate "set key {below|above}". - Bug #1514614. - - * tutorial/Makefile.am.in eg4.plt eg5.plt eg6.plt eg7.plt test.plt - tutorial.tex header.tex makefile.dst linepoin.plot (removed): - Replace deprecated syntax in tex example plots. Add an epslatex sample. - - * src/save.c: Add missing newline after 'set pm3d depthorder'. - - * docs/gnuplot.doc docs/gnuplot-ja.doc: Refer to current version as - 4.2 rather than 4.1. - -2006-06-29 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/airfoil.dem histograms.dem histograms2.dem image.dem multiplt.dem - random.dem simple.dem starmap.dem: - Small changes to ensure demos do not use deprecated syntax. - - * docs/gnuplot.doc: Clean up "set title" and "set xlabel" and remove - any examples with non up-to-date syntax. - -2006-06-29 Petr Mikulik <mikulik@physics.muni.cz> - - SF Patch [1488448] User-available GPVAL_ variables - - * NEWS docs/gnuplot.doc src/command.c src/eval.c src/eval.h src/plot.c - src/plot2d.c src/plot3d.c src/save.c src/set.c src/show.c src/unset.c: - New routine update_gpval_variables() to create and update autogenerated - read-only GPVAL_ variables, and its callers. New command option - 'show variables all'. - -2006-06-28 Daniel Sebald <daniel.sebald@ieee.org> - - * src/history.c (write_history_n): Account for the case where the - number of history entries is less than what the user asked for. - -2006-06-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (change_term) term/x11.trm: The x11 terminal driver has - been carrying around two copies of TERM_TABLE, one named "x11" and - the other named "X11". But the "X11" copy has suffered from bit rot. - Delete this redundant copy, and instead replace "X11" with "x11" - at the time the "set term" request is processed. - -2006-06-27 Daniel Sebald <daniel.sebald@ieee.org> - - * src/unset.c (unset_minitics, reset_command): Change action of - unset_minitics to MINI_OFF and set to MINI_DEFAULT after calling - from reset_command(). - Bug #1346814. - -2006-06-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to recent changes in English files. - -2006-06-27 Keith Hellman <khellman@users.sourceforge.net> - - * Accommodate new gnu autotools convention of installing read-only - data relative to @datarootdir@ - Bug #1513675 - -2006-06-27 Timothee Lecomte <timothee.lecomte@ens.fr> - - * m4/pkg.m4: New files containing the pkg-config macros. - -2006-06-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/wxt.trm: Add index point for "help set term wxt". - - * configure.in src/variable.c: Only invoke kpsexpand if configuration - option --with-kpsexpand is chosen at build time. - Bug #1377786 - -2006-06-26 Daniel Sebald <daniel.sebald@ieee.org> - - * src/help.c (FindHelp): Fixed bug introduced on 2006-06-23 where - strcpy() overwrote keyword, inadvertently losing the subtopic string. - Now expand all abbreviated sub-keywords until end of keyword string. - - * src/util.c (lower_case): Fix off-by-one bug in characters treated. - -2006-06-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): If a data field matches the current setting - of 'set datafile missing "foo"', then do not interrupt the plotted line - spanning the adjacent points in the plot. This was the behavior in - version 3.7, and is what the documents describe, but has not been the - case in version 4.0. - Bugs #775810 #918793 #969322 #1403945 - -2006-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Whitespace cleanup, comments. - - * demo/contours.dem demo/vector.dem: Update demo to use "set view map". - -2006-06-23 Daniel Sebald <daniel.sebald@ieee.org> - - * src/help.c (FindHelp): Return a pointer to an empty help key if the - user help string is ambiguous. Change the len computation from strlen() - to strcspn() so that non ambiguous, sub-optioned strings work. - (help): Only PrintHelp if text exists to prevent blank line at output. - -2006-06-23 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/image.dem: Clean up missing quotes. Removed some resets so - that the palette doesn't change except when necessary. - - * src/graphics.dem src/set.c: Cosmetic changes. - -2006-06-22 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/datafile.c (df_readline): Check input values - against NaN, but only if the system supports the isnan() test. - NaN input values are treated as UNDEFINED. - Bug #1490699 - -2006-06-21 Ethan A Merritt <merritt@u.washington.edu> - - * demo/scatter2.bin demo/sine.bin demo/using.bin demo/blutux.rgb: - Flag these files as binary in the CVS repository - cvs admin -kb *.bin *.rgb - Hopefully this will fix image.dem under Windows - -2006-06-21 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/wxt.trm: Small correction in TERM_HELP. - -2006-06-20 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: Small cleanups to avoid -Wall warnings. - -2006-06-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c (main) src/term.c (init_terminal): Revisit fix of - 2004-08-25 - call term->option() on entry if the default terminal is set - from GNUTERM. We have only been doing this for the libgd terminals, but - it turns out to be necessary for PostScript also, and probably others. - Bug #1509033 - - * demo/stringvar.dem demo/html/index.save demo/html/Makefile: - Modify the stringvar demo for use with webify, and add it to the - demo web page. - - * src/set.c (load_tic_series): Fix parsing error that had the effect - of requiring an explicit end point for the tic series unless this was - the last thing on the command line. - -2006-06-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Initialize PS_default_font to "Helvetica,14". - In the worst case scenario, this guarantees a non-zero font size - and an actual PostScript font. - Bug #1509033 - -2006-06-19 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in (GNUPLOT_PS_DIR): Do not pass GNUPLOT_PS_DIR in - config.h . - - * src/Makefile.am: Pass GNUPLOT_PS_DIR as a CPPFLAG. - - * term/Makefile.am.in: Install the *.ps files the automake way. - - * config/makefile.mgw (WXT): Do not install the PNG icons of the - wxWidgets terminal (now embedded). - -2006-06-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): After reading in the data points, check - that the axis ranges are legal. If the input data contains NaN or Inf - then the axis scaling may fail. - Bug #1490699. - -2006-05-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c: Add mouse wheel scroll support for text window. - -2006-06-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/README.ja docs/term-ja.diff - src/win/README.win-ja src/win/wgnuplot-ja.mnu: - Sync Japanese documentation to recent changes in English files. - -2006-06-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (show_version): List additional configuration options. - Make the show version output more compact (25 lines). - - * term/emf.trm (EMF_linetype EMF_dashtype): It is necessary to set the - line color and dash type every time either is changed. - Bugfix. - -2006-06-17 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/bitmaps/png/autoscale_png.h: - * src/wxterminal/bitmaps/png/clipboard_png.h: - * src/wxterminal/bitmaps/png/config_png.h: - * src/wxterminal/bitmaps/png/grid_png.h: - * src/wxterminal/bitmaps/png/help_png.h: - * src/wxterminal/bitmaps/png/nextzoom_png.h: - * src/wxterminal/bitmaps/png/previouszoom.h: - * src/wxterminal/bitmaps/png/replot_png.h: - New files containing the translation of the binary PNG files into - C arrays to be included in the source code. - - * src/wxterminal/bitmaps/png/README.embedding: - Text file briefly explaining the purpose of the embedded PNG files. - - * src/wxterminal/wxt_gui.cpp (wxtApp::OnInit): Remove the code to load - the PNG files from standard paths (unreliable). Replace by the loading - of the embedded files. - (wxtPanel::UpdateModifiers): New routine to compare and update the - state of the modifier keys as known by the core. It replaces the - unreliable tracking of the press and release events. All wxMouseEvent - and wxKeyEvent processing methods updated. - (wxtPanel::OnKeyEvent): - (wxt_init): - (wxtConfigDialog): - New variable wxt_ctrl to handle 'q' and <space>. - - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_term.h: - Update prototypes and included wxWidgets headers according to the above - changes. - - * term/wxt.trm (wxt_options): New terminal option '{no}ctrl'. - (TERM_HELP): Updated. - - * src/Makefile.am (png_DATA): Do not install the PNG icons. - -2006-06-17 Ethan A Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in: Clean up temp.dat - - * share/Makefile.am: Attempt to install/uninstall Gnuplot.app-defaults - properly. - - * docs/Makefile.in: Add Japanese language files to EXTRA_DIST - - * docs/gnuplot.doc: Replace old "bugs" section with current list of - known bugs and limitations. - - * docs/gnuplot.doc: Add pointers to 'set pm3d depthorder' in the - discussion of hidden surface removal. - - * docs/gnuplot.texi docs/doc2texi.el: Regenerate gnuplot.texi - -2006-06-16 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/command.h: Add missing statement about copyright holders (i.e - the same as command.c, as command.h was created from this file). - - * src/wxterminal/Makefile.am: New Makefile used to put all the - wxterminal source files and bitmaps in the 'make dist' target. - - * src/Makefile.am (SUBDIRS): Add wxterminal to take the new Makefile.am - into account. - - * configure.in (AC_OUTPUT): Include src/wxterminal/Makefile in the list - of files to create. - -2006-06-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (show_version): Add the rest of the non-driver - configuration option choices to the output of 'show version long'. - -2006-06-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/README.ja term-ja.diff: Japanese translation - of user manual and instructions for building the help system from it. - - * src/win/wgnuplot-ja.mnu /src/win/README.win-ja: Instructions for - building a Japanese language versino of wgnuplot for Windows, and a - corresponding set of menus. - -2006-06-15 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c: Fix a warning about gp_alloc() by - including alloc.h - -2006-06-15 Ethan A Merritt <merritt@u.washington.edu> - - * demo/all.dem demo/html/index.save demo/html/Makefile: - Add demo hidden2.dem illustrating 'set pm3d depthorder'. - -2006-06-15 Johannes Zellner <johannes@zellner.org> - - * src/save.c src/set.c src/show.c src/tables.c src/tables.h: - New option 'set p3md depthorder' to request depth-ordering of - pm3d quadrangles. - - * src/graph3d.c: TBOOLEAN pm3d_order_depth tracks the new option. - - * src/pm3d.c src/pm3d.h (pm3d_depth_queue_clear pm3d_depth_queue_flush) - src/plot3d.c (calculate_set_of_isolines) - src/color.h src/color.c (ifilled_quadrangle): New support routines. - -2006-06-14 Daniel Sebald <daniel.sebald@ieee.org> - - * src/color.c (make_palette) src/term.c (term_start_plot): - Revert change of 9-Jun-2006, so that we are again optimizing color - palette usage by avoiding unnecessary calls to term->make_palette(). - However, make the PostScript terminal an exception by invalidating - the previous palette at the start of every plot. - -2006-06-14 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/faq-ja.tex: Japanese translation of faq.tex - - * NEWS docs/Makefile.in: Include faq-ja.tex in list of distributed - files, and in NEWS. - -2006-06-13 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/stat.inc: Overhaul of routines to add variable arguments, - range checking and verify integer when appropriate. The significant - change is forcing some input vars to be an integer, rather than casting - them to int() in the formulae. (There are proper plot styles like - "steps" to work with discrete r.v.s.) - - * demo/prob.dem: Modified the discrete r.v. examples to look more like - a mass function or scaled impulses. More varied examples to show - various plotting features. - - * demo/prob2.dem demo/random.dem: Add input variables to p.d.f. and - c.d.f. functions. Added new Maxwell demo to random.dem. - - * docs/gnuplot.doc: Added adjective "normalized" to igamma() - -2006-06-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Move export selection flags outside the the - USE_MOUSE conditional code. Bug #1505704 - - * src/term_api.h: DEFAULT_LP_STYLE_TYPE to lt -1 (makes arrows - default to black rather than red). - - -2006-06-13 Daniel Sebald <daniel.sebald@ieee.org> - - * configure.in src/Makefile.am src/makefile.awc src/makefile.all: - Add a configuration mechanism for including binary.c in list of - gnuplot sources when appropriate. - - * src/bin_hook.c: Remove from source tree. - -2006-06-13 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/win/wtext.c: - * src/win/wgraph.c: - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_term.h: - Fix failures when compiling the wxWidgets terminal with - --disable-mouse, by putting more code and declarations inside #ifdef - USE_MOUSE ... #endif - -2006-06-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Move options marked EXPERIMENTAL to the end of the - configuration summary printout. Remove EXPERIMENTAL label from - string variables. - -2006-06-11 Timothee Lecomte <timothee.lecomte@ens.fr> - - * demo/utf8.dem: Issue a 'reset' at the end of the file, as other demos - do. - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Use the Symbol to - Unicode conversion step, as for the enhanced text mode. - (gp_cairo_enhanced_flush): Small cleanup and fix a forgotten free(). - - * term/wxt.trm (TERM_HELP): Document the font requirements properly, in - particular how the Symbol font is handled and where the fonts are taken - from. Layout the whole help text so that lines are smaller than 80 - characters. - -2006-06-11 Daniel Sebald <daniel.sebald@ieee.org> - - * src/eval.h: Added number of variables to user defined function struct. - - * src/command.c (define): Recorded number of variables into udf entry. - - * src/parse.c (add_is_udf, is_ud_functin, add_udf): - Slight rearranging of functions to allow code reuse. - - * src/parse.c (parse_primary_expression): Check if function used in - command is user defined. If so, verify number of variables is correct. - - * src/internal.c (f_call, f_calln): Added tests to catch variable - mismatch at time of evaluation. - -2006-06-10 Timothee Lecomte <timothee.lecomte@ens.fr> - - * docs/Mafefile.in (CORETERM): Add wxt.trm in the list of - terminals. - - * docs/gnuplot.doc : Add mentions of `wxt` among other terminals when - useful (mouse, raise, lower, image, set_output, fillstyles). - - * src/wxterminal/wxt_gui.cpp: - Fix compilation with --disable-with-image. - - * src/wxterminal/wxt_gui.h: - Fix compilation with --disable-with-image. - Cleanup includes. - - * src/wxterminal/gp_cairo.c - (gp_cairo_draw_polygon): Replace malloc by gp_alloc. - (gp_cairo_draw_image): Likewise. - (gp_cairo_convert_symbol_to_unicode): Likewise. - -2006-06-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c src/eval.h src/internal.c src/internal.h src/parse.c - src/standard.c src/standard.h docs/gnuplot.doc NEWS: - - Deprecate built-in pseudo-function `if defined(foo)` - Replace it with string function exists("foo") - The previous version (defined) tried to bypass normal expression - parsing, but succeeded only for the simplest cases. This variant, - although deprecated, is still supported by BACKWARDS_COMPATIBLE. - The new version handles the full general case by using string variables. - Bugfix: #1497957 - - * src/color.c (make_palette): Revert optimization (18 Mar 2006) that - only sent palette information for a plot if it had changed since the - previous plot. This doesn't work for PostScript output, because the - pages may be viewed out of order. Bugfix. - -2006-06-08 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.h: - * src/wxterminal/wxt_plot.h: - * src/wxterminal/wxt_term.h: - Remove "extern" for functions. - -2006-06-07 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in (--with-wx-config=PATH): Fix wrong variable name. - - * src/term.c (init_terminal) [WXWIDGETS]: Take DEFAULTTERM into account. - - * src/wxterminal/bitmaps/xpm/cross.xpm: - * src/wxterminal/bitmaps/xpm/right.xpm: - * src/wxterminal/bitmaps/xpm/rotate.xpm: - * src/wxterminal/bitmaps/xpm/size.xpm: - Write the hotspot coordinates directly in the cursor files. - - * src/wxterminal/wxt_gui.h (wxtApp::LoadCursor): - * src/wxterminal/wxt_gui.cpp (wxtApp::LoadCursor): - Remove hotpost arguments, take hotspot coordinates from the XPM files. - (wxtApp::OnInit): Update calls to LoadCursor. - - * src/wxterminal/gp_cairo.h (current_xmax): Rename to the more - meaningful device_xmax. - (current_ymax): Rename to device_ymax. - * src/wxterminal/gp_cairo.c: All callers changed. - * src/wxterminal/wxt_gui.cpp: Likewise. - -2006-06-06 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/setshow.h config/config.*: Move definition of - BACKWARDS_COMPATIBLE into config.h and the various config.* files rather - than setshow.h so that it is visible to all the source files. - -2006-06-06 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (device_y): Fix computation of - coordinates. - (gnuplot_y): Likewise. - -2006-06-05 Peter Weilbacher <paepse@users.sourceforge.net> - - SF Patch [1498727] Remove duplicate entries in GNU readline history - - * command.c (rlgets): Remove duplicate entries in GNU readline history. - -2006-06-04 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c: Add Id. - * src/wxterminal/gp_cairo.h: Likewise. - * src/wxterminal/gp_cairo_term.h: Likewise. - * src/wxterminal/wxt_gui.cpp: Likewise. - * src/wxterminal/wxt_gui.h: Likewise. - * src/wxterminal/wxt_plot.h: Likewise. - * src/wxterminal/wxt_term.h: Likewise. - -2006-06-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (two_edge_intersect) Remove old debugging code. - - * src/graphics.c (edge_intersect plot_filled_curves): Bugfix. - Fix clipping of filled curves. When a curve leaves the plot and - reenters via a different plot edge, we must add dummy points at the - intervening plot corners. - - * src/graphics.c (fill_missing_corners): New routine to support - clipping of filled areas defined by a bounding curve. - -2006-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/unset.c (reset_command): Abandon the idea of automatic garbage - collection for undefined user variables. The problem with this is that - user-defined functions may still hold pointers to them for later use. - E.g.: f(x) = a+b; reset; print f(1) - oops, no more a or b. - Bugfix. - - * demo/world.dat: Rearrange line segments to make more continuous - boundaries. Now it almost works for filledcurves. - -2006-05-29 Michael Ritzert <ritzert@t-online.de> - - * term/Makefile.am.in: Look for the postscript files to be installed - relative to $(srcdir). - -2006-05-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (clip_point): The code comments incorrectly described - the bit values returned by clip_point(). - -2006-05-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Treat LT_AXIS linetype as dotted even if the - terminal is 'set term x11 solid'. Do not try to set dash type or - linewidth for LT_BACKGROUND because this will underflow the type arrays. - Bugfix. - - * share/Gnuplot.app-defaults: Comment out settings for *ctrlq *raise - and *background so that the default remains the same as having no - app-defaults file. - -2006-02-23 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/wxt.trm (TERM_HELP): Fix typos, thanks to Shigeharu Takeno. - -2006-05-22 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/vgagl.trm (VGAGL_init_keytable): Fix bug #1492341 by - replacing sizeof() on an array of int (which gives an overflow - by writing four times more than the size of the array) by the - actual size of the array (KEYTABLE_SIZE). - (VGAGL_truecolor): Declare as a TBOOLEAN instead of an integer, - do not use the enums yes and no but TRUE and FALSE. - (VGAGL_processing_graphics_events): Likewise. - (VGAGL_interpolate): Likewise. - (VGAGL_cursor_drawn): Likewise. - (VGAGL_need_update): Likewise. - (VGAGL_graphics_on): Likewise. - -2006-05-22 Lars Hecking <lhecking@users.sourceforge.net> - - * configure.in: Reformat and bugfix wxwidgets section. - - * docs/gnuplot.texi: Regenerated. - - * share/Makefile.am: Add EXTRA_DIST. - - * src/Makefile.am: Add wxterminal to EXTRA_DIST. - - * src/makefile.all, src/makefile.awc: Regenerated. - - * src/wxterminal/wxt_gui.cpp: Fix typos. - - * term/estimate.trm: Add cvs Id. - -2006-05-21 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/random.dem: Examples to illustrate generating normal random - data, generating data points not linked to grid using table, - setting the contour lines to the same color as surface, and - creating histograms. - -2006-05-21 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * term/win.trm (HELP): Got rid of some tabs. - - * docs/gnuplot.doc: Fixed some blank-only lines. - (fit control, fit control variables, fit control environment, - splot overview): Get rid of _ between words. Suggested by Dan - Sebald. - -2006-05-20 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/color.h (colorspec_t) [EXTENDED_COLOR_SPECS]: Declare the - type before using it (fixes the compilation of linux.trm and - vgagl.trm). - -2006-05-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: Allow user control of solid/dashed line - setting via the usual three mechanisms - new X resource gnuplot*dashed: on - from command line `gnuplot -dashed ...` - from gnuplot command `set term x11 {dashed|solid} ...` - - * term/x11.trm: Bugfix: persist/raise/dashed terminal settings should - not be conditional on mouse support. - -2006-05-20 Ethan A Merritt <merritt@u.washington.edu> - - * share/Gnuplot.app-defaults share/Makefile.am: - New X resources file, intended for installation in the system's - default location for X resources. - Bug #1376604. - -2006-05-19 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_enhanced_text): - Remove unappropriate comments about enhanced_max_height. - (gp_cairo_end_polygon): Remove useless comment. - (gp_cairo_convert_symbol_to_unicode): Change C++-style - comments to C style /* ... */. - (gp_cairo_initialize_plot): To avoid overflows, change - strcpy() to strncpy(), strcat() to strncat() and sprintf() to - snprintf(). - (gp_cairo_set_font): Likewise. - (gp_cairo_add_shape): Likewise. - (gp_cairo_enhanced_flush): Likewise. - (gp_cairo_enhanced_open): Likewise. - (gp_cairo_draw_enhanced_text): Likewise. - - * src/wxterminal/wxt_gui.cpp (wxt_set_font): Likewise. - - * term/wxt.trm (wxt_options): Likewise. - -2006-05-18 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/Makefile.am (AUTOMAKE_OPTIONS): Remove 'subdir-objects', - not mandatory. - - * configure.in (enable_wxwidgets): Remove test AM_PROG_CC_C_O, - not needed now that 'subdir-objects' is not used. - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput) [_Windows]: - Rework event processing to avoid code duplication and handle - more cases (pause, etc.). - (wxt_waitforinput_pause) [_Windows]: Removed. - (wxt_terminal_events) [_Windows]: New routine to process - pending events from the wxWidgets terminal when it is selected - and initialized. Its return code is used to stop a pause. - (wxt_set_font): Use reasonable defaults for font name ("Sans") - and size (10) instead of the wxWidgets system settings. It - avoids to choose the inappropriate Courier font on Windows, - where it is used by the console-like window. - - * src/wxterminal/wxt_term.h (wxt_waitforinput_pause): - Remove declaration. - - * src/wxterminal/wxt_plot.h (wxt_terminal_events): - Declaration. - - * src/win/wpause.c (PauseBox) [WXWIDGETS]: Use - wxt_terminal_events(). - - * src/win/wtext.c (TextGetCh) [WXWIDGETS]: Likewise. - - * term/wxt.trm (help): Change the help text according to the - change in the default font name and font size. - -2006-05-18 Lars Hecking <lhecking@users.sourceforge.net> - - * docs/Makefile.in: Add titlepag.ipf to EXTRA_DIST. - - * docs/gnuplot.texi: Regenerated. - -2006-05-15 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/bitmaps/xpm/cross.xpm: - * src/wxterminal/bitmaps/xpm/right.xpm: - * src/wxterminal/bitmaps/xpm/rotate.xpm: - * src/wxterminal/bitmaps/xpm/size.xpm: - Cross-platform cursors. - - * src/wxterminal/wxt_gui.h - (wxt_cursor_cross, wxt_cursor_right, wxt_cursor_rotate, - wxt_cursor_size): Cursors declarations. - (wxtApp::LoadCursor): Routine to initialize a cursor. - - * src/wxterminal/wxt_gui.cpp - (wxtApp::LoadCursor): Likewise. - (wxtApp::OnInit, wxt_set_cursor): Use new cursors. - (wxt_reset): Clear the events list when receiving ctrl-c. - (wxtPanel::DrawToDC): Fix zoom strings on Windows. - - * src/wxterminal/gp_cairo.c (gp_cairo_linetype2color): Fix modulo - operator to use the whole nine colors. - (gp_cairo_draw_point): Fix position of triangles with the - oversampling. Close the path for the filled triangle. - - * configure.in (CPPFLAGS): Remove useless gtk and wxWidgets flags - from the cppflags. - -2006-05-15 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.os2: Define GIF_ANIMATION and HAVE_PDFLIB_H. - - * config/config.os2: Sync to config.h created by `configure`. Define - EAM_OBJECTS, GP_STRING_VARS = 2, HIDDEN3D_VAR_PTSIZE. - - * src/os2/gclient.c (DisplayClientWndProc): Filter out WM_MOUSEMOVE - events when the mouse hasn't been really moved. This eliminates - excessive calls to gp_exec_event(GE_motion, ...) and subsequent - unnecessary redraws of the plot. - -2006-05-13 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: Make sure that the same (basic) compiler options - are used for compiling wgnuplot and pgnuplot. This is necessary since - they both contain version.c. - - * src/stdfn.h src/win/winmain.h src/win/wpause.c: Implementation of a - non-blocking sleep function (gnuplot's 'pause' command) for windows. - - * term/win.trm (WIN_options, help text): - Accept font request strings of the form - set term win ... font "<fontface>,<fontsize>" - Previous syntax - set term win ... "<fontface>" <fontsize> - remains valid as well. Update documentation. - - * src/os2/4allterm.cmd: Fix broken argument parsing. Convert end of line - to CR/LF pairs. This is a must for the script to be readable by the OS/2 - REXX interpreter. - - * docs/doc2ipf.c docs/titlepag.ipf: - - Increase depth of table of contents from 5 to 6. This fixes - "unknown reference" errors during compilation. - - Only replace '.' in first column by ipf tag, it's not needed - otherwise. - - Add an index: interactive help ('?') and explicit index entries ('=') - are supported. - - Table layout improvements: - - omit table frame and horizontal lines - - add additional horizontal spacing around table entries (1 char) - - omit horizontal rules '_' (troff command) - - entries are only interpreted as troff commands if they start with - '.' and do not contain a table separator - - try to filter out ipf tags when calculating column widths - - always assume troff header at beginning of table. This fixes - coloring of table headers, which has been broken since 17 Jun 1998 - - Change handling of paragraphs and verbatim sections: successive empty - lines only yield one new paragraph :p. This eliminates large empty - spaces (especially in front of tables). - - End sections with an empty paragraph instead of starting with an empty - paragraph. Eliminates empty space at beginning of section and (still) - ensures non-empty sections. - - Optionally add additional reference panels to make navigation with - IBM's online viewer easier. Controlled by #define IPF_MENU_SECTIONS. - - Add a title page (new file titlepag.ipf). - -2006-05-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_point): Bugfix: Draw filled circles with - gdImageFilledArc rather than a 2-stage bound-and-fill. - - * src/graph3d.c (draw_3d_graphbox): Bugfix: Only draw vertical lines - from base corners to surface if there really _is_ a surface. - Having pm3d in surface mode is not sufficient. - - * demo/contours.dem: Where the above fix removes a vertical line along - z, remove the z axis tics also. Add a single-color contour demo. - - * src/wxterminal/gp_cairo.c: Remove unused variables. - -2006-05-04 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in (AC_PROG_CXX): Redefine AC_MSG_ERROR for - AC_PROG_CXX, to prevent possible fatal errors in future autoconf - versions. - (WX_OBJ): Remove definition, let automake handle it. - - * src/Makefile.am (BUILD_WXWIDGETS): Simplify conditional - compilation of the wxWidgets terminal, using automake - conditionals instead of gnuplot_DEPENDENCIES and gnuplot_LDADD. - -2006-05-01 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in (AC_PROG_CXX): Check for C++ unconditionally, - and workaround harmful autoconf settings if no compiler is found. - (PANGO): Raise minimum version to 1.10. - - * term.c (init_terminal): Make wxt the default terminal if it - is available even if X11 is not defined. - -2006-04-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.mgw (DESTDIR): MSYS-ify the drive letter. - (GNUSORT): Use Unix-ish path to MSYS port of GNU sort. - (all): Refer to default target instead of copying all its entries. - (default): Remove config.h dependency. - ($(OBJS) $(WINOBJS) dbinary.$(O)): Add rule that they depend on - config.h. - ($(M)bf_test.exe): Chdir to $(M), not $(D). - (dbinary.$(O)): Input file is $<, not $^. - (install) [WXT]: Move WX-specific installation rules here. - - * term/win.trm (WIN_enhanced_flush): Removed unused variables rc, - cbR. - - * term/pslatex.trm (PSTEX_common_init): Avoid warning by making - compile-time test an #if rather than an if. - - * config/makefile.mgw: Change this to expect MSYS tools to be used - instead of the older native MINGW32 ports. Necessitates some - workarounds for MSYS quirks. - (HCWPATH): Uncomment one definition, provide a usable default, - remove the other. - (pgnuplot.exe): Needs -HAVE_STDBOOL_H to avoid a warning. - ($(HELPFILE)): Use `-' instead of `/' for $(HCW) options, to avoid - MSYS translating them to drive letters. - (doc2rtf.exe, doc2tex): Strip trailing `/' off macros holding - `../docs/' and `../term/' --- MSYS/MINGW32 gets confused by it. - -2006-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * term/wxt.trm (wxt_options): Fix improper malloc for font name. - -2006-04-29 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: C++, wxWidgets, cairo and pango configuration - tests. - - * config/makefile.mgw: Likewise. - - * src/command.c (raise_lower_command): Raise and lower commands - for the wxWidgets terminal. - - * src/command.h : Likewise. - - * src/Makefile.am : wxWidgets terminal conditional compilation. - - * src/plot.c (main): wxWidgets terminal hook on exit to handle - the 'persist' behaviour. - - * src/term.c (init_terminal): Make the wxWidgets terminal - the default on Windows and X11. - - * src/term.h: Include the wxWidgets terminal. - - * src/win/wgnuplot.rc: Include wxWidgets ressources file. - - * src/win/wpause.c (PauseBox): Process events from the wxWidgets - terminal when in pause. - - * src/wxterminal/bitmaps/png/autoscale.png - * src/wxterminal/bitmaps/png/clipboard.png - * src/wxterminal/bitmaps/png/config.png - * src/wxterminal/bitmaps/png/grid.png - * src/wxterminal/bitmaps/png/help.png - * src/wxterminal/bitmaps/png/nextzoom.png - * src/wxterminal/bitmaps/png/previouszoom.png - * src/wxterminal/bitmaps/png/replot.png: - PNG icons for the wxWidgets toolbar. - - * src/wxterminal/bitmaps/xpm/icon16x16.xpm - * src/wxterminal/bitmaps/xpm/icon32x32.xpm - * src/wxterminal/bitmaps/xpm/icon64x64.xpm: - XPM icons for the wxWidgets window icon. - - * src/wxterminal/bitmaps/xpm/notfound.xpm: - XPM icon for the wxWidgets toolbar. - - * src/wxterminal/gp_cairo.c - * src/wxterminal/gp_cairo.h - * src/wxterminal/gp_cairo_term.h: - Generic routines to render a plot to a cairo surface. - - * src/wxterminal/wxt_gui.cpp - * src/wxterlinal/wxt_gui.h - * src/wxterminal/wxt_plot.h - * src/wxterminal/wxt_term.h: - Graphical user interface based on wxWidgets. - - * term/wxt.trm: - Terminal hooks between term.c and the wxWidgets and cairo - files. - -2006-04-28 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/gplot_x11.c (UNSET, no, yes): Remove enum declaration. - - * src/term.c - (enhanced_recursion, enh_err_check, do_enh_writec): - Remove static declarations. - (enhanced_text, enhanced_cur_text, enhanced_fontscale) - (enhanced_escape_format, enhanced_min_height) - (enhanced_max_height, ignore_enhanced_text): - Remove static declarations. - (UNSET, no, yes): Remove enum declaration. - - * src/term_api.h: Declare here the above variables and functions - related to enhanced text support. Variables are declared extern. - (UNSET, no, yes): Declare enum. - - * src/readline.c (msdos_getch) [_Windows && USE_MOUSE]: - Call term->waitforinput() when appropriate, so that the wxWidgets - terminal can process events. - -2006-04-27 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in src/Makefile.am: Change PKG_MAJOR to - VERSION_MAJOR to avoid a conflict with pkg-config macros. - They will be used with cairo, pango, and gtk+ for the wxWidgets - terminal. - -2006-04-27 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/plot2d.c (get_data): Initialize further elements of df_data - depending on plot style, so datafile module can parse absolute - time/data for xlow etc. Similar fix for handling 'set ydata time; - plot "-" u 2'. - - * src/plot3d.c (eval_3dplots): Fix for 'set zdata time; plot "-" u - 2'. Replicate realloc size fix from get_data (--> 2006-03-28) - here. - -2006-04-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (fit control environment): Fix mention of - command 'set fit logfile'. - -2006-04-25 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * term/cgm.trm (CGM_filled_polygon): Allow filled polygons with up - to 8190 vertices (was only 50). Also, allocate the - polygon/polyline array from the heap, so it only takes space if - the CGM terminal is used. - - * term/cgm.trm (CGM_set_color): access colorspec->value only - for type=TC_FRAC when it is defined. - -2006-04-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgnuplot.hpj (COMPRESS): New option, enables compression - of the generated .hlp file. - (LCID): New option, fixed the language of generated help files to - English. Hopefully this will avoid incompatibilities like the one - observed with the first binary release of 4.0 for Win32. - -2006-04-24 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c (plot_image_or_update_axes) config/config.cyg - config/config.mgw config/config.nt config/config.os2 configure.in: - Removed all use of WITH_IMAGE_VERIFY_ALL_PIXEL_LOCATIONS and any - code associated with verifying pixel locations in the grid. - -2006-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_set_font): Do not write font change commands - into the PostScript output stream of the TeX terminal variants - (epslatex, pstex, pslatex). All font handling is done via the TeX - output stream. Bug #1472260 - - * demo/html/Makefile demo/html/index.save - demo/html/gnuplot_demo.css: Update html display of gnuplot demos. - -2006-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars) src/plot2d.c (eval_plots): Allow - user to control the width of whiskerbars on candlestick plots. - plot <foo> with candlesticks {whiskerbars {<width>}} - - * demo/utf8.dem: Provide a demo for use in testing UTF-8 support - by gnuplot terminals. This demo will only produce reasonable - output on a terminal that supports UTF-8 and a current UTF-8 - encoded font with the relevant character maps. - -2006-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.h: Add comments to document the meaning of TC_* flag - values. - -2006-04-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm: Correct typos in help text. - - * src/set.c (set_object): Fix segfault on incomplete command - 'set obj <new>'. - - * src/term.c (init_terminal): Keep initial terminal setting in - GNUTERM even if it did not actually come from environmental - variable GNUTERM. - -2006-04-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (change_term init_term): Save value of GNUTERM into a - user-defined variable on entry. Use only first word of GNUTERM - when calling change_term. This allows GNUTERM to contain extended - terminal specs, e.g. setenv GNUTERM "png truecolor transparent". - -2006-04-12 James R. Van Zandt <jrv@debian.org> - - * term/cgm.trm (CGM_point): Update cgm_current.edge_visibility - before cgm_current.edge_color (was displaying some point symbols - with incorrect edge colors). - -2006-04-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Fix bug introduced when adding - newpath/closepath around the border of 3D plots with 'set view map'. - The top border was not getting drawn, and the individual border - components were not being considered separately. - Also, when in 'set view map' mode, honor 'set border {front|back}'. - - * src/graphics.c (plot_border) src/gadgets.h: Similar bugfix in 2D. - - * src/misc.c (lp_parse): Don't fall into a recursion trap in the - case that 'set style incr user' and 'set style line <foo> lt <baz>'. - This should set the linetype of <foo> to <baz> even if <baz> itself - has been assigned as another line style. - -2006-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/standard.c (f_tanh): Fix a two-fold error in bounds checking for - tanh(). Bug #1452627 - -2006-04-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/pgnuplot.c: Patch for SF bug [1232950] "-persist option does - not work in Version 4.0.0 (Windows)". Omit sending `exit` from pgnuplot - to wgnuplot when `-persist` is given on command line. - -2006-04-08 Daniel Sebald <daniel.sebald@ieee.org> - - * src/set.c (set_palette_file) docs/gnuplot.doc: Binary palette files - are supported as well. Example: - set palette file "palette.bin" binary record=64 using 1:2:3 - -2006-04-08 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.os2: Define more features. - - * config/makefile.os2: - - add a list of required/recommended tools and libraries, - - make use of pre-built version of libgd from hobbes.nmsu.edu, - - change requirements for newer versions of PDFlib, - - replace shell script to create allterm.h by 4allterm.cmd in Rexx. - - * src/os2/4allterm.cmd: New Rexx script to create allterm.h, much faster - than previous code and does not require the unix tool chain to be - installed. - -2006-04-07 laboratoryman <laboratoryman@users.sourceforge.net> - - * src/term.c (test_term): No terminal currently implements any head - fill style (curr_arrow_headfilled) other than 0/1/2. So don't use 3 as - a test case. - -2006-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: New line-join terminal option {rounded|butt}, - with support for smooth joining of closed polygons via the recently - added newpath()/closepath() mechanism. - - * src/gadgets.c (draw_clip_arrow): Provide a routine in the core - code that clips arrow head/tail to the canvas boundaries. This means - we don't have to do the clipping in do_arrow(), which has been messy. - - * src/graph3d.c (plot_arrows3d plot3d_vectors) - src/graphics.c (place_arrows do_key_sample get_arrow) - Draw arrows using new routine draw_clip_arrow. - Addresses bug #1348015 and others. - - * src/term.c (do_arrow): Add a note that the clipping here is now - redundant, and can be removed. Defer removal to a separate patchset. - -2006-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Fix inadvertant breakage due to an - accidentally deleted call to arrow_parse(). - -2006-04-04 Harald Harders <h.harders@tu-bs.de> - - * src/term.c (do_arrow) src/term_api.h docs/gnuplot.doc - - * src/graphics.c (get_arrow plot_boxes plot_vectors) - - * src/misc.c (arrow_use_properties) src/show.c (show_arrow): - Add an option "backhead" to arrow style that reverses the sense - of the arrow. Modify flags to indicate the forward arrowhead and - the backward arrowhead separately, so "heads" sets both flags. - Patchset #1318546 - -2006-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c (newpath closepath) term/README: - Define a new terminal entry point term->path(foo), and wrapper routines - newpath() == term->path(0); closepath() == term->path(1). - These are needed to ensure smooth line joins at the ends of a closed - path in PostScript-like terminals. - - * src/graph3d.c (do_3dplot draw_3d_graphbox) - * src/graphics.c (do_plot plot_boxes plot_cbars do_key_sample) - * src/graphics.c (plot_border) src/color.c (draw_color_smooth_box): - Enclose the vector commands that draw rectangles with a - newpath()...closepath() pair. This guarantees a smooth join for the - plot boundary, the key box, colorbox, boxes, and candlesticks. - -2006-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (gpXLoadQueryFont): When trying to load a multibyte - fontset, treat "missing charsets" as a non-fatal warning. This seems - necessary in order to handle en_US.UTF-8 and similar locales, which - claim to require many exotic but trivial charsets. Normally these are - not needed, so it should not be a fatal error if they are missing. - Bug #1458525 - - * term/x11.trm: Increase maximum allowed length of font names. - -2006-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * misc.c (lp_use_properties lp_parse): In "set style increment user" - mode, an explicit linetype should be interpreted as a call for the - corresponding line style. But if there is none, we should load a - description of the linetype rather than failing to initialize the - lp_style_type at all. - -2006-03-28 Lars Hecking <lhecking@users.sourceforge.net> - - * docs/gnuplot.texi: Regenerated after recent documentation - updates. - - * term/Makefile.am.in: Add PostScript directory to EXTRA_DIST. Add - uninstall support. Rename install target to install-data-local - (don't use automake-generated targets in Makefile.am) and add - $(DESTDIR) support. - -2006-03-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.oww (CPPFLAGS): Added -DEAM_OBJECTS. - - * src/plot2d.c (get_data): Avoid small size increments on - reallocation --- at least double, and add another 1000 entries for - good measure. - -2006-03-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Revised handling of Windows "app data" and home directory - settings by Bastian Maerkisch. - - * src/win/winmain.c: WANT_GET_DLLVERSION hardcoded active. - (CSIDL_APPDATA): Provide fallback definition. - (ShutDown): Removed ancient cruft. - (appdata_directory): New function. Dynamically attach to - shell32.dll and ask it for the "application data" directory. - (WinMain): Have get_user_env() take care of finding $HOME. - INIFILE_IN_APPDATA hardcoded. - - * src/win/wcommon.h (INIFILE_IN_APPDATA, WANT_GETDLLVERSION): - Definitions removed, hardcoded active now. - (appdata_directory): Added prototype. - - * src/plot.c: Added #includes of win/wgnuplib.h, win/wcommon.h. - (get_user_env) [WIN32]: Call helper routine to find Windows' - "application data" directory. - -2006-03-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Initialize the - line style, arrow style, and fill style fields of each new plot to - something reasonable. - -2006-03-26 Ethan A Merritt <merritt@u.washington.edu> - - * NEWS: List various new features added since last October. - - * src/gplt_x11.c: Store text rotation angle internally as a double. - -2006-03-26 Ethan A Merritt <merritt@u.washington.edu> - - SourceForge patchset #1143563 "Place arbitrary objects in plots". - This patchset introduces a general infrastructure for placing - individual geometric objects, similar to "set label" and "set arrow". - However the only objects implemented at this point are rectangles. - - set object <tag> rectangle - {from <position> {to|rto} <position> - | center <position> size <w>,<h> | at <position> size <w>,<h>} - {front|back|behind} {fc|fillcolor <colorspec>} {fs <fillstyle>} - {default} {lw|linewidth <width>} - - set style rectangle {front|back} {fillcolor <colorspec>} - {fs <fillstyle>} {lw|linewidth <lw>} - - * configure.in: Configuration option: ./configure --enable-objects - Conditional compilation flag EAM_OBJECTS - - * demo/rectangle.dem docs/gnuplot.doc - - * src/gadgets.h src/gadgets.c src/tables.h src/tables.c: - Infrastructure. - - * src/graph3d.c (do_3dplot) src/graphics.c (place_rectangles do_plot) - src/graphics.h: Shared routine to place rectangles in 2D and 3D. - - * src/save.c (save_rectangle) src/set.c (set_object set_rectangle) - src/unset.c (unset_object delete_object unset_style_rectangle) - src/save.h src/show.c: General bookkeeping for objects. - -2006-03-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars): Re-order the lines making up a - candlestick so that line-joining terminals have some chance of - recognizing that the body is a closed rectangle. - - * term/PostScript/prologue.ps: Add a shorthand for closepath. - - * src/graph3d.c src/graph3d.h: New routine map3d_position_double() will - be used by "set object" code. - - * src/color.c (draw_color_smooth_box): Use new routine - map3d_position_double to avoid a mismatch of parameter types. - - * src/unset.c: Replace "set no<foo>" with "unset <foo>" in comments and - error messages; i.e. make them match current syntax. - -2006-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Remove vestigial comments about df_timecol[]. - -2006-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in term/Makefile.am.in term/PostScript/*.ps - term/post.trm (PS_common_init PS_dump_prologue_file): - - Install and maintain PostScript prologue and character encoding files - in a separate directory, external to the gnuplot executable. This - removes a large chunk of text from the postscript driver, and allows - local customization, editing, or patching of the postscript - configuration. The directory in which these files are stored is taken - from config.h: #define GNUPLOT_PS_DIR - but may be replaced at runtime by an environmental variable of the same - name, or by a "set loadpath" command inside gnuplot. - This change should result in no change to the postscript files output - by gnuplot. - -2006-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.h src/datafile.c: Allow an input field expected to be - a time format to be in quotes. Previously anything in quotes was - assumed to be invalid as a numerical value. - -2006-03-23 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: New option "set style increment {user|default}" - - By default, successive plots within the same graph will use successive - linetypes from the default set for the current terminal type. - However, choosing the "user" option allows you to step through - user-defined linestyles rather than through the default line types. - - * src/gadgets.c src/gadgets.h: Global flag TBOOLEAN prefer_line_styles. - - * src/save.c src/set.c src/show.c src/tables.c src/tables.h: - Save/set/show preference for line styles rather than linetypes. - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): - If (prefer_lines_styles) then autoincrement successive plots by line - style rather than linetype. - - * src/misc.c: Missing line style is non-fatal error. - -2006-03-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Allow "bgnd" as shorthand for "lt -3". - -2006-03-23 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/pm3dcolors.dem: Make one example more happy. - -2006-03-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/unset.c (unset_axislabel): Fix memory leak from failure to - free axis labels. - -2006-03-22 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/gplt_x11.c (handle_selection_event): Fix typo in debug code. - -2006-03-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (boundary): Avoid strchr() on NULL x axis label - text. - -2006-03-18 Ethan A Merritt <merritt@u.washington.edu> - - Daniel Sebald has pointed out that when the same plot is being redrawn - repeatedly, for instance during interactive rotation of 3D plots, the - process is noticibly slowed by resending the color palette on each - refresh. The following set of changes insures that the palette is only - sent if something has changed. - - * src/color.c (make_palette): Do not call term->make_palette() unless - either (a) the palette has changed, (b) the terminal has changed, or - (c) the output device has changed. New routine invalidate_palette() - is available to signal that one of these conditions has occurred. - - * src/set.c (set_output set_palette set_palette_defined): - Call invalidate_palette(). Also fix a memory leak. - - * src/term.c (change_term): Call invalidate_palette(). - -2006-03-17 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (exec_cmd): Realigned conditional code to allow - compilation with ./configure --with-image --disable-binary-x11-polygon. - Fix conditional test associated whith ./configure --disable-with-image. - -2006-03-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/fit.c (splitpath): Reorder tests avoid possible read of - uninitialized memory. - - * src/alloc.c (gp_alloc): Cast to (generic *) - (checked_free): Introduced new local variable to reduce number of - horrible casts. - - * src/hidden3d.c (build_networks): Initialize lp_style from - lp_properties, regardless of whether the plot supposedly has point - symbols drawn or not. Needed because PM3D drops stuff inside that - struct. - -2006-03-17 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/aquaterm.trm: Correction of misprints. - -2006-03-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_tic_prop): Another bandaid to protect against - int_error() from inside try_to_get_string(). Bug #1434633. - -2006-03-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Reorder code so that mutually exclusive - conditions are handled in an if/elseif/else construct. No actual change - in behavior, but it quiets valgrind warning messages. - - * term/post.trm: Prevent segfault if someone passes off an undefined - variable as an epslatex header. This is a bandaid rather than a true - fix, but it's better than segfaulting. The true problem is that an - int_error() exit from expression parsing bypasses proper cleanup of - storage for string variables, and also fails to return NULL to the - caller. Bug #1434633. - -2006-03-15 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (plot_option_comma_separated): Found by valgrind. - Set an uninitialized tuple value to 0.0. - - * src/set.c (parse_histogramstyle): Found by valgrind. - Set an unitialized text label to EMPTY_LABELSTRUCT - -2006-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * demo/html/index.save demo/html/Makefile: Add animate2 to the list - of webified examples. - -2006-03-11 Bastian Maerkisch <bmaerkisch@web.de> - - * term/pm.trm src/term_api.h src/mouse.h src/mouse.c src/plot.c - src/set.c src/unset.c: Cleanup of the OS/2 menu stuff communicating - gnuplot -> gnupmdrv. This eliminates some 'extern's in C files and moves - code specific to pm terminal to pm.trm. - 1. Remove update_menu_items_PM_terminal() from mouse.c. - 2. Rename send_gpPMmenu() in mouse.c to PM_set_gpPMmenu() and move the - actual communication with gnupmdrv to new routine - PM_update_menu_items() in pm.trm. - PM_set_gpPMmenu() now only updates the gpPMmenu struct. - 3. Replace all calls to update_menu_items_PM_terminal() with calls to - PM_update_menu_items(). - 4. Removed multiple definitions of PM_intc_cleanup() in plot.c and - pm.trm to term_api.h. - -2006-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): If a requested input data file is missing, - issue a warning and continue. The old behaviour was to issue an error - and bail to the command line. df_open() now returns a negative number - if the requested file cannot be opened. Callers must test for error - return. - - * src/plot2d.c (eval_plots): If a requested file is missing or empty, - create an empty plot structure for it, but plot other functions or - datafiles as usual. May not work for some combinations of missing - binary input files. - - * src/plot3d.c (eval_3dplots): Treat a missing input file the same way - as an input file with no usable data points. This is not the same - as skipping it cleanly as in the 2D case. 3D should be brought in line - with 2D, but it will require revision of the data structure handling. - - * src/fit.c (fit_command): Give an error message if an input data file - is missing or not readable. - - * src/graphics.c (do_plot): Re-indent code section dealing with - empty plots. - -2006-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): Our plot structures - have gained additional fields over the years, but not all of them were - being initialized on allocation. Switch to zeroing the entire structure - on allocation, then filling in the small number of non-zero fields. - Fixes rare segfault found while debugging "skip missing file" code due - to use of an uninitialized plot->p_count field. - -2006-03-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c (df_open): Shift misplaced call to gp_expand_tilde. - -2006-03-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c: #include direct.h if compiling with MSVC. - -2006-03-06 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * docs/titlepag.tex: The previous method of detecting pdflatex - vs. normal latex no longer works (some clever guys decided that - they should use pdflatex to make DVI files...). Give up trying to - sort out that mess. Just assume that hyperref knows this on its - own, these days. - - * src/syscfg.h (OS): Provide a fallback definition to avoid using - an undefined macro. - (GP_EXCEPTION_NAME) [__WATCOMC__]: Define. - - * config/makefile.oww: Some changes to make better use of Watcom's - Make tool. - - * src/win/wgraph.c (drawgraph): Add missing break. - - * term/win.trm (Win_Opts): Change abbreviations of option - {no}enhanced. - (WIN_Font, WIN_Fontsize): Initialize to sensible defaults. - (WIN_enhanced_flush): Remove unused local variable mode. - -2006-03-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/cgm.trm (CGM_options) term/emf.trm (EMF_options) - term/pdf.trm (PDF_options) term/post.trm (PS_OPTIONS): - Accept font request strings of the form - set term <foo> ... font "<fontface>,<fontsize>" - Whatever previous syntax each terminal used remains valid as well. - -2006-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Support for 'with image' plots in Windows, from Bastian Maerkisch. - - * term/win.trm (WIN_image): New function. An edited copy of - PM_image. - (TERM_ENTRY): Add entry for WIN_image. - - * src/win/wgraph.c (GraphOp, GraphOpSize): Moved body of previous - GraphOp function to GraphOpSize, which has additional argument. - GraphOp replaced by a call to the new function. - (drawgraph): Handle new opcode W_image. - - * src/win/wgnuplib.h (W_image): New wgraph operation code. - (GraphOpSize): Added prototype. - -2006-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Bastian Maerkisch's enhanced text mode patch for Windows: - - * src/win/wgnuplib.h (W_font): New operation code macro. - (struct tagGW): New members deffontname, deffontsize describing - the default font. - (GraphChangeFont, GraphGetTextLength, GraphGetFontScaling): Added - prototypes. - - * src/win/wgraph.c (SelFont): Write font to graphwin struct. - (drawgraph): Use TA_BASELINE instead of TA_BOTTOM text alignment. - Add handling of opcode W_font. - (WriteGraphIni): Write default font instead of current font as - GraphFont= entry. - (ReadGraphIni): Read default font from GraphFont= entry. - (GraphChangeFont, GraphGetTextLength): New functions. - (GraphGetFontScaling): New function (#if'ed out). - - * term/win.trm (enum WIN_id, WIN_opts): New option {no}enhanced. - (WIN_font, WIN_fontsize, WIN_angle, WIN_x, WIN_y, - WIN_justification): New variables duplicated out of graphwin - struct. - (ENHwin_opened_string, ENHwin_show, ENHwin_overprint, - ENHwin_widthflag, ENHwin_sizeonly, ENHwin_base): New variables. - (WIN_options): Pass font name and size on to struct graphwin. - Accept new option {no}enhanced. - (WIN_move, WIN_justify_text, WIN_text_angle): Save arguments to - new variables. - (WIN_set_font, WIN_enhanced_open, WIN_enhanced_flush, - WIN_enhanced_put_text): - (TERM_ENTRY): Add entries for new functions. - -2006-03-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.cyg (HCWPATH): Look for HCW in the default place - where it installs itself. - ($(OBJS) $(WINOBJS) dbinary.$(O)): Make these depend on config.h. - (default, all): Generate config.h by real dependency. - (show.$(O)): Don't assume .o extension. - - * config/config.cyg: No, we don't HAVE_PWD_H. - -2006-03-02 Mike Sutton <mws116@usa.com> - - * term/cgm.trm (CGM_set_color): Let the CGM driver set color - when colorspec type is TC_LT. - -2006-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (term_close_output): Fix fatal double-close error - triggered by error return from post.trm at any point where gppsfile - and gpoutfile both point to the same file descriptor. - - * term/post.trm: Fix broken linetype definitions loaded by - set term epslatex oldstyle - -2006-02-28 Lars Hecking <lhecking@users.sourceforge.net> - - * demo/Makefile.am.in: Add *.pdb and *.r3d to EXTRA_DIST generation. - - * docs/gnuplot.texi: Regenerated after recent documentation updates. - -2006-02-28 Per Persson <persquare@mac.com> - - * term/aquaterm.trm: Added encoding support to aqua terminal. Currently - supports iso_latin_1, iso_latin2, and cp1250. Default is iso_latin_1. - -2006-02-27 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1436005] WIN: change sequence of pointstyles - - * src/win/wgnuplib.h src/win/wgraph.c: Change the sequence of poinstyle - symbols such that it matches the sequence of terminals like postscript - or gd. - -2006-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * demo/html/index.save: Update web site template for 4.1 demos. - - * src/set.c(set_decimalsign) src/variable.c(locale_handler) - src/show.c(show_command show_decimalsign show_locale) docs/gnuplot.doc: - Work a little harder to show both the current input and output settings - for decimal point handling (LC_NUMERIC locale setting). - -2006-02-25 Ethan A Merritt <merritt@u.washington.edu> - - * graph3d.c (do_3dplot): Contour lines are supposed to be in different - colors, but this was only working if the surface itself was drawn in a - simple linetype. Fix contour auto-coloring even for explicit rgb or - other surface-coloring modes. - -2006-02-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/term_api.h: Move line type definitions into - term_api.h, since they exist to request specific terminal behavior. - Remove definition of L_TYPE_NODRAW. It is now superseded by LT_NODRAW. - - * src/misc.c (parse_colorspec); Now that LT_BACKGROUND is safe to pass - to all terminal drivers, allow it as a legal linetype (-3) in commands. - -2006-02-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/tables.c (set_palette_tbl pm3d_color_names_tbl): Support both - spellings of "gray" and "grey". - -2006-02-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc term/post.trm: Correction of misprints. - -2006-02-23 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pointsize.dem: Add 'reset' at the end. - -2006-02-21 Daniel Sebald <daniel.sebald@ieee.org> - - * term/post.trm (PS_encode_image): The computation for the max number - of required bytes for encoding the image didn't take into account that - there is 8 bit alignment (potentially additional 7 bits) at the end - of each image line. The encoded image was written outside memory on - the heap and corrupted when cleared. Fixed, and added an assert() - test, after the fact, to compare encode size against memory size. - -2006-02-21 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (scan_palette_from_buf): The read_input() status - was ignored and consequently when a partial read of the pipe happened - a full line was not removed from pipe. For long palettes garbage - remained in pipe when done and next command was bogus. - - * src/gplt_x11.c (read_input_line): A new routine that will check - status of read_input and continue reading if only a partial read. - If there are too many reads, the routine gives warning. - -2006-02-21 Daniel Sebald <daniel.sebald@ieee.org> - - * src/getcolor.c (interpolate_color_from_gray): The index could go - to one past the end of the array and cause a program crash. This - was fixed with a bisecting routine as suggested by the old comment - nearby, as opposed to the linear search. - -2006-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/imagen.trm (IMAGEN_cvts): Obviously no one uses this driver, - because if they had they would have noticed that it's been trampling - on unallocated memory since version 3.7 times or earlier. Fixed. - - * term/metapost.trm (MP_filled_polygon MP_boxfill): solid fill density - parameter was being interpreted incorrectly. - -2006-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * aed.trm ai.trm amiga.trm corel.trm debug.trm djsvga.trm dumb.trm - dxy.trm emf.trm excl.trm fg.trm fig.trm gd.trm ggi.trm gnugraph.trm - gpic.trm grass.trm hp26.trm hpgl.trm imagen.trm iris4d.trm latex.trm - linux.trm metafont.trm mif.trm next.trm openstep.trm pbm.trm pc.trm - pdf.trm post.trm pstricks.trm regis.trm rgip.trm sun.trm svg.trm - t410x.trm tex.trm texdraw.trm tgif.trm tkcanvas.trm tpic.trm unixpc.trm - unixplot.trm vgagl.trm vws.trm win.trm - - Replace L_TYPE_NODRAW and explicit constants -2, and -1 with - LT_NODRAW, LT_BLACK, and LT_AXIS respectively. - - Make sure all drivers check for legal linetype in term->linetype(). - Many drivers were not prepared to handle term->linetype(LT_BACKGROUND). - Note that it was unsafe even to call term->linetype(LT_BLACK) or - LT_AXIS on some older drivers (e.g. iris4d). - -2006-02-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/color.c src/gadgets.h src/graph3d.c src/graphics.c - src/set.c src/show.c: Replace L_TYPE_NODRAW everywhere in core code - with LT_NODRAW. - - * term/post.trm (PS_options): Fix a memory leak and a double-free - in the code handling epslatex epslatex_header option. While there, - update the code to handle string variables. - Bug #1434633. - -2006-02-19 Dennis Linse <djlinse37@users.sourceforge.net> - - * missing: Add work-around for parsing bug that cannot handle the - "--output=<foof>" option to makeinfo. See also the change below, - which removes gnuplot.info from the default make target. - Bug #1422925. - -2006-02-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (image_do_crop): Move libgd version 2 dependency - inside conditional code segment. Bug #1434658. - - * docs/Makefile.in: Add an empty target for "install-exec", and - remove gnuplot.info from the target "all". These changes are needed - in order for either a default "make" or "make install-exec" to - succeed on a system without emacs or makeinfo. - Bug #1430819. - Thanks to Dennis Linse <djlinse37@users.sourceforge.net> - - Note: an alternative is not to use the .../missing script for - makeinfo, or somehow make the fact that it's missing a non-fatal - error. - -2006-02-17 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1432890] Win: rotated text at arbitrary angles - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Rotated text at - arbitrary angles for the windows terminals. - -2006-02-16 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1384525] Small fixes to gd terminals - - * term/gd.trm: Fixes for Win32 to allow linking with bgd.dll or static. - - Static linking with gdlib is now possible (again) on windows (NONDLL - is taken into account). - - A new define GD_NEED_LOCAL_FONT_POINTERS is added. When defined - gd.trm will use local pointers to the fonts built into gdlib. This - is highly recommended by Mr. Boutell on Windows platforms. Currently - it is only activated on Windows when linking to bgd.dll. - -2006-02-12 Daniel Sebald <daniel.sebald@ieee.org> - - * term/post.trm (PS_encode_image PS_image): Bug fix for the PostScript - image using the five operand form (i.e., no palette). The bug was - that the max colors was not set to 2^N, where N is 1, 2, 4, 8, or 12. - So if the gray scale max was 128 (2^7) the brightness was lower than - it should have been. - -2006-02-12 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c (do_3dplot): Fixed the condition for which the message - of missing blank lines in a datafile for pm3d plot is displayed. - -2006-02-11 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/gplt_x11.c (handle_selection_event): Export a timestamp for each - selection request, as per the X11 clipboard handling standard. - -2006-02-06 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Make "set xyplane" description more self-consistent. - -2006-02-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c (set_tics set_tic_prop): Draw nomirrored tics correctly for - "reset; unset xtics; set xtics nomirror; splot x" and - "reset; unset tics; set tics nomirror; splot x". - -2006-02-03 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars): Clip candlesticks (financebars) - to vertical plot boundaries. - -2006-02-02 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (handle_selection_event): Clean up yesterday's - code a little, and separate the pixmap request from the mouse - coordinate string request. By making the string request - separately, it seems that klipper now notices it. - -2006-02-01 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (handle_selection_event): Fix bad interaction - between gnuplot_x11 and X11 clipboard management tool "klipper". - Refuse to export the pixmap and colormap more than once per - plot export. For unknown reasons, klipper continues to ask for - copies of both ad infinitum. Fixes bugs ##1225866 and #1420675. - -2006-01-31 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c: (VMS) replace MAILBOX with "PLOT$MAILBOX" - - * src/set.c (set_timestamp): Use gp_strdup() rather than strdup(). - - * src/term_api.h: Remove trailing comma from definition of - t_termlayer. - - * src/util.c (existdir): Special case VMS. - - With these minor tweaks, the current gnuplot source will compile - and build under VMS using DECC. Not all drivers tested, though. - -2006-01-28 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (parse_term_size): New routine intended to be shared - by terminals with "set term <foo> size XX, YY" option. The routine - itself supports size specification in inches, cm, or pixels. The - calling terminal can limit which units are acceptable. - - * term/post.trm (term_options): "set term ... size XX, YY" option. - This is intended to replace the older mechanism: - "set size ... ; set term ...". The new code gets the bounding box - right, which the old mechanism does not, and it rationalizes the use - of screen coordinates to match that of other (but not all) terminals. - -2006-01-26 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_read_matrix): Bugfix for "every" option in plot - "matrix ... every *:*:firstpoint:*". If we are explicitly skipping - input columns, it doesn't matter whether they contain legal input or - not. Therefore test index against firstpoint before trying to parse - it as a number. - -2006-01-23 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c (plot_image_or_update_axes): Fix for - "plot [from:to] [from:to] ... with image". - -2006-01-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c (do_3dplot): The mistake of missing blank lines in a - datafile for pm3d plot is so frequently made that it really deserves - a warning. - -2006-01-19 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c src/color.h src/gadgets.c src/gadgets.h: Move color_box - structure and associated definitions from color.* to gadgets.*. This - resolves a circular header dependency if the structure is to be shared - by 2D and 3D code. Add (struct position) entries to color_box structure - to generalize the placement options. - - * src/command.c src/command.h src/gadgets.c src/gadgets.h: Move the - related TBOOLEAN flags is_3d_plot and is_cb_plot from command.* to - gadgets.*. - - * src/save.c src/show.c src/set.c src/unset.c: Convert the relevant - routines to manipulate color_box position using new (struct position) - fields. - - * docs/gnuplot.doc: Document that color_box placement can now be - specified in any of gnuplot's coordinate systems. - -2006-01-15 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Correct various typos and spelling errors. - -2006-01-13 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: EMF_filled_polygon has the side-effect of - changing the current line color. Force re-evaluation of line - properties the next time a line is drawn. - -2006-01-13 Timothee Lecomte <timothee.lecomte@ens.fr> - - * demo/rainbow.dem: Do not "unset mouse" inside demo. - -2006-01-12 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Avoid improper call to strcpy found by valgrind. - - * term/emf.trm: Allow terminal to use LT_BACKGROUND as a line or - fill color. - - * term/xlib.trm (Xlib_reset): Give xlib its own reset function, - because sharing one with x11 can lead to a double-free of the - output file, resulting in a segfault (found by valgrind). - -2006-01-11 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get3d_data): Fix initialization code for 3D plot - style `with vectors`. - -2006-01-07 Mike Sutton <mws116@usa.com> - - * term/gd.trm: New terminal option {rounded|butt} controls line caps. - - * src/color.c (draw_color_smooth_box): In splot in view map mode, have - the colorbox extend the full height of the y axis by default. Placement - in 3D plots is not affected. This was the old (pre-4.0) behaviour. - -2006-01-07 Daniel Sebald <daniel.sebald@ieee.org> - - * term/gd.trm: Addtional processing of animated gifs to bring - output file into compliance with the Gif89a standard. - - * demo/animate2.dem demo/rotate.gnu: New demo of gif animation, - showing transparency. Revised rotation code for both animate - and animate2 demos. - -2006-01-07 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (term_end_multiplot): Free title string and clear - multiplot title. - -2006-01-07 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (record): Incorrect nesting of parentheses. - -2006-01-02 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_options): Change default animation mode to - "nooptimize". Disable optimization if the background is transparent, - as this combination is not handled well by most viewing programs. - -2006-01-02 Dennis Linse <djlinse37@users.sourceforge.net> - - * term/x11.trm: Remove redundant #include <sys/select.h> - -2005-12-30 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_options): Initialize and report animate {nooptimize} - flag in terminal options string. - -2005-12-29 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm term/vgagl.trm: Cleanup (#undef) definition of Y(coord) - before leaving driver code. - - * term/pdf.trm: Correct signedness problem in call to PDF_open_image(). - - * term/svg.trm: Increase the internal resolution of terminal coordinates - by adding a scale factor SVG_SCALE. This fixes the "wavy line" bug seen - in svg plots. - -2005-12-29 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gd.trm: New routine image_do_crop(), extracted from png_text(). - Now shared for cropping all png/gif/jpeg images. - -2005-12-26 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (place_label3d): Let write_label handle clipping to - the page, rather than duplicating it in place_label3d. - -2005-12-21 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_text): Work around unexpected behaviour in libgd, - which does not copy transparent pixels during a copy operation. - Fixes bug #1386553. - -2005-12-17 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Fixed "splot x with line palette lw 10". - -2005-12-17 Petr Mikulik <mikulik@physics.muni.cz> - - * src/version.c: Changed value of gnuplot_date[] from a useless - July 2004 day into "December 2005". - - * src/mouse.h src/mouse.c: Added new field was_splot_map in structure - t_zoom. It should fix yet another occurence of "set view map; plot x" - and y-axis reversal when zooming by mouse and unzooming by hotkeys. - -2005-12-15 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph): Support for - text color via RGB and via linetype color values. - -2005-12-14 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: Fixes for linking with bgd.dll. - - * src/term.c: #include <io.h> for __MSC__. - -2005-12-11 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Add a BoundingBox structure to describe - the plot boundaries in 'set view map' mode. - -2005-12-06 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot) src/graph3d.h src/plot3d.c (eval_3dplots) - src/hidden3d.c (build_networks) docs/gnuplot.doc: Add an option - `with <plotstyle> nohidden3d` that allows you to exclude a particular - plot from the global `set hidden3d` processing. - -2005-12-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c (COORD_TO_TREECELL, COORD_TO_BITMASK): Avoid - overflow by undoing effect of surface_scale before mapping to - integers. - (store_polygon): Add assert()s to internal macros GET_MIN, - GET_MAX, to catch problems not handled by above changes. - (in_front): Avoid accessing qlist[-1]. Make sure - p_list[] is always filled, even if doing a single-vertex pseudo - edge. - -2005-12-05 Ethan Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (build_networks): Each plot with style LABELPOINTS - contains a linked list of labels. But the first label in this list is - a dummy entry used only as a placeholder for style parameters. The - hidden3d code was incorrectly counting this as an actual label. - Fixes at least some instances of bug #1372464. - -2005-12-04 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Add new internal linetype LT_COLORFROMCOLUMN - - * src/graph3d.c (do_3dplot): Remove warning if no surface is visible - in plot with hidden3d set. - - * src/hidden3d.c src/util3d.h: Modify struct vertex so that it contains - a pointer (lp_style_type *)lp rather than simply an (int)style. This - allows all the various point properties to be handled in hidden3d mode - except for variable pointsize. Variable pointsize is handled by adding - a new field (struct coordinate *)original. This, however, increases the - size of struct vertex, so it can be configured out under the control of - HIDDEN3D_VAR_PTSIZE. - - * demo/pointsize.dem demo/rgb_variable.dem: Update demos to show off - use of 'set hidden3d' for 3D point plots. - - * src/graph3d.c src/hidden3d.c: Handle 'splot with vectors' in - hidden3d mode. - - * demo/molecule.dem demo/GM1_bonds.r3d demo/GM1_sugar.pdb: New - demo that shows off vector+point plots in hidded3d mode. - -2005-12-02 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c src/gplt_x11.h: Move #include <sys/select.h> from - gplt_x11.c to gplt_x11.h so that x11.trm can see it also. - Bugfix #1365076. - - * term/x11.trm: Remove duplicate #define for constants present in - gplt_x11.h. - -2005-12-01 Michael Williamson <mwilliamson@users.sourceforge.net> - - * src/set.c (set_size): Do not allow size values <= 0. - -2005-11-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (apply_zoom): Fix for "set view map; plot x" and y-axis - reversal when mouse zooming. - -2005-11-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c (df_set_datafile_binary): Give an error message for - 'set datafile binary' (without any option). - -2005-11-27 Juergen Wieferink <wieferink@freenet.de> - - * src/parse.c (const_string_express parse_additive_expression) - src/parse.h src/eval.c (pop_or_convert_from_string) src/eval.h - src/util.c (try_to_get_string) src/internal.c (f_minus) - src/set.c (set_label set_xyzlabel load_tic_user): - - Clean up parsing and evaluation of try_to_get_string() by moving the - test against STRING_RESULT_ONLY into the actual parsing code. Now if - a + or - operator is encountered while parsing something that is - supposed to be a string, no further tokens are processed. Before, this - triggered an arithmetic operation on the string that had to be thrown - out afterwards. - -2005-11-27 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_arrow): Rewrite set_arrow() to behave the same as - set_label() and other "set <foo>" routines; attribute changes for any - one arrow are now incremental. - - * src/misc.c (arrow_parse) src/plot2d.c src/plot3d.c src/set.c: - Remove 2nd parameter of arrow_parse, since it is no longer used by - any callers. - - * src/axis.c (axis_checked_extend_empty_range) src/plot3d.c: - Suppress warning message "empty z range" when mode is "set view map". - -2005-11-27 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Change one splot from "with lp palette" to - "with lines palette". - -2005-11-26 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): - Bugfix: Arrow style used by "with vector" was getting over-written - during subsequent command line parsing. - -2005-11-25 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (avs_filetype_function) docs/gnuplot.doc: - Support AVS image file format. - Example: - plot '<convert foo.jpeg avs:-' binary filetype=avs with rgbimage - -2005-11-25 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_plot do_key_sample) - src/graph3d.c (key_sample_line key_sample_point key_sample_point_pm3d): - Clip key to canvas unless TERM_CAN_CLIP flag is set. - - * src/set.c (load_tic_user): Allow string variables and string functions - in 'set {xyz}tics ( FOO <foo>, BAR(x) x, "string"."exp" <place> ) - - * src/datafile.c (plot_option_binary): Fix logic error in binary file - initialization. Initialization was done inside a parsing loop, but the - loop was never entered unless there were additional keywords on the - command line. Bugfix. "set style data rgbimage" now works. - -2005-11-25 Petr Mikulik <mikulik@physics.muni.cz> - - * term/tgif.trm (TGIF_init): Message "Creator: gnuplot %s patchlevel %s" - instead of (dollar)Header:(dollar) in output file header. - -2005-11-24 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.c (clip_point) src/term.c (do_arrow): If terminal - flag TERM_CAN_CLIP is set, then set canvas clipping description - to NULL. - - * src/term_api.h src/term.c: Export on_page() so that it can be - used for clipping tests by other core modules. - - * src/gadgets.c (write_label): If a label has an associated point, - clip the point using the same test as was used for the label itself. - -2005-11-24 Juergen Wieferink <wieferink@freenet.de> - - * src/util.c (parse_sq) src/scanner.c (scanner) docs/gnuplot.doc: - Fixed \' in single-quoted strings. - -2005-11-24 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c: Linked list of color maps separate from the linked - list for x11 plots. Bugfix for different color palettes in different - x11 terminal windows and resizing them. - -2005-11-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c (build_networks): Fix handling of previousvertex - variable for point-like objects, which don't need it. - -2005-11-14 Juergen Wieferink <wieferink@freenet.de> - - * src/set.c (set_xyzlabel): Fix parsing error in backwards-compatible - form "set xlabel 'foo' -1,-1". - -2005-11-12 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Check whether user-specified tic is major - or minor before choosing a line type for the corresponding grid line. - - * term/gd.trm (ENHGD_put_text) term/pdf.trm (ENHPDF_put_text): - Fix typos that caused justification to fail for rotated, enhanced - mode text strings. - -2005-11-11 Harald Harders <h.harders@tu-bs.de> - - * src/axis.c (axis_output_tics): Normally the tics are placed to - dodge the border line. If the border line is not drawn, then do - not try to dodge it. - -2005-11-11 Ethan Merritt <merritt@u.washington.edu> - - * term/metapost.trm: Update driver to support version 4.1 features. - Implement general text rotation. - Add partial density solid fill support for rectangles and polygons, - with pattern fill implemented as incremental density solid fill. - Fix bugs in terminal option font parsing. - Keep track of dash pattern independent of line color - -2005-11-09 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (do_arrow): Revert previous patch, since it seems - the bad effects outweigh the good. - -2005-11-08 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (do_arrow): Add a work-around for broken behaviour - by the postscript terminal. post.trm does not correctly report - the current canvas size, so arrows cannot be clipped against the - canvas boundaries if the current terminal is post.trm. The proper - fix is probably in post.trm itself, but it potentially affects - many aspects of plot layout so I am reluctant to make the change - there. - -2005-11-01 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (eval_3dplots): Fix logic bug in vector style - initialization. Replicate vector line style properties stored - in arrow_properties into plot's main lp_properties. - -2005-10-31 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm (PS_options): Add flags to track whether terminal - options have been set; issue error on attempt set option twice. - -2005-10-26 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Updated 'help matrix' and 'help matrix ascii'. - -2005-10-23 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (adjust_binary_use_spec): Interpret the command - "plot <foo> matrix" as equivalent to "plot <foo> matrix using 1:3". - -2005-10-22 Harald Harders <h.harders@tu-bs.de> - - * term/pslatex.trm (EPSLATEX_set_color): Fix bug in setting - pure black or white via a gray value. - -2005-10-22 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): Fix [very] long-standing bug - that caused only the first 3 columns of ascii matrix data to - be read after the command: splot "data" using 1:2:3 matrix - Bug #1264105. - -2005-10-21 Ethan Merritt <merritt@u.washington.edu> - - * src/gp_types.h: Force enum for variable types to start at - INTGR = 1, so that 0 (NULL) is guaranteed not to be a valid - variable type. - - * src/util.c src/util.h (type_udv): New function returning the - type of a user-defined variable, or 0 if there is no such udv. - Replaces isstringvar(). - - * datafile.c (plot_ticlabel_using df_readascii): Allow the - using specs {x|y|z}ticlabel(<foo>) to accept an expression - for <foo> rather than accepting only an integer constant. - -2005-10-20 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c (do_arrow): Moved misplaced declaration. - - * config/config.cyg config/config.mgw: Updated. - -2005-10-19 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Update description of xticlabels(<col>). - -2005-10-19 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm (START_HELP): Update docs about window title. - -2005-10-16 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Export (BoundingBox *)clip_area, so that gnuplot - core routines can specify clipping boundaries before calling - clip_point() and clip_line(). - - * src/term.c (do_arrow): clip all lines in arrow to the canvas. - Bug #1187336. - - * src/graph3d.c (get_arrow3d): Since arrow clipping is now - handled properly in do_arrow(), remove the old cruder clipping test. - - * term/pdf.trm (PDF_filled_polygon): Filled arrowheads can still - protrude across the canvas boundary, and the pdflib routines - cannot deal with this due to the use of (unsigned int) for the - polygon vertices. Cast to (int) prevents segfaults or error - exit by pdflib library. - - * term/pdf.trm (PDF_point): Bugfix: Do not crash on pointsize 0. - -2005-10-15 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/gadgets.c: Define a BoundingBox structure type, - and create two instances: one for the plot boundary and one for the - canvas boundary. Also export a (BoundingBox *)clip_area pointer to - the currently active BoundingBox for clipping. At this point, - clip_area always points to plot_bounds. - - * src/term.c (term_start_plot): Immediately after each call to - term->graphics(), load terminal's coordinate range into canvas - BoundingBox. - - * src/gadgets.c (clip_point clip_line): Clip against the BoundingBox - pointed to by clip_area. In the past this has always been the plot - boundary, but now we will be able to use the same routines to clip - against other areas. - - * src/graphics.c src/graph3d.c src/mouse.c: Replace all instances of - xright, xleft, ytop, ybot with references to those same fields in the - plot_bounds BoundingBox. - - * term/tkcanvas.trm: Replace xright, xleft, ytop, ybut here to. - PLEASE FIX: But no terminal should be referring to these directly. - -2005-10-15 Hans Grobler <grobh@users.sourceforge.net> - - * src/gplt_x11.c: Fix buffer overflow caused by incorrect size - allocation for rdbuf. - -2005-10-14 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Explicitly - initialize arrow style for "{s}plot with vector", since arrow_parse() - no longer does this for us. - -2005-10-13 Ethan Merritt <merritt@u.washington.edu> - - * term/dumb.trm: Fix dumb bug in dumb term. coords run from 0->xmax - and 0->ymax, but array space was only allocated for xmax*ymax pixels. - Correct this to (xmax+1)*(ymax+1). Fixes segfault triggered by - "set size 2,2". - -2005-10-12 Don Taber <dtaber@topaflyers.com> - - * term/pbm.trm: Update description of the PBMPLUS and NETPBM packages. - -2005-10-12 Ethan Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: Add TERM_CAN_CLIP to terminal flags, since the core - routines cannot correctly estimate the length of TeX strings. - Bug #1324794. - -2005-10-12 Lars Hecking <lhecking@users.sourceforge.net> - - * src/beos/Makefile.in: Remove Makefile from EXTRA_DIST. - -2005-10-11 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_points): Small code clean up in preparation - for possible addition of a sorting step prior to plotting. - -2005-10-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (win_lower_terminal_window): "lower" command for the - Windows terminal. - -2005-10-09 Harald Harders <h.harders@tu-bs.de> - - * src/misc.c (lp_parse arrow_parse) set.c (set_linestyle set_arrowstyle) - src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) docs/gnuplot.doc: - - Bring "set style line ..." and "set style arrow ..." into agreement with - other "set style <foo>" commands by retaining current properties, rather - than resetting to the default style each time. The previous behavior was - undocumented. Add an explicit command "set style {line|arrow} default". - -2005-10-09 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pdf.trm term/svg.trm (START_HELP): Small changes. - - * term/x11.trm (START_HELP): Reorganized list of options. - -2005-10-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/os2/gclient.c term/pm.trm: "lower" command for the pm terminal. - -2005-10-07 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Fix pattern-fill code, which was not working. - If the user explicitly provides a background color, apply it to the - entire canvas when plotting is started. The was documented, but - apparently never implemented. Bug #616167. - Also update linetype code so that it is possible to give the - the background color as a line property. - -2005-10-07 Daniel Sebald <daniel.sebald@ieee.org> - - SF patch [859716] new raise/lower commands - - * NEWS docs/gnuplot.doc src/command.c src/command.h src/gplt_x11.c - src/os2/gclient.c src/tables.c src/win/winmain.c term/pm.trm - term/x11.trm: Commands "raise" and "lower" to raise and lower windows of - interactive terminals. - -2005-10-07 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (system_command): Remove superfluous c_token++. - -2005-10-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/syscfg.h: Increased MAX_NUM_VAR from 5 to 12 (max number of - parameters for functions). - -2005-10-06 Amitha Perera <amithaperera@users.sourceforge.net> - - * term/pbm.trm (PBM_options): Re-order declarations to be strict ANSI C. - -2005-10-05 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox ztick_callback) - src/save.c (save_set_all) src/set.c (set_command set_zeroaxis) - src/show.c (show_command show_all show_zeroaxis) src/tables.c - src/tables.h src/unset.c (unset_command unset_zeroaxis) - demo/rgb_variable.dem: - - Implement zzeroaxis, and rework the placement of axis tics and labels - in 3D when the corresponding "set {xyz}tics axis" flag is set. - Bug #1293118. - -2005-10-05 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_options): Test for valid (>0) size of image. - -2005-10-05 Bastian Maerkisch <bmaerkisch@web.de> - - SF RFE [1063878] Support for pre-compiled bgd.dll - If gd.trm made use of the gdFontGetTiny() and related methods to read - the font pointers instead of referencing them as extern, gnuplot could - more easily be compiled to work with the pre-compiled GD library - bgd.dll instead of having to download and compile zlib, libpng and - libgd. - - * config/makefile.nt: Support for binary version of gdlib (bgd.dll). - - * term/gd.trm: New BGD_EXPORT_DATA_PROT and gp_gdXXX() for Win32. - -2005-10-05 Bastian Maerkisch <bmaerkisch@web.de> - - * term/pm.trm src/os2/pm_msgs.h src/os2/gclient.c: Support for - "with image" on pm terminal. - -2005-10-04 Ethan Merritt <merritt@u.washington.edu> - - * term/pbm.trm (PBM_options): Add an option to set the output size. - set term pbm size XXX,YYY - -2005-10-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c (DragFunc): Increase maximum length of filenames in - drag and drop operations to MAX_PATH (bug found by Tim Chippington - Derrick). - -2005-10-03 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Issue a warning message if someone tries to build the - PNG terminal without libgd. - -2005-10-02 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Remove unused struct default_keybox_lp. - - * src/graph3d.c src/graph3d.h src/mouse.c src/save.c src/set.c - src/show.c src/tables.c src/unset.c docs/gnuplot.doc: - Move global ticslevel into a global struct xyplane that also contains a - flag indicating whether the value fixes the Z-intercept of the x/y plane - at a fraction of the z range (old behaviour) or a specific value of - Z (new option). To select a specific Z, use "set ticslevel at <zval>". - This change also introduces "xyplane" as a synonym for "ticslevel", - so the more easily remembered form of the command is - "set xyplane at <zval>". - - * src/graph3d.c (do_3dplot): Check for absolute placement of xyplane - along Z axis, controlled by "set {ticslevel|xyplane} at <zval>". - -2005-10-01 Ethan Merritt <merritt@u.washington.edu> - - Lines have more properties now than they used to. Rather than expanding - the number of parameters to lp_parse() to pass default values for each - property separately, change to requiring the caller of lp_parse() to - preload default values into the lp_style_type structure being passed. - This change should not by itself affect current syntax or behaviour, - but will allow us to remove the style initialization from lp_parse(). - This in turn will allow different callers to have different default - line styles while still sharing the same parsing routine. - - * src/misc.h src/misc.c (lp_parse): Remove def_line and def_point - parameters; instead assume they have been preloaded into lp. - - * src/plot2d.c src/plot3d.c src/set.c: Modify all callers of lp_parse() - to follow the new scheme. - - * src/gadgets.h src/term_api.h src/graph3d.c src/graphics.c src/save.c - src/plot2d.c src/plot3d.c: #define PTSZ_VARIABLE and PTSZ_DEFAULT as - constants rather than passing magic values for lp_style_type.p_size. - - * src/term.c (term_apply_lp_properties): Check explicitly for - PTSZ_VARIABLE and PTSZ_DEFAULT. - -2005-09-29 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (axis_position_zeroaxis): More zeroaxis bugs; does nobody - ever use this option? Range terminating at 0.0 is a perfectly valid - case in which to draw a zeroaxis. - Bugfix. - -2005-09-27 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.c (draw3d_line_unconditional): The code previously assumed - that any 3D colored line is colored by Z value. This is no longer true. - Bugfix. - -2005-09-27 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_COMMON_DOC1): More details for 'color' and - 'monochrome' options. - -2005-09-25 Ethan Merritt <merritt@u.washington.edu> - - Even when gnuplot honors a LOCALE setting for input of data or output - of plots, gnuplot's own command syntax requires LC_NUMERIC == C. We - must check for this anywhere that a command is generated or parsed. - - * src/mouse.c (apply_zoom): Enforce C locale before creating - command sequence to do zooming. - - * src/scanner.c (get_num): Enforce C locale before reading a number - that is part of a command line. - - * src/command.c (save_command test_palette_subcommand) - src/show.c (show_command show_style): Enforce C locale before saving or - showing state of internal variables. - -2005-09-25 Petr Mikulik <mikulik@physics.muni.cz> - - * term/svg.trm (SVG_init): Encodings for OS/2 and Windows. - -2005-09-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/os2/gclient.c term/pm.trm: Full RGB colour support for pm terminal - (if display supports it). - -2005-09-24 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (process_event): Drain any backlog of keypress - events from the current plot window every time we see an arrow key. - This prevents hysteresis if the redraw rate is slower than the - keyboard autorepeat rate. - Bug #1111734. - - * term/emf.trm: (EMF_dashtype): Make axis dotted by default, consistent - with other terminal types. - -2005-09-23 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (exec_cmd) term/x11.trm (ENHX11_put_text): - Change the vertical centering of enhanced mode text so that it matches - that of non-enhanced text. - -2005-09-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/set.c term/gd.trm: Always allow animated gif options in - 'set term gif ...'. Issue a warning if the gd library does not support - animated gifs. - -2005-09-22 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary do_plot label_width): Correct the layout - of the key title area for enhanced text super- and sub- scripts, and - ensure the box is wide enough for the key title string. - Bug/RFE #1002488. - - NB: This fix reveals that the x11 driver has incorrect vertical - centering for enhanced text; other drivers are fine. - - * term/xlib.trm: Add enhanced text entry points to TERM_TABLE so that - enhanced text handling by x11 driver can be debugged. - -2005-09-21 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm (SVG_init): Place encoding information in the - XML header record if an encoding is explicitly set in gnuplot. - Bug #1231209. - - * src/axis.c (gen_tics): Correct the calculation of last minitic - position to be plotted on a log-scale axis. Bug #1223149. - - * src/term.c (write_multiline): Fix trivial line-counting bug. - -2005-09-20 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (parse_label_options): Fix incorrect ordering of - declaration/initialization. Non-gcc compilers didn't like it. - -2005-09-19 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Allow space for zeroaxis tic labels when - zeroaxis is near plot border. Bug #219867 swatted after 5 years! - -2005-09-17 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics add_tic_user) src/axis.h src/save.c (save_tics) - src/setc.c (set_tic_prop load_tic_user load_tic_series) - src/show.c (show_ticdef) src/unset.c (unset_tics) docs/gnuplot.doc: - - Sourceforge patchset #1104018. - Allow both user-specified axis tics and auto-generated tics at the - same time. No change to basic syntax or behaviour of tics, but the - extra key word "add" in a "set [xuz]tics ..." command causes the - requested tics to be added to the current ones rather than replacing - them. - -2005-09-17 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes): Use gp_alloc rather - than malloc. Bug #1254314. - - * src/gplt_x11.c src/getcolor.c: Check for NULL return from malloc(). - Bug #1254314. - - * demo/all.dem: Fixed mis-matched quotes around "rgb_variable.dem". - -2005-09-16 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (string_expand): Fix bug in macro handling; escaped - quotes were not recognized. - -2005-09-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Treat placement of Z-axis label in - the same way as those for the X and Y axes. - -2005-09-15 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (write_multiline, on_page): New routine on_page(x,y) to - check coordinates for being in range of entire terminal drawing area. - Use this in write_multiline() to centralize text clipping (may extend - it to single line text later). Fixes bug #1274007 and a lot of old - complaints about segfaults in libpdf. - - * src/term_api.h term/post.trm: But some terminals can clip text just - fine on their own, and do it more cleanly than on_page() can do. Define - a terminal flag TERM_CAN_CLIP for these cases, starting with post.trm. - If the flag is set for the current terminal, on_page() always returns - TRUE. - - * src/graph3d.c (xtick_callback ytick_callback ztick_callback): - Since write_multiline() now does its own clipping, it does not need to - be wrapped by clip_put_text_just(). While we're here, apply text - rotation for tic labels. - - * src/gadgets.c src/gadgets.h src/color.c: This leaves no callers for - clip_put_text_just(), so remove the routine altogether. - -2005-09-15 Harald Harders <h.harders@tu-bs.de> - - * src/variable.c term/post.trm (PS_options, documentation): - Fix bugs in fontfile handling of ps terminal. Document "nofontfiles". - SourceForge patch #1269469. - -2005-09-15 Ethan Merritt <merritt@u.washington.edu> - - * demo/html/Makefile demo/html/index.save: Add rgb_variable.dem to the - autogenerated html set. Also add dashcolor.dem, which is complicated - by needing to generate an *.eps file and then convert it to *.png. - - * demo/all.dem: Add rainbow.dem and rgb_variable.dem - - * src/gadgets.h: Initialize axis labels to use linetype -1, not 0. - -2005-09-14 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: The histogram plot style was not being listed as an - option under 'help plotting styles'. - -2005-09-12 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/color.c src/gadgets.c src/gadgets.c - src/graph3d.c src/graphics.c src/save.c src/set.c src/show.c src/term.c - src/unset.c: - Up till now gnuplot's axis labels, plot title, and timestamp have been - stored in statically allocated instances of struct label_struct. - All other labels use dynamically allocated struct text_label. - This set of changes converts all users of struct label_struct to use - stucture text_label instead. This saves space everywhere, and - consolidates the label parsing and handling routines. - - * docs/gnuplot.doc NEWS: - The y and y2 axis labels now allow explicit control over rotation angle; - all labels now allow explicit control over {no}enhanced text processing. - -2005-09-12 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.nt: Rearranged to comply with config.{h,cyg,mgw,os2}. - -2005-09-11 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_set_all): Fix incorrect placement of newlines - in "set pm3d" options. - -2005-09-09 Lars Hecking <lhecking@users.sourceforge.net> - - * Makefile.am: Add DISTCLEANFILES. - - * lisp/Makefile.am: Add $(ELS) to distclean-local target. - - * share/LaTeX/Makefile.am: Install .cfg file under gnuplot's directory - hierarchy rather than LaTeX's - it is the user's responsibility to - update the latter. Add uninstall-hook. - -2005-09-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/config.nt: Added flags for GP_ISVAR, libPDF details, - HAVE_STRINGIZE, string variables, datastrings, histograms, fit - error variables, image mode, macros. Added at least some - comments. - -2005-09-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt: Add a rule that makes all *.obj files - explicitly dependent on config.h. Explain usage a bit more - clearly. - - * src/graphics.c (plot_image_or_update_axes): Don't dereference - function pointer in test. - - * docs/gnuplot.texi: Regenerated. - - * docs/gnuplot.doc: Removed superfluous blanks, fixing some - blank-only lines. - - * src/beos/Makefile.in: New file. Edited copy of previous - Makefile to fix out-of-source 'make dist'. - - * src/beos/Makefile: Removed. - - * configure.in: Add src/beos/Makefile to AC_OUTPUT. - -2005-09-07 Lars Hecking <lhecking@users.sourceforge.net> - - * Makefile.am, configure.in, share/Makefile.am: SUBDIRS in - automake versions older than 1.9 can only contain direct - children. Need a minimal, dummy Makefile.am in share/ to address - this. - - * configure.in, share/Makefile.am, share/LaTeX/Makefile.am: Fix - building outside source directory. - -2005-09-07 Lars Hecking <lhecking@users.sourceforge.net> - - * Makefile.am: Add share/LaTeX to SUBDIRS. - - * depcomp, install-sh, missing, mkinstalldirs: Updated from - automake. - - * config/Makefile.am.in: Add MacOSX to EXTRA_DIST generation. - - * demo/Makefile.am.in: Add *.cfg and html to EXTRA_DIST - generation, remove webify.pl. - - * share/LaTeX: Add top_srcdir, INSTALL_DATA, DISTFILES, install, - distdir, clean, distclean. Clean up all and install targets. - - * src/Makefile.am: Add makefile.awc to EXTRA_DIST. - -2005-09-05 Petr Mikulik <mikulik@physics.muni.cz> - - * show.c (show_palette_palette): Take care that print_out is - stderr for for both NULL and stderr. - - * command.c (print_show_output): Make the test to print_out, not - print_out_name (failed for stdout). - -2005-09-05 Geoffrey Hausheer <ghaushe@users.sourceforge.net> - - SF patch [1264939] Adds bilinear interpolation to pm3d surfaces - - * demo/pm3d.dem docs/gnuplot.doc src/pm3d.c src/pm3d.h src/save.c - src/set.c src/show.c src/tables.c src/tables.h NEWS: When using - pm3d with data files (rather than functions), a single color is - used for each quadrangle (unless dgrid is used, but then you get - weighted averages instead). This patch does bilinear interpolation - to subdivide each quadrangle into nxn smaller quadrangles, and - sets the color of each one independantly. - -2005-08-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.dj2 (TERMLIBS): Updated to current version of - GRX. - (LINKOPT): Fix it to actually use $(TERMLIBS). - (CFLAGS): Add -DHAVE_SYS_STAT_H. - -2005-08-30 Bastian Maerkisch <bmaerkisch@web.de> - - * src/os2/gclient.c (ReadGnu): implement stubs in pm terminal to - map RGB colors to nearest color from current pm3d palette - -2005-08-22 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c src/color.h: New routine set_rgbcolor(). - - * src/misc.c (parse_colorspec) src/graph3d.c: Allow color - specification "rgb variable", in which case the RGB color is taken - from an additional field of the "using" specifier. - - * docs/gnuplot.doc demo/rgb_variable.dat demo/rgb_variable.dem NEWS: - Explain and give example of reading rgb color from input data field. - -2005-08-19 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata) src/graph3d.c(plot3d_points): - Variable pointsize should be honored in plot style "linespoints" - exactly as in style "points". - -2005-08-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (multiplot): Extend description of how - multiplot actually works on interactive displays. Place a hint - about using 'clear' for insets. Closes RFE #1256148. - -2005-08-16 Harald Harders <h.harders@tu-bs.de> - - * src/save.c (save_tics): Fix inconsistency in the syntax of the saved - "set tics" command and the input "set tics" command. SF patch [1261165] - -2005-08-12 Juergen Wieferink <wieferink@freenet.de> - - * src/datafile.c (initialize_use_spec df_open df_close) - src/fit.c (error_ex fit_command) src/set.c (set_palette_function): - Use free_at() rather than free() for action table pointers. - Fixes minor memory leaks found by valgrind. - - * src/eval.c (free_at): Handle null pointer gracefully. - - * src/gadgets.h src/graphics.h src/plot2d.c src/plot3d.c: - Consistent initialization of the title_no_enhanced flag. - -2005-08-12 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1234632] gnuplot history file without GNU readline - - * NEWS src/gp_hist.h src/history.c src/plot.c src/set.c src/show.c - src/syscfg.h src/unset.c: This patch enables GNUPLOT_HISTORY if gnuplot - is not compiled with GNU readline. History is automatically saved on - program exit and reloaded on start. "set/unset history" commands are - supported. - - * configure.in config/makefile.os2: Other makefiles should be adjusted - to allow GNUPLOT_HISTORY to be defined when HAVE_LIBREADLINE is not. - -2005-08-10 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Restore original background pixel setting after - text rotation. - -2005-08-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/winmain.c: Define _WIN32_IE independent of particular - compilers, conditional only on whether it's already defined. - -2005-08-08 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Keep track of current color regardless of whether - it was set by term->set_color() or term->linetype(). - -2005-08-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/gp_hist.h src/history.c src/plot.c src/plot.h src/set.c - src/show.c src/unset.c: Move variable gnuplot_history_size from - plot.h to gp_hist.h. - -2005-08-08 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/datastrings.dem demo/epslatex.dem demo/histograms.dem - demo/layout.dem demo/pm3d.dem: Update for "set tics scale". - -2005-08-07 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Do away with special (GC *)gc_pm3d; use the same gc - for all normal plot elements except pattern fill. Tweak the algorithm - for text rotation as suggested long ago by Dave Denholm. The default - method should now work on all TrueColor or DirectColor displays. The - X resource "gnuplot*fastrotate: off" still allows fall-back to a slower - but guaranteed algorithm if necessary. Fixes bug #1251193. - -2005-08-07 Petr Mikulik <mikulik@physics.muni.cz> - - Let PM3D be always compiled in. Thus, this patch removes all constructs - #if(n)def PM3D and does a necessary code clean-up. - - Files changed: - - configure.in - - config/(11 files) config.amg config.cyg config.mgw config.os2 config.wc - makefile.cyg makefile.mgw makefile.nt makefile.os2 makefile.oww - makefile.win - - demo/world2.dem - - src/(37 files) axis.c axis.h color.c color.h command.c contour.c - datafile.c gadgets.c gadgets.h getcolor.c getcolor.h gplt_x11.c - gplt_x11.h gp_types.h graph3d.c graph3d.h graphics.c graphics.h - hidden3d.c misc.c misc.h mouse.c plot2d.c plot3d.c plot.c pm3d.c save.c - set.c setshow.h show.c tables.c tables.h term_api.h term.c unset.c - util3d.c util3d.h - - src/os2/gclient.c src/os2/pm_msgs.h - - src/win/wgraph.c - - term/(22 files) README aquaterm.trm cgm.trm dumb.trm emf.trm - estimate.trm fig.trm gd.trm ggi.trm metapost.trm mif.trm pdf.trm pm.trm - post.trm pslatex.trm pstricks.trm svg.trm tgif.trm vgagl.trm win.trm - x11.trm xlib.trm - -2005-08-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c (set_tics): Fix non-ANSI ordering of declaration. - -2005-08-06 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c: Remove C++ style comments. - - * src/gplt_x11.c: Replace non-standard type caddr_t with XPointer. - - * src/set.c (set_tics) src/tables.c src/tables.h: Do not consider - use of old syntax as an error. (E.g. 'set key outside below') - -2005-08-05 Ethan Merritt <merritt@u.washington.edu> - - * demo/starmap.dem: Change style slightly for use with webify. - - * demo/html/index.save: Add tics demo. - - * demo/html/webify.pl: Use in-tree gnuplot executable, if available. - -2005-08-05 Harald Harders <h.harders@tu-bs.de> - - SF patch [1245558] Different ticscale and ticpos for different axes - - * NEWS docs/gnuplot.doc src/axis.c src/axis.h src/color.c src/graph3d.c - src/graphics.c src/save.c src/set.c src/show.c src/term.c src/unset.c - demo/all.dem demo/tics.dem demo/html/Makefile: This patch enables the - user to specify different ticscales and tic-positions for each axis: - - new: "set tics" can change most settings for {x|y|z|cb}tics at once; - - new: tic scale can be set per axis using "set {x|y|z|cb}tics scale"; - - change: "set ticsscale" is deprecated, use "set tics scale" instead. - -2005-08-04 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c(store_label get_data) src/plot3d.c (get_3ddata): - For 'plot with labels', instead of treating a missing label as an - undefined point, treat it as a blank label. That allows putting a - point on the plot even if there is no label to go with it. - Bug #1251922. - - * src/datafile.c: Better fix for mis-match of column header to column - values in the case of `set style histogram errorbars` with - `set key autotitle columnheader`. Supersedes 2005-07-30 patch. - -2005-08-04 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1233984] Directory selection dialog for Win32 - - * src/win/wgnuplot.mnu src/win/wmenu.c: Add new directory selection - dialog to Win32 platform. If SHELL_DIR_DIALOG is defined the common - directory dialog of the windows shell is used. Otherwise a modified - version of the common file open dialog is used. The new code is only - active if WITH_ADV_DIR_DIALOG is defined. - - * src/win/wcommon.h: Make the new directory dialog the default by - #defining WITH_ADV_DIR_DIALOG and SHELL_DIR_DIALOG. - -2005-08-04 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1233987] WIN32: save wgnuplot.ini to user's appdata dir - - * src/plot.c src/plot.h src/win/winmain.c (WinMain): Change default - location of wgnuplot.ini to the user's APPDATA directory on Win32 - platforms. This is necessary since the directory of the executable can - not be assumed to be writable. - - * src/win/wcommon.h: Make the new behaviour the default by #defining - INIFILE_IN_APPDATA. - -2005-08-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/contour.c: CodeStyle cleanup (no superfluous pointer casts, - sensible indentation). - (contour): Logarithmize parameters of incremental - contour specification to imitate the way other ticks on log axes - behave. - (edge_struct, poly_struct, cntr_struct): Typedef'd these structs, - use typedef names all over the place to render source less wordy. - -2005-08-03 Ethan Merritt <merritt@u.washington.edu> - - Move generation of html demo files into a separate subdirectory. - - * demo/html/index.save demo/html/gnuplot_demo.css: - Template files for html pages. - - * demo/html/Makefile demo/html/webify.pl: Modify webify.pl to accept - the "set term" parameters from environmental variable DEMOTERM. Create - a separate Makefile just for generation of html pages. Add special - case terminal parameters for several demos. - - * demo/multiplt.dem: Add a missing "pause -1" command so that the - webify script works properly. - -2005-08-03 Lars Hecking <lhecking@users.sourceforge.net> - - * docs/Makefile.in: Update CLEANFILES and clean-generic. - -2005-08-03 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: Introduce variable OPTIONS for compile time - switches like PM3D, USE_MOUSE etc. This makes addition of options - easier. - - * src/win/winmain.c src/win/wcommon.h: Add new function GetDllVersion() - which can determine the version of windows's shell and common control - libraries. It is only included if WANT_GETDLLVERSION is defined. - - * src/win/wprinter.c src/win/wgraph.c src/win/wgnuplib.h - src/win/wcommon.h: Rename struct PRINT to GP_PRINT due to name - collision with windows shlobj.h header file. - -2005-08-02 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.mgw: Some more #(un)define for MingW >= 3.0. - -2005-08-01 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_position): OK, so maybe we have to print out - the full "offset ...." even if it specifies zero offset. - -2005-07-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/history.c: Removed old comments. - -2005-07-31 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c: #include gpexecute.h for OS/2 without USE_MOUSE. - - * src/show.c (show_version): Correct spelling error HIDDEN3D_GRDBOX => - HIDDEN3D_GRIDBOX. - - * src/term.h: Fix compilation with SHORT_TERMLIST. - - * src/gplt_x11.c: Remove reference to os2/dialogs.h. - - * src/mouse.c: Use OS/2 message definition file os2/pm_msgs.h. - - * config/makefile.os2: Fix build of gplt_x11.exe on OS/2. - -2005-07-30 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.mgw: Have HAVE_ERF, HAVE_ERFC for MingW >= 3.0. - -2005-07-30 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_position and its callers): Move printout of the - "offset" keyword into shared routine save_position(). That way we - can efficiently skip the whole thing if the offset is zero. - - * src/datafile.c (df_tokenise): Add back a copy and a comment - corresponding to the old sscanf() input code. This makes is easy if - someone wants to compare new and old code paths. - - * src/datafile.c (df_open): Fix mis-match of column header to - column values in the case of `set style histogram errorbars` with - `set key autotitle columnheader`. - -2005-07-29 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Added missing text for a "pause -1". - -2005-07-29 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gadgets.h src/graph3d.c src/graphics.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h: Revamping of key placement - routines. Backward compatible with previous placement options but now - there are new, more flexible options. - - {{inside | outside} | {lmargin | rmargin | tmargin | bmargin} - | {at <position>}} - {left | right | center} {top | bottom | center} - {vertical | horizontal} {Left | Right} - - controlling key placement and key element arrangement. - - * docs/gnuplot.doc: Updated documentation about new key options. - "at" for manual placement was included in the documentation even though - leaving "at" out will still work. - - * demo/bivariat.dem demo/electron.dem tutorial/eg3.plt tutorial/eg6.plt - tutorial/tutorial.tex: Changed all uses of manual key placement to - include "at". - - * demo/key.dem demo/all.dem: Added demo to show variety of key - placements, and added demo to the all demo file. - - * NEWS: Added note about more versatile key placement. - -2005-07-28 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (term_start_multiplot mp_layout_size_and_offset): - `set multiplot {title "string"} {layout ... }` - Add a page title option for multiplots. In auto-layout mode, - reserve space at the top of the page for this title, and scale - all the component plots accordingly. RFE #992349 - - * demo/layout.dem: Add sample titles to the plots in this demo. - - * src/graphics.c (place_histogram_titles): Fix bug that tried to get - the title offsets from the wrong data structure. - -2005-07-28 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg config/config.mgw config/config.os2: Added #defines - GP_MACROS, GP_STRING_VARS, HIDDEN3D_GRIDBOX, HIDDEN3D_QUADTREE, - HAVE_PWD_H, __PROTOTYPES. - -2005-07-28 Bastian Maerkisch <bmaerkisch@web.de> - - SF patch [1234634] OS/2: use generic enhanced text in pm terminal. - - * config/config.os2 config/makefile.os2 src/os2/gclient.c - src/os2/gnupmdrv.c src/os2/gnupmdrv.h src/os2/pm_msgs.h term/pm.trm: - Use generic enhanced text in pm terminal -- Let pm terminal use the - new generic routines for enhanced text. Currently the only new feature - this provides is overprinted text. The binary interface between pm.trm - and gnupmdrv has been extended slightly. - - To switch back to the old behaviour compile with PM_OLD_ENHANCED_TEXT - defined. The old code is compiled into gnupmdrv in any case to - maintain binary compatibility with programs using gnupmdrv like GP/ARI - or Term::Gnuplot (but I haven't acually checked that). - -2005-07-27 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_timestamp) docs/gnuplot.doc: - Drag the "set timestamp" code into the modern era by accepting options - in any order. Add keyword "font" in front of the optional font string, - but for backwards compatibility do not require it. Update the - documentation to reflect current treatment of offset and font options. - -2005-07-26 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_xyzlabel): Check to see if next token is a valid - keyword before trying to parse it as a string. Fixes bug on, e.g. - 'set title offset 1,1' - - * src/save.c (save_set_all): Write out keyword "offset" where - appropriate. - -2005-07-25 Ethan Merritt <merritt@u.washington.edu> - - * src/stdfn.c src/stdfn.h: Add a private function gp_strtod() in case - there are platforms that do not have a working strtod(). - - * src/datafile.c (df_tokenise): Use strtod(), via gp_strtod(), - to parse values read from a data file. On long input lines, this is - substantially faster than using sscanf(). The previous fast path - (non-Fortran) used atof() rather than strtod(), but that does not - give a status return or character length consumed. - -2005-07-25 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm (PDF_options PDF_linewidth): libpdf does not like zero - linewidth. Limit linewidths to 0.1 or greater. - - * src/command.c (exit_command) docs/gnuplot.doc: - New command 'exit gnuplot' will unconditionally exit gnuplot immediately - even if invoked from within several nested layers of input stream. This - allows, for instance, binding a hotkey that can terminate gnuplot in - response to a keystroke in the plot window. - -2005-07-25 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/save.c src/set.c src/show.c - src/unset.c docs/gnuplot.doc: - New command 'set datafile fortran' to enable parsing of input files - containing Fortran D or Q floating constants. This was the default - until now, but it requires a second check of every value parsed, - which obviously slows down the input procedure. Now the second pass - is disabled by default, and only occurs if the fortran parsing option - is selected. Addresses complaints of slow input from large files. - -2005-07-23 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (print_command): Re-arrange code so that an expression - being printed is only evaluated once, rather than twice. - Fixes bug #1173508. - -2005-07-23 Harald Harders <h.harders@tu-bs.de> - - * src/term.c (write_multiline): Use estimate_strlen rather than strlen. - - * term/post.trm: Use a more foolproof method of estimating the width of - strings containing overprint characters. - -2005-07-22 Ethan Merritt <merritt@u.washington.edu> - - * src/parse.c (string_or_express): Remove unused variable. - -2005-07-22 Ethan Merritt <merritt@u.washington.edu> - - Introduce a new terminal API routine (term->layer)(int layer). This - is used by the epslatex terminal (pslatex.trm) to handle the - "front" or "back" text attribute. In the future it might be used to - toggle other layering effects (transparency? contour levels?). - - * src/term_api.h term/README: Define new entry point and a set of - layer names to pass into it. - - * src/graph3d.c (do_3dplot) src/graphics.c (do_plot): - Call t->layer(TERM_LAYER_FRONTTEXT) and t->layer(TERM_LAYER_BACKTEXT) - at the relevant stages of plot generation. - - * src/term.c (term_start_plot term_end_plot): - Call t->layer(TERM_LAYER_RESET) and t->layer(TERM_LAYER_END_TEXT) - at start and end of each plot, respectively. - - * term/pslatex.trm: Implement EPSLATEX_layer() mechanism. - -2005-07-20 Juergen Wieferink <wieferink@freenet.de> - - * src/parse.c (string_or_express): Do not call int_error() for invalid - expressions. Fixes "(s)plot 1/0". - -2005-07-19 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Add a warning that Win2000 cannot handle filled - polygons with more than 50 vertices. Not our fault! Bug #955074. - -2005-07-18 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_parse_string_field): Fix tab-containing string - constant which was broken when indent replaced tabs with spaces. - - * configure.in src/term.h term/post.h term/post.trm term/pslatex.trm: - Repair the ordering of configuration options for building the post, - epslatex, and pslatex terminals. This selection is now made at the top - of term.h, as is selection of the enhanced text stringlength estimation - pseudo-terminal. - -2005-07-16 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (load_command): Issue an error message if any - tokens or further commands follow a "load <file>" command. - Sourceforge patch #1210835. - -2005-07-16 Ethan Merritt <merritt@u.washington.edu> - - * demo/stringvar.dem: Add a demo showing a plot command that - generates datafile names via a string-valued function, now possible - because of the new string_or_expression code. - -2005-07-16 Juergen Wieferink <wieferink@freenet.de> - - Allow a single plot or splot command to contain a mixture of - functions, e.g. sin(x), and constant expressions including - string-valued constant expressions, e.g. sprintf("file.%d",n). - - * src/datafile.c (df_open) src/datafile.h src/plot2d.c - src/plot3d.c src/fit.c src/set.c: - Parse filename from plot/splot/fit command before calling df_open(), - and pass the resulting string to df_open() as a new argument. - - * src/parse.c (string_or_expression) src/parse.h: - New function that can safely parse either a constant expression - or a dummy function. string_or_expression() will return a pointer - to a string if it successfully parsed a string-valued expression. - It will return a pointer to an action table if it successfully - parsed a dummy function. If it parsed a non-string expression, both - the string pointer and the action table pointer will be NULL. - - * src/eval.c (imag): - The use of string_or_expression() by splot/plot/fit allows one to - mix string-valued functions and "true" functions in the same command. - However, a string-valued function containing what looks like a dummy - variable (normally x or y) is not parsed correctly. This error is - eventually discovered and reported in imag(). - -2005-07-16 John Bollinger <bbands@yahoo.com> - - * demo/finance.dem demo/finance.dat: New demo illustrating - various gnuplot features applied to display of financial data. - -2005-07-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/term.c (enhanced_recursion) [POSTSCRIPT_DRIVER]: added - a conditional to allow builds without PostScript/pslatex drivers - again. - - * term/pslatex.trm (PSLATEX_DRIVER): Define this macro here, where - it belongs. - - * term/post.trm (POSTSCRIPT_DRIVER): Likewise. - - * term/post.h: Remove #define PSLATEX_DRIVER --- it had no - business sitting in here. - - * src/term_api.h (PC_setup) [PC]: Add missing prototype. - - * src/gadgets.c: Add missing #include "graph3d.h". - - * src/datafile.c: Re-indented almost the entire file. Was - violating CodeStyle all over the place. - - * src/term.h [DJGPP, DJSVGA]: Allow build without GRX (by setting - DJSVGA to zero). - - * config/makefile.dj2 (EXENAME): Removed version number from name. - (TERMFLAGS): DJSVGA definition moved to front, explain that - setting this to zero has a different effect now. - (TERMLIBS): Renamed to usual name (was LDFLAGS). - (CFLAGS): Updated to support build of current source. - (LINKOPT): Removed entry for GRX library. - - * src/breaders.h: Added missing HAVE_CONFIG_H conditional. - -2005-07-14 Ethan Merritt <merritt@u.washington.edu> - - * src/internal.c src/term.c src/gplt_x11.c term/gd.trm: Fix mangled use - of FPRINTF debugging macro. - - * term/README term/gd.trm: Clarify documentation of term->suspend and - term->resume. Remove TERM_CAN_MULTIPLOT flag from gd.trm, since it has - no suspend/resume entry points. - -2005-07-13 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (do_system_func): Fix incorrect placement of final - return code outside of the main conditional code segment. - Fixes compilation error under mingw reported by Dietmar Warning. - - * src/graph3d.c (do_3dplot) src/graphics.c (do_plot) - src/term.c (test_term) term/post.trm term/pslatex.trm: - Remove all epslatex-specific code from the gnuplot core routines. - It was not working anyhow. This reverts the epslatex driver to - the old behaviour of ignoring any distinction between "front" and - "back" text labels. It also clears the deck for a different - approach that adds a terminal API routine to handle this sort of - terminal-specific requirement (SourceForge patchset #1191202). - -2005-07-11 Ethan Merritt <merritt@u.washington.edu> - - * src/breaders.h src/datafile.c src/datafile.h src/fit.c src/plot2d.c - src/plot3d.c src/set.c: Simplify conditional compilation controlled by - --enable-binary-data-file. Instead of having a different number of - parameters to df_readline() and plot_option_binary(), expost a uniform - definition but add an auxilliary routine df_set_plot_mode() in the - BINARY_DATA_FILE case. Also clean up the general coding style and remove - redundant structure definitions. This prepares for easier implementation - of Juergen Wieferink's "plot string or expression" patch. - -2005-07-10 Harald Harders <h.harders@tu-bs.de> - - * docs/psdoc/ps_symbols.gpi: Spiffed up sample page for PostScript - symbols and linetypes. - -2005-07-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fix typos. - -2005-07-10 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/graph3d.c src/graphics.c src/term.c: - Whitespace cleanup. - - * src/internal.c (f_gprintf): Use dynamic allocation for output buffer. - -2005-07-10 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (do_system_func) src/command.h src/eval.c - src/internal.c (f_system) src/internal.h src/scanner.c (substitute): - New built-in string function system("command") which executes a shell - command and returns the resulting output stream as a string variable. - Consolidate this code with existing shell escape code (backticks) via - a new routine do_system_func(). - - * docs/gnuplot.doc: Document new system("command") function. - -2005-07-09 Juergen Wieferink <wieferink@freenet.de> - - * src/eval.c src/eval.h src/parse.c src/parse.h: Consolidate code - in add_udv() and add_udv_by_name(). Move add_udv_by_name() from parse.c - to eval.c so that lower level routines in internal.c and eval.c do not - have to include parse.h. - -2005-07-08 Juergen Wieferink <wieferink@freenet.de> - - * src/internal.c (f_call f_calln): Free all strings used as dummy - variables; fixes memory leak. - - * src/eval.h src/eval.c: New function free_at() that frees all strings - stored in an old action table so that there is no memory leak when the - table is re-used. - - * src/command.c (define): Free old action table if a function is - redefined; fixes memory leak. - - * src/parse.c (temp_at parse_primary_expression): Recode to use new - free_at() routine. - -2005-07-08 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/internal.c (f_range f_strstrt) - src/parse.c (parse_primary_expression): - - Switch convention of substring indexing from C-like (first character has - index 0) to Fortran-like (first character has index 1). This makes the - routines strstrt() and word() consistent with each other, and makes the - range specifier form string[beg:end] consistent with both of them. - - * demo/stringvar.dem: Expand demo to illustrate use of the substring - operator and the various string string functions. - -2005-07-07 Ethan Merritt <merritt@u.washington.edu> - - * src/gp_types.h: Provide a pseudo-plot type NODATA to indicate that - this plot is being skipped because the datafile was empty. - - * src/plot2d.c (eval_plots): When no valid points are found in a data - file, issue a warning message, mark the current plot as NODATA, but then - process the rest of the command line as normal rather than bailing to - command line. This is a return to the behavior of 3.7.2, except that now - there is an explicit warning message for each empty file. If other code - sections code are sensitive to lack of data, they can test for NODATA. - Addresses enhancement requests #1063873 and #1204125. - -2005-07-06 Ethan Merritt <merritt@u.washington.edu> - - * src/internal.c (f_sprintf): Switch from using a fixed length output - buffer to a dynamically-allocated one. The string output by sprintf is - no longer limited to 80 characters. - - * demo/stringvar.dem: Test dynamic extension of sprintf output buffer. - - * src/datafile.c (df_readline): Only call add_key_entry() if the current - plot is really a histogram; otherwise specifying 'using key(<n>)' - causes a segfault on non-histogram plots. - - * docs/gnuplot.doc: Clarify the method of auto-generating key titles - and tic labels for columnstacked histogram style. - -2005-07-03 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (system_command): Simplify code by using - try_to_get_string() to extract the command string from input line. - - * docs/gnuplot.doc: Fix typo in the documentation for words(string). - Add mention that `set style fill` applies to filledcurves. - -2005-07-03 James R. Van Zandt <jrv@debian.org> - - * term/gd.trm: Document "set output '| display png:-'". - -2005-07-02 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c src/internal.c src/internal.h src/parse.c: - New string-related functions: - + words("string") returns the number of whitespace-separated words in - the string. For example, words("A B C D") = 4 - + word("string",N) returns the Nth word in the string. For example, - word("A B C D",3) = "C" - - * docs/gnuplot.doc: Document new functions word() and words(). - -2005-06-29 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c src/util.h: #define isstringvalue(c_token) to include both - isstring() and, if enabled, isstringvar(). - - * src/plot2d.c src/plot3d.c src/set.c term/emf.trm term/gd.trm - term/post.trm term/tgif.trm term/x11.trm: Modify all callers of - isstring+isstringvar to either use the new combined routine or to call - try_to_get_string() directly and handle both string and non-string - returns. - - * src/axis.h: And one caller was hiding in a macro. - - Fixes the following bugs: - + `plot func(x), FILENAME` gave an error - + `set term pslatex font FONTNAME` should not have been legal - + `set title "foo" -1,-1` (old style syntax with no "offset" keyword) - caused a parsing error - + fixes order-dependence of options to `set term emf` - - There are 60 odd instances of isstring() remaining, many of which are - tests for format strings (e.g. `set format xy "format_string"`). - -2005-06-28 Ethan Merritt <merritt@u.washington.edu> - - * docs/checkdoc.c: Allow for lines beginning with '=' in gnuplot.doc - (now used to indicated an explicit index entry). - -2005-06-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/set.c (parse_label_options): Allow string variable or expression - for font name. - -2005-06-27 Ethan Merritt <merritt@u.washington.edu> - - * src/internal.c (f_calln): Prevent buffer overflow if more parameters - than expected are passed to a function. - -2005-06-26 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/Makefile.in: Replace "sort" by "LC_ALL=C sort" when building - allterm.h to avoid localized sorting. - -2005-06-24 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Rewritten section for "help exit". - -2005-06-22 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c src/internal.h src/internal.c (f_strstrt): New built-in - string function that searches for a substring within a longer string. - Equivalent to C library function strstr(haystack,needle) except that - rather than returning a pointer, it returns an index. Example: - n = strstrt("haystaneedleck","needle") - sets n to 6. - - * demo/stringvar.dem docs/gnuplot.doc: Document and add to string demo. - - * NEWS: Update list of new features. - -2005-06-20 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_xyzlabel): Allow string variable or expression for - font name. This is a variant of a patch from Shigeharu TAKENO. - - * src/plot2d.c (get_data histogram_range_fiddling): Clean up histogram - code dealing with missing data or blank lines. Fixes an autoscaling bug - if a data file ends with blank lines. - -2005-06-19 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src src/set.c (set_decimalsign): New command option - `set decimalsign {locale {"locale_spec"}}` - takes the decimal sign character from the locale specified for the - locale "locale_spec" or from the locale specified in the enviromental - variables LC_NUMERIC, LC_ALL, or LANG. - - * src/save.c (save_set_all): Save the current locale for LC_NUMERIC - as well as the actual current value of decimalsign. - - * src/show.c (num_to_str) src/util.c (gprintf): Allow for the - possibility that the current decimal sign is a comma rather than a dot. - - * src/variable.c (locale_handler): Expand output by `show locale` to - show the current values of LC_NUMERIC LC_CTYPE and LC_TIME. - - * src/unset.c (unset_decimalsign): If the decimalsign is reset using - `unset decimalsign`, then set the internal locale to C. - -2005-06-18 Harald Harders <h.harders@tu-bs.de> - - * docs/gnuplot.doc: Revise the section on "set arrow". - -2005-06-16 Harald Harders <h.harders@tu-bs.de> - - * docs/gnuplot.doc: Document `set style line <n> linecolor <colorspec>` - -2005-06-15 Ethan Merritt <merritt@u.washington.edu> - - * demo/stringvar.dem docs/gnuplot.doc src/eval.c: Rename substring - built-in function to substr(string,beg,end). - -2005-01-15 Bastian Maerkisch <bmaerkisch@web.de> - - * term/pm.trm src/os2/gclient.c src/os/pm_msgs.h: Move definition of - message codes for communication between gnuplot (pm.trm) and gnupmdrv - (gclient.c) to a new separate file pm_msgs.h. Replace hard-wired codes - in gclient.c by symbolic names. - - * term/pm.trm (PM_set_font): Fix font selection for pm terminal in case - of empty font string. - - * src/plot.c (RexxInterface): Replace input_line[] by gp_input_line[] - in code sections which are only compiled on OS/2. - - * src/os2/gclient.c (ParseText): Fix super- and subscripts in enhanced - mode of the pm terminal. - -2005-06-14 Ethan Merritt <merritt@u.washington.edu> - - New functions related to string variables: - sub = "ABCDEF"[beg:end] - sub = substring("ABCDEF",beg,end) - len = strlen("ABCDEF") - - * src/parse.c (parse_primary_expression): Check for a postfixed - range specifier at the end of parsing an expression. - - * src/internal.c (f_range) src/internal.h: New internal function - f_range() that applies a range specifier to a string in order to - extract a substring. Used both by substring() and by [*:*] - - * src/eval.c src/eval.h: Define an index code for the internal - function f_range(). Make it accessible also as a function - substring("string",beg,end). Also define a function strlen("string"). - - * demo/stringvar.dem demo/all.dem docs/gnuplot.doc: - Document and provide examples of substring syntax. - Add string variable demo to all.dem - -2005-06-13 Frank Maas / Ethan Merritt - - * docs/gnuplot.doc: Clarify histogram documentation to explain that - histograms always use x1 axis coordinates, but other plot elements on - the same plot may freely use either x1 or x2. - -2005-06-13 KITA Toshihiro <t-kita@cc.kumamoto-u.ac.jp> - - * docs/gnuplot.doc: Update `set xlabel` example to use the `offset` - keyword. - -2005-06-04 Juergen Wieferink <wieferink@freenet.de> - - * src/parse.c eval.c eval.h internal.c command.c set.c: - Code clean up: replace explicit test-and-free of string values with a - call to gpfree_string(). - - * src/datafile.c (df_open): Clean up parsing of data file name, - using generic functions try_to_get_string() and gpfree_string(). - -2005-06-04 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c src/eval.h src/show.c src/setshow.h: Move the routine - disp_value() and its helper num_to_str() from eval.c to show.c. This - reduces the need for mutual cross-referenced #includes, and anyway the - routine belongs in either show.c or save.c because that's what it does. - -2005-06-04 Juergen Wieferink <wieferink@freenet.de> - - * src/show.c (disp_value) src/setshow.h: Introduce an additional - parameter to disp_value() that controls whether or not quotes are - printed around strings on output. This allows simplification of the - code at all call sites. - - * src/command.c (print_command) src/internal.c (DEBUG code only) - save.c (save_variables__sum) show.c (disp_at show_variables): - Modify call sites of disp_value() to explicitly request quoted strings - if necessary. - -2005-06-02 Ethan Merritt <merritt@u.washington.edu> - - * docs/README docs/titlepag.tex docs/doc2tex.c docs/doc2texi.el: - - Add a mechanism to auto-generate an index for the documentation via the - TeX package "makeindex". All TeX-derived documentation formats will - include the index. Juergen Wieferink has similarly modified the - generation of gnuplot.info. A keyword is inserted in the index if - it is found on a line of gnuplot.doc beginning with with '?' or '=', - or if it appears as the final word of a phrase wrapped in backtics. - This latter rule picks up cross-reference sites, but may be disabled - by compiling doc2tex with -DNO_CROSSREFS. - - * docs/doc2.gih.c docs/doc2hlp.c docs/doc2ipf.c docs/doc2ms.c docs/doc2rnh.c - docs/doc2rtf.c: Ignore leading '=' character in input stream. These - conversion tools do not know how to generate an index. - - * docs/gnuplot.doc term/gd.trm term/x11.trm: Add some explicit indexing - entries (keywords with a '=' in the first column of the line). - - * docs/Makefile.in: Switch generation of html documentation to use - latex2html toolchain rather than going via gnuplot.texi - -2005-06-02 Juergen Wieferink <wieferink@freenet.de> - - * src/eval.c (Gstring gpfree_string) src/eval.h: Separate the freeing - of an old string variable from the creation of a new one. New function - gpfree_string(). - - * src/mouse.c src/internal.c (f_gprintf f_sprintf f_concatenate) - src/command.c (define) src/mouse.c (load_mouse_variables): Convert to - use new gpfree_string() function. Fix memory leaks from re-use of - string variable names. - -2005-06-01 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c docs/gnuplot.doc src/graphics.c: Update old comments and - documentation; quiet compiler warnings about uninitialized variable. - -2005-05-27 Daniel Sebald <daniel.sebald@ieee.org> - - * term/post.trm: Fix incorrect fprintf statement that was causing - compiler warnings. - -2005-05-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gplt_x11.c: Lots of coding style changes, mainly missing - blanks after commas. - (main) [USE_X11_MULTIBYTE]: Reset LC_NUMERIC locale to "C", after - all others have been set to the user's selection for purposes of - multi-byte font support. - -2005-05-25 Daniel Sebald <daniel.sebald@ieee.org> - - SF Patch [1117060] Mod to post.trm for PostScript Level 1 images. - - * term/post.trm: New routine PS_encode_image(), new postscript variable - InterpretLevel1 and some other changes. - -2005-05-24 Ethan Merritt <merritt@u.washington.edu> - - * src/tables.c: Allow shorthand for "set macros". - - * src/term_api.h term/README: Add new terminal flag TERM_NO_OUTPUTFILE. - - * src/term.c (term_init): As per discussion on gnuplot-beta, when - changing to a new terminal type, check flags for TERM_NO_OUTPUTFILE - associated with the new type. If present, then close current output - file cleanly rather than reopening and overwriting it. - Fixes bug #1182499. - - * term/x11.trm term/win.trm term/pm.trm term/be.trm term/aquaterm.trm: - Mark terminal as TERM_NO_OUTPUTFILE. - - -2005-05-23 Ethan Merritt <merritt@u.washington.edu> - - * term/estimate.trm (ENHest_put_text): Track estimated limits on - string y extent also. - -2005-05-22 Peter Weilbacher <paepse@users.sourceforge.net> - - * src/gp_hist.h src/readline.c: Fix conditional dependencies on - READLINE and HAVE_LIBREADLINE so that ./configure + build is - clean with all three readline options. - -2005-05-22 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm term/mif.trm term/pdf.trm: Code cleanup - remove static - initializers from the TERM_PROTO code block. ggi.trm has these also, - but I can't test for correctness after a change so I don't want to - change it. Remove obsolete comments. - -2005-05-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (PRINT_MESSAGE_TO_STDERR): New macro: invokes printf - while protecting itself from current_prompt == NULL. - (os_error, int_error, int_warn): Use new macro. - -2005-05-20 Peter Weilbacher <paepse@users.sourceforge.net> - - SF Patch [981476] Get history functions working with GNU readline - - * command.c (history_command): Let the "history" command be available - also for GNU readline, i.e. HAVE_LIBREADLINE. - - * history.c: Make routines for GNU readline compatible to those of - gnuplot readline. - -2005-05-19 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline) src/gadgets.h src/save.c (save_set_all) - src/set.c (set_bars parse_histogramstyle) src/show.c (show_histogram) - src/plot2d.c (get_data histogram_range_fiddling) - src/graphics.c (do_plot plot_bars plot_boxes): New histogram plot mode - - set style histogram errorbars {gap <g>} {linewidth {lw}} - - Identical to 'set style histogram clustered' except that a second - column of input data (required) is used to generate error bars at the - top of each box belonging to the histogram. - - * docs/gnuplot.doc: Document the addition of a new histogram - plot mode and associated options for 'set bars'. - -2005-05-18 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_allzeroaxis): Fix parsing error (bug #1204444). - -2005-05-16 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (eval_3dplots): Prevent parser from getting into an - infinite loop when parsing 'splot with vectors' and no additional - options (bug #1203139). - - * src/graph3d.c (do_3dplot): Show key sample for 'splot with vectors'. - -2005-05-15 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_terminal): That last change wasn't popular. - Instead, provide additional (but not complete) backward - compatibility by doing an implicit "unset table" whenever the - terminal is changed. - -2005-05-14 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_terminal): Give up on trying to provide backward - compatibility for the old 'set term table' command; just issue a - warning and leave the current terminal unchanged. - -2005-05-13 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (ignore_enhanced): Force a return to the default font. - Fixes bug #1194516. - - * term/README: Document the fact that term->set_font("") is expected - to restore the terminal's default font. This was already true, but - not mentioned in README. - -2005-05-13 Petr Mikulik <mikulik@physics.muni.cz> - - * term/fig.trm (FIG_linetype): Use the postscript sequence of linetype - colors. - -2005-05-11 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (exec_cmd): Reorder variable declarations to allow - building without binary-polygon support. - -2005-05-09 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Rename static arrays Class[] -> X_Class[] and - Name[] -> X_Name[] to avoid conflict with gcc 4 build environment - under OSX 10.4 as reported by Per Persson. - - * docs/gnuplot.doc: Correct typo referring to 'set pause mouse'. - - * term/post.trm term/pslatex.trm (PSTEX_text): Allow postscript-based - terminals to use fractional font sizes; change ps_fontsize from int to - float, and change relevant format statements from %d to %g. - -2005-05-07 Ethan Merritt <merritt@u.washington.edu> - - * src/unset.c (reset_command): Don't include macro setting in general - `reset`; macro expansion is more likely to be chosen per-input-file - than per-plot. - -2005-05-06 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data histogram_range_fiddling): Treat all boxwidths - as absolute when in HISTOGRAM plot mode. Be more thorough in checking - for histogram entries that extend the X range in auto-scale mode. - Fixes bugs reported by Andrew J Caird. - -2005-05-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (timecolumn): New documentation entry for this - old "secret" function. - - * src/datafile.c (f_timecolumn): Major brush-over, and lots of - comments explaining just how broken this function currently is. - -2005-05-02 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c (isstringvar) src/util.h: Have this function always - return FALSE if gnuplot is configured with --disable-stringvariables. - - * term/tgif.trm (TGIF_options): Accept string variable for font name. - - * src/hidden3d.c (build_networks): If vertex has previously been flagged - as invalid, do not pass it on for further processing. - Fixes bug #1194035 / #1194055 - -2005-04-29 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm term/gd.trm term/pdf.trm src/misc.c src/gplt_x11.c: - Whitespace cleanup. - - * term/gd.trm (PNG_options): Accept string variable for font name. - - * src/plot2d.c (get_data eval_plots): If the x-axis is in log mode, - treat boxwidth as a constant visual width rather than as a constant - number of units along x, which would produce narrower boxes as x - increases. Issue an error message if the x-axis is in log mode - when the plot style is histograms. - - * docs/gnuplot.doc: Document behaviour of 'set boxwidth' for log axes. - - * docs/gnuplot.doc term/x11.trm term/post.trm: Clean up line length - and other issues that cause errors during creation of TeX docs. - -2005-04-29 Petr Mikulik <mikulik@physics.muni.cz> - - * pm3d.c (set_plot_with_palette): Fix for 'splot x, y with pm3d'. - -2005-04-28 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_options): Accept string variables for terminal - options 'font <foo>' and 'title <bar>'. - - * term/post.trm (PS_options) term/emf.trm (EMF_options): - Accept string variable for font name. - -2005-04-28 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.wc: Update for more Watcom-like usage of tools. - - * config/config.wc: New file. Promised long ago, when I added - makefile.wc, finally got round to doing it. - - * config/config.oww, config/makefile.oww: Rewrite for more - features and more Watcom-like usage of tools. - - * src/readline.c [__WATCOMC__]: Add #include <conio.h> for getch() - function. - -2005-04-27 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_label): If the first option after 'set label' is an - expression, handle it appropriately whether it is a numerical expression - that provides the label id tag or a string expression that provides the - label itself. - -2005-04-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c (call_kill_pending_Pause_dialog): Fix accidental - removal of this function caused by yesterday's change. - -2005-04-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wgraph.c (drawgraph): Initialize local variable to avoid - a -Wuninitialized. - - * src/history.c (write_history_n): Only define local is_pipe if - PIPES enabled. Avoids a -Wunused. - - * src/command.c (winsystem): Define this function only if - USE_OWN_WINSYSTEM_FUNCTION is set. Removes a -Wunused. - -2005-04-24 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Fix a typo in the example using enhanced text font sizes. - -2005-04-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (set_plot_with_palette): Show colorbox for 'splot ... with - ... palette'. - -2005-04-23 Ethan Merritt <merritt@u.washington.edu> - - Bug fix: Do not apply axis mapping (e.g. log scale) twice to the - label coordinates in plot style 'with labels'. - - * src/gadgets.h: Define a new "layer" LAYER_PLOTLABELS, which - allows the label-processing code to distinguish labels whose coords - have already been axis-mapped from those where they have not. - - * src/graphics.c (place_labels do_plot) src/plot2d.c (eval_plots) - src/graph3d.c (place_labels3d do_3dplot) src/plot3d.c (eval_3dplots): - Mark the labels making up a 'with labels' plot as belonging to - LAYER_PLOTLABELS rather than to front or back layers. - - * src/gplt_x11.c (exec_cmd): When setting a new font, set it for - both the normal and pm3d graphics contexts. - -2005-04-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.oww, config/config.oww, src/makefile.awc: New - build files for Win32 build using OpenWatcom compiler. - - * src/win/winmain.c (mktemp) [__WATCOMC__]: Added name override to - _mktemp. - (_argv, _argc) [__WATCOMC__]: Added name overrides to __argc and - __argv. - - * src/win/wgnuplib.h: Added #include <windows.h> - - * src/win/pgnuplot.c (_setmode) [__WATCOMC__]: Added name override - to setmode. - - * src/term.c [__WATCOMC__]: Added #include <io.h>. - - * src/syscfg.h [__WATCOMC__]: Added #include <dos.h>. - - * src/stdfn.h [WIN32]: Added #include <windows.h> for necessary - type declarations like DWORD. - - * src/specfun.c (BIGENDIAN): Removed unused definition conflicting - with system headers. - - * src/mouse.c [_Windows]: Added #include "win/winmain.h" for - kill_pending_Pause_dialog() prototype. - - * src/fit.c (ERROR): Renamed to GP_ERROR to avoid conflict with - some system headers. - (FIXED): Renamed to GP_FIXED to avoid conflicts with system - headers. - - * src/command.c [__WATCOMC__]: Don't #include <dir.h>. - - * src/bitmap.c (IN) Macro conflicts with names used by some system - headers. Removed. - (b_setpixel): Replace usage of macro IN by simplified expansion. - - * docs/xref.c (xmalloc): Fixed missing return from non-void - function. - -2005-04-21 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (pause_command) src/command.h docs/gnuplot.doc: - Modify syntax of pause mouse command: - pause mouse {<end_condition>}{,<end_condition>}... {"prompt"} - where <end_condition> is one of - keystroke, button1, button2, button3, any - - * src/mouse.c (event_keypress event_buttonpress event_bottonrelease - event_reset) src/term (term_reset) src/win/wpause.c term/x11.trm: - Test individually for specific end conditions for `pause mouse`. - -2005-04-18 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_linetype) src/save.h src/show.c: Code cleanup. - Provide a single routine to handle all the places that dump information - from a structure of type lp_style_type. This cleans up 9 call sites in - save.c and 9 more in show.c, many of which were not handling the recent - extensions to line types in general. The grid linetypes were not being - saved at all. - - * src/set.c (set_key): Fix parsing bug that caused next item after - 'set key title "Foo"' to be ignored. - - * src/graphics.c (boundary): Fix for bug #1184989. Explicitly test for - absence of any plot titles when sizing the key (avoid divide-by-zero). - -2005-04-18 Petr Mikulik <mikulik@physics.muni.cz> - - * term/fig.trm (FIG_set_color): Support for "textcolor lt". - -2005-04-16 Juergen Wieferink <wieferink@freenet.de> - - * term/pslatex.trm: Clean up macro definitions written to - output file of 'set term epslatex'. - Fixes bug #1162038 "Wrong textcolor in epslatex terminal". - -2005-04-14 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_border): Fix bug in new parsing loop. - -2005-04-14 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/gadgets.c src/gadgets.h - src/graphics.c (do_plot) src/save.c (save_set_all) - src/set.c (set_border) src/show.c (show_border): - Make parsing of 'set border' options independent of their order. - New option 'set border {front|back}'. - -2005-04-11 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Fix for bug #1180853, arrowheads drawn in wrong - color if the arrow body has a specific line style or color. - -2005-04-10 Ethan Merritt <merritt@u.washington.edu> - - * demo/histograms.dem: Correct behaviour of the demo depended - on a bug in the xrange code. Now that the bug is fixed (26-Mar-05) - the demo needs to be fixed also (don't set xrange to [0:*]). - -2005-04-08 Ethan Merritt <merritt@u.washington.edu> - - * Makefile.am configure.in: Continued attempts to make configure - ignore lisp files altogether when --without-lisp-files is chosen. - In this case skip ./lisp subdirectory during 'make' recursion. - -2005-04-08 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Improved 'help cbrange'. - -2005-04-06 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (set_plot_with_palette): Do not set the flag for displaying - colorbox for 'splot ... with rgbimage'. - -2005-04-06 Ethan Merritt <merritt@u.washington.edu> - - * term/README: Show call order of enhanced text mode entry points - and mention that 'set termoption' calls into term->options(). - -2005-04-03 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Allow 'set termoption delay <n>' to change the interframe - gap of a gif animation in progress. - - * term/gd.trm (PNG_options): - Add gif animation option 'loop <repeatcount>'. Protect current animation - state from being reset by a 'set termoption' command, but alow the frame - delay to be changed. List animation options in terminal options string. - -2005-04-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Remove blanks from whitespace-only lines. - -2005-04-01 Juergen Wieferink <wieferink@freenet.de> - - * docs/doc2tex.c: Handle levels 5 and 6 of documentation text as - paragraph and subparagraph, respectively. - -2005-04-01 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add help keyword for 'newhistogram'. - - * configure.in: If the user configures --without-lisp-files then - do not try to run configure in the lisp subdirectory. - -2005-03-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gplt_x11.c (process_event) [!USE_MOUSE]: don't refer to - objects and functions not defined in this case. - - * src/plot3d.c (eval_3dplots) [!GP_STRING_VARS]: Don't call - isstringvar() if feature disabled. - - * src/plot2d.c (eval_plots) [!GP_STRING_VARS]: Likewise. - - * src/show.c (show_command): Fix display of 'zeroaxis' settings - reported by error message. - - * src/set.c (set_command): Likewise. - - * src/unset.c (unset_command): Likewise. - -2005-03-29 Ethan Merritt <merritt@u.washington.edu> - - * demo/candlesticks.dem: Add demo of whiskerbars option. - -2005-03-29 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/plot3d.c src/pm3d.c src/pm3d.h src/save.c - src/set.c src/show.c src/unset.c: Let pm3d drawing be always available - without prior "set pm3d": now you can "splot x*y with pm3d" without - prior "set pm3d". The "explicit" be the default pm3d value after reset. - For compatibility (historical) reasons (color filled pm3d plot - combined with mesh line plot): commands "set pm3d;" and "set pm3d at X - other_opts;" switch pm3d to "implicit". No change for "set pm3d map". - -2005-03-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/pm3d.c (set_plot_with_palette): Add a missing #ifdef - WITH_IMAGE conditional. - -2005-03-27 Ethan Merritt <merritt@u.washington.edu> - - * NEWS configure.in term/gd.trm: Allow storage of a sequence of plots - into a single animated gif file. - set term gif animate {delay <time>} {nooptimize} - Requires libgd version 2.0.29 or better (2.0.33 is recommended). - - * src/plot2d.c (histogram_range_fiddling): Make it more obvious in the - code that histograms always use FIRST_X_AXIS. - -2005-03-26 Ethan Merritt <merritt@u.washington.edu> - - SourceForge patch #1090199 "Extend hotkeys to all open plot windows" - - Implement new option "bind all <key> <command>" that extends - hotkeys to inactive plot windows in addition to the active window. - The code is general, although currently only the x11 terminal - tracks the ID of multiple windows in order to report who is who. - - * src/command.c (bind_command): New keyword "bind {all$windows} ..." - - * src/gpexecute.c (gp_exec_event) src/gpexecute.h: - New parameter holds ID of window from which this event was triggered. - - * src/gplt_x11.c (process_event): Pass ID of originating window to - gp_exec_event() along with the x,y coordinates and keystroke. - Distinguish between active and inactive window by using event code - GE_keypress or GE_keypress_old. You get the window ID in either case. - - * src/mousecmn.h: Add new field int winid to struct gp_event_t. - - * src/mouse.c src/mouse.h: - Add new TBOOLEAN allwindows to the bind_t structure. - New routine bind_all() sets this flag from "bind all <foo> <baz>". - Teach event_keypress() to distinguish between keystrokes from active - or inactive windows, and to load originating window ID into udv - MOUSE_KEY_WINDOW so that it is visible to user-defined commands. - - * src/os2/gclient.c src/win/wgraph.c: - Add extra parameter for window ID in all calls to gp_exec_event(). - - * docs/gnuplot.doc: Document new command option "bind all <key> - <command>". - - * src/mouse.c (event_buttonpress) term/x11.trm (X11_waitforinput): - Do not terminate "pause mouse key" on mouse button clicks. This allows - zoom, select, and other mouse-click operations during the pause. - -2005-03-26 Ethan Merritt <merritt@u.washington.edu> - - SourceForge patch #1120626 (contributed by Frank Maas). - - * src/plot2d.c (histogram_range_fiddling): When processing - histograms, allow auto-scaling of either end of the X-range - individually. - -2005-03-25 Ethan Merritt <merritt@u.washington.edu> - - * config/makefile.amg config/term_pc.h docs/Makefile.in - sec/makefile.all: Remove dependencies involving table.trm. - - * term/table.trm: Remove this file. - -2005-03-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/plot2d.c (eval_plots): Add a missing #ifdef EAM_DATASTRINGS - protection block. - -2005-03-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Don't increment - the default line/point properties for line/point plots if this_plot is - an (rgb)image (the same is already happening for pm3d plots). - Otherwise, "splot 'a.dat' with image,x*y with line" and "... x*y w line, - 'a.dat' with image" draw surface x*y in different colours. - -2005-03-24 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/set.c (set_table) src/unset.c (unset_table) - src/tables.h src/tables.c: - New commands - set table {"outfile"} - unset table - These replace the old 'set term table', which never worked in general. - - * src/gadgets.c src/gadgets.h: TBOOLEAM table_mode and output file - pointer table_outfile shared by plot2d and plot3d in table mode. - - * src/plot2d.c (print_table) src/plot3d.c (print_3dtable): - If table_mode is set we send tabular output to table_outfile, if it was - specified, otherwise send it to gpoutfile. - - * src/set.c (set_terminal): Allow 'set term table' as a special case - backwards compatibility option. It doesn't work all that well, but then - again the original didn't work either. - - * demo/all.dem demo/vector.dem: Rework vector.dem to use the new - commands. This makes it safe to include as part of all.dem because - unlike the old 'set term table' it doesn't trash the current state of - the output device. - - * src/term.c src/term.h: Remove table.trm from the list of terminals. - -2005-03-24 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Initialize the data structure pointer ps_params to - point to the normal postscript mode values; without this, setting - environmental variable GNUTERM to any of the PostScript terminal modes - will cause a segfault on entry. - -2005-03-23 Aapo Lankinen <aapo.lankinen@gmail.com> - - * src/contour.c (contour): Bugfix: logscale on CB was being applied - twice when calculating contour colors. - -2005-03-23 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS src/plot2d.c src/plot3d.c docs/gnuplot.doc: SF patch #1098256 - "Ignore title string after notitle": - Let the string in '{s}plot ... notitle "string"' be silently ignored. - -2005-03-21 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c (eval_3dplots): Better fix for 'set pm3d at X; - splot f(x,y), 'data_file' with pm3d at Y' for data_file with - multiple surfaces. - - * src/graph3d.c (do_3dplot): Remove fix from 2005-03-17. - Fix 'set pm3d at X; splot...with pm3d at Y' - for data files with multiple surfaces. - -2005-03-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc (set title): Add missing keyword "font". - -2005-03-17 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c (do_3dplot): Fix 'set pm3d at X; splot...with pm3d at Y' - for data files with multiple surfaces. - -2005-03-16 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline): Allow for embedded whitespace in the - output of a string-valued expression inside a "using" spec. - - * src/graph3d.c (plot3d_points_pm3d plot3d_points): Remove routine - plot3d_points_pm3d, and handle pm3d-colored points in plot3d_points - instead. This removes any special drawing order for the points. - -2005-03-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (AXIS_ACTUAL_MAX, AXIS_ACTUAL_MIN): New macros to - access range endpoints correctly, even if 'set view map' has mixed - up the internal status. - - * src/util3d.c (IN_AXIS_RANGE): New macro, equivalent to calling - inrange() with the two endpoints of any given axis' range. Makes - code a bit more readable. - (edge3d_intersect): New local macros INTERSECT_PLANE, - INTERSECT_DIAG to centralize lots of very similar code blocks. - Implement fix for clipping of -VERYLARGE points in the presence of - 'set view map' reversed ranges, by using new axis.h macros. - (two_edge3d_intersect): Use new macro IN_AXIS_RANGE, reindent, for - readability. - -2005-03-15 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (set_plot_with_palette): Fix displaying colorbox also for - 'splot ... with image'. - -2005-03-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (set_plot_with_palette): Fix displaying colorbox for 'plot - ... with image'. - -2005-03-12 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Fix bug in initialization order that - prevented "set style data labels" from working in 2D plots. - -2005-03-09 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm term/gd.trm term/pdf.trm term/pm.trm term/post.trm - term/svg.trm term/x11.trm src/gplt_x11.c src/gplt_x11.h: - Modify term->set_color() to handle colorspec type LC_LT. - This has the effect of changing the current line color to that of - default linetype <lc> without changing any other line properties. - - * misc.c (lp_parse) save.c (save_set_all) show.c (show_linestyle) - docs/gnuplot.doc: - Allow line color {linecolor|lc} to be specified separately from the - linetype. For example, this command will give a dashed black line: - set style line 1 lt 2 lc -1 - and the following will give a dashed gold line: - plot sin(x) with lines lt 2 lc rgb "gold" - - * demo/dashcolor.dem: Demo of choosing both linetype (dot/dash pattern) - and linecolor separately. - - * src/misc.c (arrow_parse): Bugfix: Keep current linetype as the default - when parsing possible additional line style options. - -2005-03-06 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline) src/misc.c (parse_colorspec): - Clean up code to remove the remaining 2 compiler warnings in current cvs. - -2005-03-05 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm (PS_options): Patch #1121971. Avoid external - processing of escaped characters in the epslatex header string. - -2005-03-05 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline): Plug a memory leak caused by evaluating - a string-valued expression inside a "using" specification. - - * configure.in /config/config.amg /config/config.cyg /config/config.mgw - /config/config.os2 /src/eval.c /src/eval.h /src/internal.c - /src/internal.h /src/parse.c /src/standard.c /src/standard.h: - - Remove configuration option --disable-defined-var. - Remove the #ifdef GP_ISVAR ... #endif bracketing the corresponding code. - - * term/cgm.trm (CGM_linecolor): Force all line and point color requests - to black if the terminal is in monochrome mode. Bug fix courtesy of - N Matsuda (Tokyo Denki University). - -2005-03-04 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c: Introduce a defined constant MAX_TOKEN_LENGTH - rather than trusting multiple call sites to declare consistently - sized character arrays. - - * src/eval.c src/datafile.h src/datafile.c docs/gnuplot.doc: - New internal function f_stringcolumn() usable only inside a "using" - specification; pushes the content of a data column onto the evaluation - stack as a string variable. - Syntax: - plot 'foo' using (stringcolumn(1) eq "baz" ? column(2) : column(3)) - - * src/datafile.c (df_readline df_3dmatrix df_readbinary): - Set a flag to indicate that we are in the process of evaluating a - "using" specification. - - * src/datafile.c (f_column f_timecolumn f_stringcolumn): - Report an error if any of the <xxx>column() functions are called - outside the context of a "using" specification. - - * configure.in: Remove the "EXPERIMENTAL" warning from the histogram - and datastrings options; they've had 2 years of testing. - -2005-03-02 Ethan Merritt <merritt@u.washington.edu> - - * src/unset.c (unset_historysize): Rearrange #ifdefs for GNUPLOT_HISTORY - to prevent compiler warnings about unused function definitions. - - * src/term.h term/post.h term/post.trm: Introduce a statement - '#define PSLATEX_DRIVER' into post.h that controls whether or not the - pslatex/epslatex terminal code is built. Add #ifdef PSLATEX_DRIVER - in appropriate places. Without this it was impossible to build gnuplot - with post.trm but not pslatex.trm. - - * src/term.h: Remove aed.trm and tek.trm from SHORT_TERMLIST set of - terminals, but add estimate.trm if it is enabled. - - * configure.in src/graphics.c src/plot2d.c src/save.c src/set.c - src/show.c src/unset.c src/plot2d.h: - - Remove configuration option --disable-relative-boxwidth. - Remove the #ifdef USE_ULIG_RELATIVE_BOXWIDTH ... #endif brackets around - code that implements it. - - * config/config.amg config/config.cyg config/config.mgw config/config.nt - config/config.os2 configure.in src/bitmap.c src/datafile.c src/gadgets.c - src/gplt_x11.c src/gp_types.h src/graphics.c src/misc.c src/plot2d.c - src/save.c src/show.c src/term_api.h src/term.c src/unset.c - src/win/wgraph.c term/aquaterm.trm term/cgm.trm term/fig.trm term/gd.trm - term/mif.trm term/pdf.trm term/post.trm term/svg.trm term/win.trm - term/x11.trm: - - Remove configuration option --disable-filledboxes - Remove the #ifdef USE_ULIG_FILLEDBOXES ... #endif brackets around code - that implements it. - -2005-02-28 Ethan Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: EPSLATEX_set_color must be protected by #ifdef PM3D. - -2005-02-26 Ethan Merritt <merritt@u.washington.edu> - - * src/pm3d.c (set_plot_with_palette): Don't trigger display of the - colorbox in 2D plots just because an explicit line color was set. - - * misc.c (parse_fillstyle): accept full keyword "fillstyle" in addition - to short form "fs". - -2005-02-24 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c(plot_c_bars) src/plot2d.c(eval_plots) docs/gnuplot.doc: - New keyword '... with candlesticks {whiskerbars}' that draws horizontal - crossbars at the top and bottom of the whiskers. This is typical for - box-and-whisker plots. The new keyword is in lieu of adding a - separate "boxplots" plot style (patch #624000). - - * src/gplt_x11.c (pr_fastrotate) term/x11.trm (documentation): - The fully general implementation of text rotation added in version 4.0 - is *much* slower than it used to be. This patch adds a new X resource - gnuplot*fastrotate: {on|off} that reverts to the faster but imperfect - rotation method. The default is "on", which favors fast rendering at - the cost of possibly corrupting colors of nearby plot elements. - -2005-02-22 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Fix botched optimization in previous patch. - -2005-02-21 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Implement solid fill rectangles and polygons as a - true solid color, with variable fading toward background color, rather - than approximating by a set of 3 half-tone patterns. - - * docs/gnuplot.doc: Explain that for some terminals the size of a "dot" - can be changed using linewidth. - -2005-02-18 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Allow "lw" as an abbreviation for "linewidth" - * term/post.trm: Make dash styles 6 and 7 a bit more distinctive - * term/emf.trm: Add option 'set term emf {linewidth <factor>}' - * term/gd.trm: Solid fill with density < 1 was not working with - rgb colors. Trivial fix. - * term/gd.trm: Add option 'set term ... {linewidth <factor>}'; - increase maximum linewidth from 6 to 12 - - * src/graphics.c (boundary): When estimating the length and height - of xlabel, increase the number of lines by one if we're in enhanced text - mode and there seems to be a subscript. This test can be fooled if the - label has disabled enhanced text processing. - -2005-02-18 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c src/tables.c src/set.c src/unset.c docs/gnuplot.doc: Let - command '{un}set historysize' be always available, but report a - descriptive error if gnuplot has not been configured with GNU readline. - -2005-02-17 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Add terminal options for monochrome and for dashed - lines: - set term pdf {mono|color|colour} {solid|dashed {dl dashlength}} - - The defaults remain the same as before (color solid). The monochrome - option only affects linetypes; you can still use color explicitly - in filled areas or by using rgb specifications for line styles. - - * configure.in: Check for dashed line support in pdflib. - -2005-02-16 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: Patch #1122014 "Improve dashed linetypes in Postscript - terminals". - -2005-02-16 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Correct the driver docs to say font limitations - and font installation instructions must be sought in the pdflib - documention. - -2005-02-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/variable.c (loadpath_handler, fontpath_handler): - Re-initialize limit to NULL, too, as p reaches it. - -2005-02-15 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c src/save.h: New routine save_fillstyle consolidates - redundant code to convert a fill_style_type into a text description. - - * src/save.c src/save.h: New routine save_pm3dcolor consolidates - redundant code to convert a colorspec struct into a text description. - - * src/save.c (save_set_all save_textcolor) src/show.c (show_linestyle): - Call shared routines rather than duplicate code in-line. - -2005-02-14 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm (PDF_options PDF_init PDF_dot): Add terminal option - {rounded|butt} exactly parallel to post.trm. The default is butt - ends and mitred line joins. "rounded" switches to rounded ends and - rounded joins. - -2005-02-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c: Added #include "getcolor.h". - - * term/aquaterm.trm term/pdf.trm term/post.trm term/svg.trm: Removed - #include "getcolor.h". - - * term/x11.trm: Removed #include "getcolor.h", #ifdef WITH_IMAGE_BUG - #include "graphics.h". - - * term/vgagl.trm: Removed #include "driver.h", "pm3d.h", "mousecmn.h". - -2005-02-14 Harald Harders <h.harders@tu-bs.de> - - * term/pslatex.trm: SourceForge patch #1121972 "Improve input encoding - in epslatex terminal". Added the koi8-u encoding to epslatex. Added - \inputencoding{...} to the output file. This enables the user to use - different input encodings in the surrounding LaTeX file and in the plot. - Added a user-friendly error message if the package graphicx.sty or - graphics.sty is not loaded. - -2005-02-13 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm term/pslatex.trm: Clean up code in accordance with - compiler warnings. - -2005-02-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * configure.in: New configuration option --enable-x11-mbfonts - (enabled by default). Interpretation of character encodings - is determined at run time by the LC_CTYPE locale setting. - - * src/gplt_x11.c: All calls to x11 font handling routines are - conditionally substituted by the equivalent calls to multi-byte - routines if --enable-x11-mbfonts is configured, and a multi-byte - font has in fact been selected. - - * NEWS term/x11.trm: Add documentation that describes the specification - of multi-byte fonts: - set term x11 font "mbfont:<primary font>;<secondary font>" - set label "foo" font "mbfont:<primary font>;<secondary font>" - -2005-02-10 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_lines_pm3d key_sample_line_pm3d): - If the graph specifies a solid rgb color, fall back to equivalent - single-color routine. - -2005-02-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.h src/pm3d.c: New global routine is_plot_with_colorbox(). - New local variable plot_wants_colorbox. Color box is wanted for all draw - elements using palette except those with TC_RGB. - - * src/graphics.c src/graph3d.c: No colorbox for 2D and 3D plots with - elements using "rgbcolor". - -2005-02-10 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Accept full keyword "rgbcolor" for the line - attribute. - -2005-02-09 Harald Harders <h.harders@tu-bs.de> - - SourceForge patch #1040192 "Merge post, epslatex, pslatex, pstex - terminals". - - * NEWS demo/Makefile.am.in docs/Makefile.in docs/gnuplot.doc - src/graph3d.c src/graphics.c src/makefile.all src/term.c src/term.h - term/post.h term/post.trm: Miscellaneous changes. - - * demo/epslatex.dem demo/gnuplot.cfg: New demo and its LaTeX - configuration file for usage with gnuplot-generated LaTeX files - (epslatex terminal with standalone option). - - * term/pslatex.trm: Now includes code for all of the following - terminals: - pslatex: LaTeX with embedded postscript - pstex: plain TeX with embedded postscript - epslatex: LaTeX using \includegraphics, postscript part in an external - file - - * term/epslatex.trm: Removed. - - * share/: New directory. - - * share/LaTeX/Makefile share/LaTeX/README share/LaTeX/gnuplot.cfg: - New directory LaTeX/. New files for supporting the epslatex terminal. - -2005-02-05 Ethan Merritt <merritt@u.washington.edu> - - * src/color.h src/save.c (save_textcolor) src/gadgets (apply_pm3dcolor) - src/misc.c (lp_use_properties) docs/gnuplot.doc: - New internal flag TC_LINESTYLE allows text to take its color from a - line style. For example: set label "foo" textcolor linestyle 2 - -2005-02-04 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_key_sample plot_boxes) - src/term.c (term_apply_lp_properties): - Apply linetype properties (color *AND* dot/dash/solid) before applying - pm3d color, if any. - -2005-02-02 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Ignore blank lines in data file input to - "splot with vectors". - - * src/set.c (set_xyzlabel): Allow set label textcolor rgb <foo>. - - * src/gplt_x11.c (display): Always initialize gc_pm3d, in case we need - it to handle individual rgb colors even in the absence of a palette. - - * src/save.c (save_textcolor) src/save.h - src/show.c (show_label show_xyzlabel): Export save_textcolor() so - that various "show ...label" routines can use it also. Also fixes - compile error if configured --disable-pm3d. - -2005-02-01 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxes): Plot with boxerrorbars and three columns - of input data hit a rare code path that set the boxwidth wrong in some - cases. Fixes bug #1101409. - -2005-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/time.c (xstrftime): Shift reply range of %I and %l time - formats from [0:11] to [1:12]. - - * docs/gnuplot.doc (time/date specifiers): Fix descriptions of - hour format specifiers (explain 0-filled vs. non-filled default, - give correct output ranges). - -2005-02-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_separator): Replace literal TAB character in - source by a \t. - - * src/command.c (input_line, input_line_len): Renamed to - gp_input_line and gp_input_line_len respectively, to avoid a - conflict of input_line with a like name non-standard library - function on QNX. - - * src/command.h: Renamed declarations of these, too. - - * all over the place: Renamed usages of these variables. Some - CodeStyle cleanups, while at it. - -2005-01-31 Ethan Merritt <merritt@u.washington.edu> - - * util.c (getusername): Don't try to free a string pointer that may - have been returned by getenv. Fixes bug #1111804. - -2005-01-27 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.mgw: Mingw 2.x does not HAVE_SYS_PARAM_H. - - * src/win/wgnuplib.h: Mingw 2.x needs to #define _fstr* functions. - -2005-01-26 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Remove deprecated references to "set pm3d solid" and - "set pm3d transparent". - -2005-01-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/pgnuplot.c (PostString): Fix transmission of 8-bit - characters to function taking ints by cast to unsigned char. - -2005-01-25 Ethan Merritt <merritt@u.washington.edu> - - * term/ai.trm (AI_reset) term/corel.trm (COREL_reset) term/epslatex.trm - (EPSL_init EPSL_text): Remove extraneous % characters in strings output - by fputs(). - -2005-01-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (save_command): Remove extraneous c_token++. - -2005-01-20 Dietmar Warning <warning@danalyse.de> - - * src/gnuplot.opt: Add breaders.obj to the list. - -2005-01-19 Dietmar Warning <warning@danalyse.de> - - * src/util.c: Correct the GetUserName call for windows. - -2005-01-11 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tgif.trm: Fix two bugs related to font handling. - -2005-01-11 Ethan Merritt <merritt@u.washington.edu> - - * demo/mousevariables.dem demo/keystroke.dem: Fix incorrect termination - logic in the keystroke demo. - - * src/graphics.c (boundary): Rather than turning off the key altogether - if the contents seem to be too big to fit, fall back to something half - way plausible and also print an warning message. Fixes (or at least - addresses) bug #1058117. - -2005-01-11 Harald Harders <h.harders@tu-bs.de> - - Apply updated SourceForge patch #1023783 - - * configure.in: Check for which libpdf version is present; check - whether <pwd.h> is present. - - * src/util.c src/util.h: New routine (char *) getusername() gets - user name from environment or from passwd file. - - * term/pdf.trm (PDF_init) term/post.trm (PS_init): Store username - and other envelope information in the PDF dictionary structure of - the output file. New routine PS_escape_string() to ensure that - character strings entered in the PDF dictionary are legal strings. - - * term/pdf.trm (PDF_init PDF_reset): Use either PDF_begin_document - or PDF_open_file depending on which version of libpdf is available. - Ditro for PDF_end_document or PDF_close. - -2005-01-11 Harald Harders <h.harders@tu-bs.de> - - * src/src/set.c src/term.c src/unset.c term/post.h term/post.trm - term/pslatex.trm: SF patch #1098256 "Introduce struct that takes all - postscript terminal options". This patch introduces the struct - ps_params_t that takes all postscript terminal options, e.g., color, - blacktext, pslevel, rounded, fontsize, ... This is useful when - different terminals share the same portion of code. - -2005-01-10 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gadgets.c src/gadgets.h src/set.c (set_margin) src/show.c - (show_margin) src/unset.c (unset_margin): Specify and store plot - margins as float rather than int. - -2005-01-10 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c demo/image.dem: Correct a problem with scaling of - images from 'with image'. - -2005-01-08 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (term_start_multiplot): Replace keywords "rowmajor" and - "columnmajor" with "columnsfirst" and "rowsfirst", respectively. - - * docs/gnuplot.doc: Correct the description of row and column layout - 'set term multiplot layout <rows>,<cols> {rowsfirst|columnsfirst}' - -2005-01-08 Harald Harders <h.harders@tu-bs.de> - - * src/pm3d.c src/term.c src/term_api.h term/epslatex.trm term/post.trm - term/pslatex.trm: SF patch #1098252 "Use variable gppsfile for - postscript output". This patch uses the variable gppsfile (formerly - postscript_gpoutfile) instead of gpoutfile for all PostScript output. - This is very useful for terminals that produce two files where one of - them is PostScript (for example pslatex and epslatex). - - * src/color.c src/pm3d.c src/term.c src/term_api.h term/epslatex.trm - term/post.trm term/pslatex.trm: SF patch #1098249 "Rename - postscript_gpoutfile to gppsfile". This patch renames the handler - 'FILE *postscript_gpoutfile' to 'gppsfile' since the old variable name - is too long for more often use. - -2005-01-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.h (try_to_get_string): Add missing 'void' to prototype - argument list. - - * term/x11.trm: #include <sys/select.h>, if it exists. - - * src/stdfn.h: #include <sys/param.h> before checking if PATH_MAX - is defined (definition may be in there...), rather than inside the - fallback definition only. - - * term/svg.trm (SVG_init): Updated DOCTYPE name and reference to - current standard: SVG 1.1. Added an XMLNS namespace declaration to - satisfy requirements for XML documents. - -2005-01-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/os2/gclient.c: Some more cleanup: Removed some unused variables - and unused code which eliminates a lot of compiler warnings. - -2005-01-04 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c src/term_api.h: Instead of exporting ignore_enhanced_text - from term.c as a global TBOOLEAN, provide a wrapper routine - ignore_enhanced(TBOOLEAN flag); - - * src/graphics.c (do_plot) src/graph3d.c (do_3dplot): Call new routine - ignore_enhanced() rather than directly setting a variable inside term.c. - - * src/gadgets.h: Add TBOOLEAN noenhanced flag to label_struct. - - * docs/gnuplot.doc src/set.c (set_xyzlabel) src/save.c (save_set_all) - src/show.c (show_xyzlabel): New suboption `set ... {{no}enhanced}` for - plot title and axis labels, analogous to the noenhanced option for the - plot key entries. This allows, for example, using a filename with - underscores as part of the plot title. - - * src/graphics.c (do_plot) src/graph3d (do_3dplot): Disable enhanced - text processing while writing out plot title or axis label text if the - noenhanced flag is set in the corresponding label_struct. - - * docs/gnuplot.doc: Correct the documentation to say - 'set multiplot layout <rows>,<cols>' (rows/cols were reversed in the - previous version, and mis-described in the example). - -2005-01-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/os2/gclient.c: Contains my attempt to implement pattern filling - for the pm terminal. I gave this a bit of testing, but I have to admit - that the result looks ugly together with the widelines option. But - here you go anyway as 'widelines' has to be improved later anyway. It - should work fine without 'widelines'... - - * src/os2/gnupmdrv.c: Newer versions of gcc on OS/2 no longer have - fcloseall(), but _fcloseall(). - - * src/os2/gclient.c src/os2/dialogs.c src/os2/print.c: Clean up by - removing some unused variables and code (some put into #if 0/#endif); - some minor changes to layout - this basically removes anoying warning - messages during compilation. - -2004-12-31 Ethan Merritt <merritt@u.washington.edu> - - * term/estimate.trm src/term.h: New pseudo-terminal driver whose sole - function is to parse a string in enhanced text mode and return the - number of character-widths in the resulting output text. - - * configure.in NEWS src/term_api.h src/term.c (estimate_strlen): - New routine estimate_strlen(char *text). Its default behaviour is to - return strlen(text). But if the currently active terminal is in - enhanced text mode, and the current plotting context does not disable - enhanced text, then instead it calls the estimate.trm pseudo-terminal - term->put_text(text) in order to determine the approximate width of - the eventual output string. This feature may be disabled using - ./configure --disable-strlen_estimation - - * src/graph3d.c src/graphics.c: Where strlen(text) is used to reserve - space on the plot (e.g. leaving room for tic labels or key box entries) - call the new routine estimate_strlen(text) instead. This allows more - accurate plot layout in enhanced text mode. The improvement is - particularly noticible if the y-axis tic format uses enhanced text mode. - - * term/x11.trm (X11_options ENHX11_put_text): Try harder to determine - what the default fontsize is so that string lengths can be estimated. - -2004-12-30 Ethan Merritt <merritt@u.washington.edu> - - * src/term_api.h term/README: Add a new terminal flag bit - TERM_ENHANCED_TEXT that is set whenever the terminal is currently - operating in enhanced text mode. The will allow improved estimation of - text string length by the core code. - - * aquaterm.term dumb.trm gd.trm pdf.trm pm.trm post.trm svg.trm x11.trm: - Set or clear TERM_ENHANCED_TEXT flag in term->options() code - that parses the "{no}enhanced" terminal option. - -2004-12-29 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (MKSTR): Do not allow embedded newlines in the format - used for tracking mouse motion via an extra status line at the bottom - of the plot window. Extra newlines freeze gnuplot_x11 badly. - -2004-12-23 Ethan Merritt <merritt@u.washington.edu> - - * term/ggi.trm (GGI_fillbox GGI_set_color): Implement color selection - by RGB values. Implement filled boxes. The GGI project seems moribund, - so support of other new gnuplot features like polygons is unlikely. - -2004-12-22 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c: Remove unused routine event_print(). - - * src/mousecmn.h: Remove unused event types GE_stderr, GE_stdout, - GE_cmd, and unused field text[100] in struct gp_event_t. - -2004-12-21 Ethan Merritt <merritt@u.washington.edu> - - * term/ggi.trm (GGI_replot) src/mousecmn.h src/mouse.c (do_event): - Remove the one and only instance of GE_cmd as an event type, used - by ggi.trm to trigger a replot. Create new type GE_replot instead. - - * term/ggi.trm (GGI_set_color): Convert to newer API for set_color. - -2004-12-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (EMF_filled_polygon): Renamed macro META_POLYGON to - EMF_POLYGON, to avoid conflict with Win32 headers. - -2004-12-21 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/pm3d.h src/pm3d.c src/save.c src/set.c - src/show.c: New suboptions 'set pm3d corners2color min|max'. - -2004-12-20 Ethan Merritt <merritt@u.washington.edu> - - * term/fig.trm (FIG_put_text) term/gd.trm (PNG_put_text, ENHGD_FLUSH): - Modify vertical centering text to match most other terminal types. - This causes text rotation to occur about the vertical midpoint, as in - the post, x11, pdf, and other terminals. (Bug #1086549) - -2004-12-20 Bastian Maerkisch <bmaerkisch@web.de> - - * term/pm.trm (PM_set_color): Reflect recent changes of parameters in - term entries. - - * src/os2/gnupmdrv.h src/os2/gclient.c: gnupmdrv.c and gclient.c both - used to define variable bWidelLines, but it should be the same one. - This patch adds an 'external' declaration in gnupmdrv.h, and removes - the definition from gclient.c. - - * src/os2/gclient.c: Within GnuplotPM "Options->Gnuplot docs...", it - did not open gnuplot.inf when using NewView, a widely used view.exe - replacement. Replaced the fixed sized buffer solution with code using - a dynamic buffer. - - * src/os2/gclient.c: This fixes text rotation for the pm terminal. The - variable bHorz, which used to indicate horizontal text, has now been - removed completely. Now pm terminal behaves similar to the postscript - terminal. - -2004-12-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/parse.c (push_vars): Conditionalize definition on GP_ISVAR. - (parse_primary_expression): Conditionalize use of push_vars and - action PUSHV on GP_ISVAR. - -2004-12-14 Ethan Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in: Add rainbow.html and pointsize.html to the - target list for "make html". - -2004-12-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/command.c (update_command): Fixed handling of optional - second filename argument broken during introduction of - try_to_get_string(). - -2004-12-08 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tgif.trm: Update option parsing to be order-independent. - Add monochrome and linewidth options. - -2004-12-07 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: Implement term->set_color(), term->filled_polygon, - and term->fillbox() for the emf terminal. This does not provide PM3D - palette support, but it does allow coloring by explicit RGB and plot - styles that use filled boxes. - -2004-12-07 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Turn on colorbox in the demo of corners2color, and - position it at the bottom of the page. - -2004-12-05 Ethan Merritt <merritt@u.washington.edu> - - Run valgrind to find memory leaks. - - * term/x11.trm (X11_make_palette): Free palette gradient after sending - it to gnuplot_x11. Do other drivers have similar leaks? - - * src/set.c (set_cntrparam): Free old dynamic contour level array before - getting a new one. - - * src/set.c (set_xyzlabel): Free dynamic label string after copying it - to a static label structure. - - * src/parse.c (temp_at): Add a garbage-collection step to the - deallocation of temporary storage for expression evaluation. I wish I - understood this well enough to guarantee the correctness of scavenging, - but empirical tests indicate that no double-free errors are triggered. - -2004-12-04 Ethan Merritt <merritt@u.washington.edu> - - Run valgrind to find codepaths that trip over uninitialized variables. - - * src/parse.c (const_express) src/set.c (set_xyzlabel set_label): - src/eval.c src/eval.h: Move set/clear of flag STRING_RESULT_ONLY up - one level in the call chain. - - * src/temp_api.h src/color.h src/graphics.c (init_histogram) - src/plot2d.c (cp_alloc) src/plot3d.c (sp_alloc): - More complete initialization of dynamic and gp_alloc()ed structures. - -2004-12-03 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (xtick2d_callback ytick2d_callback): Fix bug - reported by Mike Kay: if the grid was active and the key box was - entirely above or to the left of the graph itself, then an extraneous - grid line was drawn connecting the key box to the graph. - - * src/set.c (set_palette): Fix bug #1077699 - parser was skipping - whatever token came after "gamma <val>". - -2004-12-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/fig.trm (FIG_set_color): Fix a C99-ism. Thanks to Shigeharu - Takeno for spotting this. - -2004-12-02 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Keep track of current rgb values in parallel to the - current linetype, since we can no longer count on regenerating the - former from the latter. - - * term/x11.trm: Add missing X resource to the table in the docs. - - * configure.in: Remove obsolete messages relating to old png driver. - -2004-12-01 Ethan Merritt <merritt@u.washington.edu> - - Add colorspec to linetype, and hence to all 2D and 3D plot elements. - These changes all depend on configuration with --enable-pm3d - Add support and demo example of using explicit RGB colors or gnuplot's - internal pre-defined color names: - set style line 1 lt rgbcolor "violet" lw 2 - set style line 2 lt rgbcolor "#FFA080" lw 2 # salmon pink - - * src/term_api.h: - Add new field "struct t_colorspec pm3d_color" to lp_style_type, so that - any plot element with an associated line type can use palette-based or - RGB colors. - - * src/term.c (term_apply_lp_properties): - Check lp_style_type.use_palette flag, and if set apply the colorspec - rather than a simple linetype color. - - * src/misc.c (lp_parse parse_colorspec): - Call parse_colorspec() as part of normal line type parsing. This allows - "lt {rgbcolor 'name'} | {palette {cb <val> | frac <val> | z}}" anywhere - that "lt <val>" is currently valid. - - * src/graphics.c (do_plot plot_boxes plot_c_bars do_key_sample): - Everywhere that we would normally call t->linetype(), check use_palette - and instead call apply_pm3dcolor() - Everywhere that we would normally call t->fillbox(), check use_palette - and instead call t->filled_polygon() via new routine fill_corners() - - * src/plot2d.c (eval_plots): Do not allow "lt palette z" in 2D plots - - * src/save.c src/show.c: - save/show colorspec options associated with line styles and text colors - - * src/set.c: - Allow text color to use full colorspec options. - - * src/tables.c src/tables.h: New function reverse_table_lookup() that - returns the keyword associated with a table value; this is used to look - up the colorname associated with an RGB value. - - * NEWS docs/gnuplot.doc: Document new functionality and syntax. - - * demo/colorwheel.dem: - Set palette mode to standard HSV color wheel and define common colors as - macros. Allows terminal-independent commands such as - plot sin(x) with lines @orange - - * demo/rainbow.dem: - Demonstrate two approaches to defining terminal-independent colors for - plot elements. (1) Load 'colorwheel.dem' to create a palette from which - colors can be selected. (2) Use the new colorspec type RGB to request - specific named colors, as in - set style line 1 lt rgbcolor "sea-green" - This only works well on terminals that support full RGB color modes. - Some palette-based terminals will approximate the requested color using - whatever palette color is closest, but the results may not be pleasing. - -2004-12-01 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Add - END_OF_COMMAND check before trying to parse possible backwards - compatibility options. Fixes incorrect error message if text - option parsing consumes the rest of the command line. - -2004-11-30 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm docs/Changes.doc: Typos. - -2004-11-29 Petr Mikulik <mikulik@physics.muni.cz> - - * term/pm.trm src/os2/gclient.c: Changes for the new colorspec type - TC_RGB. Currently, they are dummy in gclient.c -- to be implemented. - -2004-11-27 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/gnuplot.texi: Re-format a large section of text - dealing with binary files. The previous layout caused PDF output to - treat the whole section as quoted monospace text, as for a code example. - -2004-11-27 Ethan Merritt <merritt@u.washington.edu> - - * src/color.h: Add new colorspec type TC_RGB, allowing colors to - be specified as an RGB triple stored as (RR<<16)+(GG<<8)+BB with - red, green, and blue components running from 0 - 255. - - * src/gadgets.c (apply_pm3dcolor) src/gadgets.h: Pass RGB color - specifications to terminals via the new API for term->set_color(). - - * src/gplt_x11.c src/gplt_x11.h term/*.trm (set_color): - Implement set color to specified RGB triple in these terminals - aquaterm gd metapost pdf post svg x11 - Somebody please have a look at doing the same for - cgm pstricks win - -2004-11-26 Ethan Merritt <merritt@u.washington.edu> - - * src/term_api.h term/README: Change from term->set_color(double gray) - to term->set_color(struct t_colorspec *colorspec). This sets the stage - for allowing color specification mechanisms other than a PM3D palette. - The immediate intent is to allow direct requests for RGB color values. - - * term/*.trm: Convert all terminal types providing set_color() to the - new API. No change in terminal behavior or capabilities. - Terminals affected: - aquaterm cgm fig gd metapost pdf post pslatex svg - tgif vgagl win x11 pstricks - - * src/color.c (set_color): This is the only routine that calls - term->set_color. Convert it to pass a colorspec pointer rather than a - palette gray value. - -2004-11-25 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.h: map3d_xy_double is needed independent of WITH_IMAGE. - -2004-11-24 Ethan Merritt <merritt@u.washington.edu> - - src/gplt_x11.c: Set background color for pattern-fill explicitly each - time. - - term/svg.trm (SVG_GroupOpen SVG_DefineFillPattern): Allow palette colors - to be used in pattern fill. - -2004-11-23 Ethan Merritt <merritt@u.washington.edu> - - src/gplt_x11.c: Initialize mouse_format to null string. Fixes bug that - in some circumstances the mouse position is printed as random garbage. - -2004-11-21 Ethan Merritt <merritt@u.washington.edu> - - Rearrange code so that pm3d support routines are available to both 2D - and 3D plots. The addition of pm3d code to 2D plots began in portions - of the WITH_IMAGE patch; remove the dependence on WITH_IMAGE to prepare - for more general use of pm3d colorspecs in 2D plots. - Introduce general checking for pm3d colorspecs in 2D plots. This fixes - a bug that the colorbox could only be drawn for "with image" plots if - the *first* plot used pm3d; subsequent plots were not checked. - Also, pm3d colorspecs were already usable for text coloring in 2D, but - no colorbox was drawn if they were used. Now it is. - - * src/color.h src/gadgets.h : Move definition of t_colorspec to color.h - - * src/color.h src/color.c src/graph3d.c src/graphics.c plot2d.c: - Remove #ifdef WITH_IMAGE from several code segments that are useful for - plot styles other than image. - - * src/misc.c src/set.c src/misc.h: Move parse_colorspec from set.c - to misc.c and export it for use when parsing "with" options in both - 2D and 3D. - - * src/plot3d.c src/pm3d.c src/pm3d.h src/graph3d.c: - Move set_plot_with_palette and is_plot_with_palette from plot3d.c into - pm3d.c so they can be shared by 2D and 3D code. - - * src/graphics.c: Check for is_plot_with_palette() and modify layout of - 2D plots to include colorbox if it returns TRUE. - - * src/color.c src/gadgets.c src/gadgets.h src/graph3d.c src/graphics.c: - Rename apply_textcolor() to be apply_pm3dcolor(), since it is usable for - any plot element requiring a palette-based color. - -2004-11-20 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (add_key_entry): Make sure all fields of newly - allocated structure are initialized. - - * src/graph3d.c (do_3dplot) src/plot3d.h: Call utility function - is_plot_with_palette rather than making plot_has_palette a global int. - - * src/util3d.h: map3d_xy_double is needed independent of WITH_IMAGE. - - * demo/pm3d.dem: Turn off colorbox in the demo of corners2color. - -2004-11-13 Ethan Merritt <merritt@u.washington.edu> - - * src/specfun.c (f_erf f_erfc f_normal): Replace in-line rough - approximation for erf() and erfc() with calls to the internal - routines that compute these values more accurately. This is only - relevant to platforms that do not already provide math library - routines erf() and erfc(). Empirical tests show that this change - decreases the error relative to the double precision library - erf routine from O(10^-8) to O(10^-16). - Thanks to Dietmar Warning <warning@danalyse.de> - -2004-11-12 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm (ENHsvg_writec): Escape character & to be & in - output stream. '<' and '&' are the only escaped characters so far, - and only in enhanced text mode. - -2004-11-12 Dietmar Warning <warning@danalyse.de> - - * src/specfun.c (inverse_error_func): Replace obsolete attribution of - algorithm used for this function. - - * src/util3d.c (map_xy_double): This function is needed independent of - the image code, so remove #ifdef WITH_IMAGE. - -2004-11-11 Ethan Merritt <merritt@u.washington.edu> - - * demo/datastrings.dem: Add example of using a column both as a - numerical value and a string (use y value as a label). - - * src/graphics.h: New TBOOLEAM title_is_suppressed in plot structure - src/graphics.c (find_maxl_keys do_plot) - src/datafile.c (df_set_key_title) plot2d.c (cp_alloc eval_plots): - Keep an explicit flag indicating whether or not the key should contain - an entry for this plot. - -2004-11-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/doc2texi.el (d2t-get-terminals): Fix search pattern for - point where to insert terminal drivers after change of indentation - level in gnuplot.doc. - - * docs/Makefile.in (TERM_H): New variable, points to term.h file - in the src directory. - (term.h): Rule generating this file disabled. - (gnuplot.html, gnuplot.info): Removed superfluous dependencies on - gnuplot.doc. - (gnuplot.texi): Run Emacs inside source directory --- building - gnuplot.texi in an out-of-source build tree is futile, and never - really worked. - (doc2gih.o, doc2hlp.o, doc2ipf.o, doc2rnh.o, doc2rtf.o): Build - online documentation tailored to actual program by including the - real term.h, instead of a mangled copy. - (BUILT_SOURCES): Removed term.h from the list. - - * docs/gnuplot.texi: Rebuilt. - - * docs/gnuplot.doc: Cleared some whitespace-only lines. - -2004-11-10 Ethan Merritt <merritt@u.washington.edu> - - * src/stdfn.h - * src/eval.c (gp_exp) src/specfun.c (f_gamma) src/standard.c (f_tanh): - Rename constant MINEXP to be E_MINEXP, since this is more in line with - the terminology used in standard math libraries. Only fall back to the - current assumption that E_MINEXP == -88 if the build environment does - not provide a definition for DBL_MIN_10_EXP, probably in <float.h>. - On most machines this means that gnuplot's gamma() function should now - have the same allowed input domain as exp(lgamma()). - -2004-11-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/save.c: Fix y-axes reversal when saving during 'set view map'. - -2004-11-08 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (do_arrow test_term): Do not attempt filled arrowheads if - the current terminal does not provide term->filled_polygon(). Exercise - filled arrowhead code in the 'test' command. - - * src/graphics.c (plot_image_or_update_axes): Do not attempt to draw - rotated quadrangles if the current terminal does not provide - term->filled_polygon(). - - * docs/gnuplot.doc: Not all terminals support double-headed arrows. - -2004-11-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/hidden3d.c (build_networks): Fix 'with impulses' drawing - style --- was off by one. - -2004-11-07 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Always allow backslash to escape the - 5 special formatting characters @^_~& in postscript enhanced text mode. - This breaks certain character sequences in Shift-JIS, but the - alternative makes these characters unavailable for all other encodings. - - * src/graphics.c (plot_vectors): Fix bug which drew a head on the tail - of arrows whose original heads were clipped. Bug #1062158. - -2004-11-07 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Typos. - - * term/tgif.trm: Replace "set nomultiplot" by "unset multiplot" in the - docs section. - -2004-11-06 Ethan Merritt <merritt@u.washington.edu> - - String variables - command line macros - -------------------------------------- - Command line macros are indicated by the character @ preceding a - string variable. When the command line is read in, these macros are - expanded by replacing the string @<varname> with the contents of the - string variable <varname>. Macros can be nest up to 4 levels deep. - Macros are not expanded inside single quotes or double quotes, but - they are expanded inside backquotes. - - * configure.in: --enable-macros selects #define GP_MACROS - - * demo/macros.dem docs/gnuplot.doc: Examples and documentation. - - * src/command.c (do_line): Call new routine string_expand() that steps - through input_line, expanded macros as it goes. - - * src/save.c (save_variables__sub): Save STRING variables in single - quotes rather than in double quotes. That way when the saved values - are loaded, no backquote substitution is triggered. - - * src/save.c src/set.c src/show.c src/unset.c src/tables.h src/tables.c - src/command.c src/command.h: Global TBOOLEAN expand_macros to turn - expansion on or off via new commands '{un}set macros'. - -2004-11-02 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c: Use 0 rather than NULL in initializing a union, to make - gcc happy. - - * src/plot3d.c: #include "plot2d.h" so that store_label is imported. - - * src/internal.c (sprintf_specifier): Add a useless return statement - to make gcc happy. - -2004-11-01 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (df_readbinary): Do not try to access Z coordinate - data in 2D mode. - -2004-10-31 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readbinary): Fix incorrect indexing of 2D - rotation matrix. - - * src/mousecmn.h: Remove trailing comma from enum definition. - - * src/color.c (cbtick_callback) src/graph3d.c (do_3dplot xtick_callback - ytick_callback ztick_callback map3d_position plot3d_vectors) - src/mouse.c (nearest_label_tag): - DEC cc is much pickier about mixing (unsigned int) and (int) across - function calls or call-backs. Clean up the parameter usage to allow - compilation under DU 4.0 - - * src/internal.c (f_concatenate f_sprintf): Provide fallback for - configurations that don't support snprintf(). - -2004-10-29 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Fix indentation level of terminal types when - converted to pdf. Add mention of string variables in the documentation - for 'set label'. - - * src/gplt_x11.c (pr_exportselection) term/x11.trm: - Add a test for X resource gnuplot*exportselection and disable exporting - the plot windows to the X clipboard if it is set to "off" or "false". - - * NEWS: Catch up with recent work. - -2004-10-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c docs/gnuplot.doc: Reset values of 'set size' and - 'set origin' after 'unset multiplot' to the values as they were at - 'set multiplot layout'. - -2004-10-28 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): initialize_user_spec() is needed whether or - not the input mode is binary. Fixes bug reported under Windows. - -2004-10-27 Ethan Merritt <merritt@u.washington.edu> - - String variables - extra features - --------------------------------- - Autoconversion of strings to numerical values if encountered during - evaluation of a numerical expression. ("3" + "4.5" == 7.5) is true. - Autoconverion of integers to strings if encountered as an operand for - string concatenation. ("file" . 4 eq "file4") is true. - - * configure.in: GP_STRING_VARS is #defined as 2 if these extra features - are desired. Defining it as 1 leaves the basic feature set enabled but - disables the extra stuff. - - * docs/gnuplot.doc src/eval.c src/eval.h src/internal.c src/standard.c: - New routine pop_or_convert_from_string(), aliased to pop() during - numerical evaluation. Treat INTGR operand to f_concatenate as a - special case, promoting it to STRING. - - * src/parse.c (const_express): - Suppress possible autoconversion to a number if the caller specifically - expects a string value to be returned. - -2004-10-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c docs/gnuplot.doc: New 'set multiplot layout' options - 'downwards' and 'upwards'. - -2004-10-26 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add separate section with indexed entry for - discussion of quote marks. - -2004-10-25 Ethan Merritt <merritt@u.washington.edu> - - String variables - basic functionality - -------------------------------------- - Allow gnuplot variables to contain strings, and allow expressions - to operate on strings. Provide two pre-defined string-valued functions; - sprintf() is a wrapper for the the C language formatting routine of the - same name, gprintf() is a wrapper for the existing gnuplot-defined - format specifiers. All changes are bracketed by #ifdef GP_STRING_VARS. - Most places where gnuplot previously required a string constant will - now also accept a string variable or a string-valued expression. - - * docs/gnuplot.doc: - * src/gp_types.h: STRING variable type - - * src/internal.c src/internal.h src/eval.c src/eval.h src/parse.c - string operators (A . B) (A eq B) (A ne B) - string functions sprintf() gprintf() - - * src/util.c (try_to_get_string) src/util.h: Modify the routine - try_to_get_string to accept string variables and functions. This one - place handles the syntax change for most gnuplot commands. - The main exceptions are 'plot', 'splot', and 'set label', which are - handled separately. - - * src/scanner.c: accept . as a binary operator (string concatenation) - - * src/datafile.c: evaluate string-valued functions in a 'using' spec - - * src/mouse.c: set string variable MOUSE_CHAR when a key is pressed - - * src/plot2d.c: accept a string variable 'plot <foo>' - - * src/plot3d.c: accept a string variable 'splot <foo>' - - * src/set.c: accept a string variable in 'set label <foo>' - - * src/standard.c: int_error if a unary arithmetic operator is - applied to a string. - - * demo/mousevariables.dem demo/keystroke.dem: Demo use of MOUSE_CHAR - to treat keystrokes in the plot window as strings. - - * demo/stringvariables.dem: Demo use of constant strings or string- - valued functions as plot symbols. - -2004-10-25 Harald Harders <h.harders@tu-bs.de> - - * docs/gnuplot.doc: Add labels for "set term push", "set term pop". - SourceForge patch #1052788. - -2004-10-23 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Reorganize the docs to give a separate section to - the list of terminal types. This change is not visible to the internal - 'help' command, but improves the usability of the pdf and tex-based - documentation. - -2004-10-22 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: A very preliminary update of the "What's New" - section of the docs to track changes since the version 4.0 release. - -2004-10-21 Harald Harders <h.harders@tu-bs.de> - - This patch introduces the possibilty to move many kinds of texts by an - offset in an arbitrary coordinate system. For example, tic marks, the - title, and labels can be moved by an offset given in 'character', - 'screen', 'graph', 'first', or 'second' coordinate system. - SourceForge patch #993422. - - * docs/gnuplot.doc - - * src/axis.c (get_position get_position_default): - New routine that accepts a default coordinate type when parsing offsets. - - * src/axis.h: Add offset structure to axis tics. - * src/gadgets.h: Add offset structure to text labels. - - * src/color.c (cbtick_callback draw_color_smooth_box) - * src/gadgets.c (get_offsets) - * src/save.c (save_set_all save_tics) - * src/set.c (set_label set_timestamp set_tic_prop set_xyzlabel - new_text_label parse_label_options parse_histogramstyle) - * src/show.c (show_label show_histogram show_xyzlabel show_ticdef) - * src/unset.c (unset_tics unset_axislabel_or_title) - -2004-10-20 Harald Harders <h.harders@tu-bs.de> - - Introduce a new coordinate system 'character' that uses character width - and height as units. It is a 2d coordinate system similar to 'screen'. - The origin is the same as for 'screen'. SourceForge patch #993411. - The intended use is for setting label and text offsets in terms of - character size, and generalizing this to all places where an offset is - legal. - - * NEWS docs/gnuplot.doc: - * src/axis.h src/axis.c (get_position_type) src/gadgets.h: - New coordinate system "character". - - * src/graph3d.c (get_arrow3d place_labels3d place_arrows3d): - * src/graph3d.c (map3d_getposition map3d_position): - Track 3D coordinates internally as (int) rather than (unsigned int) so - that out-of-bounds on the negative side can be detected. Interpret - character offsets. - - * src/save.c (save_set_all) src/show.c (show_position show_arrowstyle): - * src/graphics.c (map_position_double): Interpret character offsets. - -2004-10-20 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (pr_font): Fix bug that whatever fallback font was used - for an unrecognized font request, that fallback would become the default - font for all future requests. - -2004-10-19 Juergen Wieferink <wieferink@freenet.de> - - * src/set.c (parse_label_options): If the label has an associated point, - allow its type to be specified by "linestyle <n>". - -2004-10-19 Per Persson <persquare@mac.com> - - Adding enhanced text support to terminal aqua. - - * term/aquaterm.trm (ENHAQUA_put_text, ENHAQUA_open, ENHAQUA_flush, - ENHAQUA_writec): Added. - - * docs/gnuplot.doc Add aqua to list of terminals with enhanced option. - -2004-10-18 Volker Dobler <v.dobler@web.de> - Ethan Merritt <merritt@u.washington.edu> - - New plot style variant that reads individual point sizes from specified - input column. Examples: - - plot 'foo' using 1:2:3 with points pt 5 pointsize variable - splot 'foo' using 1:2:3:4 with linespoints pt 5 ps variable - splot 'foo' using 1:2:3:4:5 with points pt 5 ps variable lt palette - - * NEWS docs/gnuplot.doc: Document new variant of line/point style in - which the point size is variable, with the size of each point read from - an extra column in the input file. - - * demo/all.dem demo/pointsize.dem: Demo for 2D and 3D plots with - variable point size and pm3d colors. - - * src/gp_types.h: Define storage location for point size info in - struct coordinate (overload xlow). - - * src/graph3d.c (plot3d_points plot3d_points_pm3d): Check for variable - pointsize request and change point size before plotting. - - * src/graphics.c (do_plot plot_points): Check for variable pointsize - request and change point size before plotting and in plot key. - - * src/misc.c (lp_parse): Parse "pointsize variable" in with spec. - - * src/plot2d.c (get_data eval_plots): Allow 3 columns of input for points, - with the extra column holding point size. - - * src/plot3d.c (get_3ddata): Allow 4 columns of input for points with - variable point size in 4th column, plus a possible 5th column of pm3d - color information. - - * src/save.c (save_set_all) src/show.c (show_linestyle): Print or save - "pointstyle variable" characteristic of line style. - -2004-10-18 Ethan Merritt <merritt@u.washington.edu> - - * term/be.trm term/cgm.trm term/emf.trm term/epslatex.trm term/fig.trm - term/gd.trm term/metapost.trm term/tgif.trm term/win.trm term/x11.trm: - Add a check in TERM_pointsize() so that negative point size is reset to - size 1.0. This has always been the case for the generic do_pointsize() - routine in term.c, but not all of the individual terminals did likewise. - -2004-10-17 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): - More stringent syntax test for bare numbers indicating line - type in backwards-compatibility mode. - -2004-10-17 Juergen Wieferink <wieferink@freenet.de> - - * src/scanner.c (scanner): Terminate scan properly if an empty - substitution occurs at the end of a line. bug #1045695 - -2004-10-16 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Reorganize the code so that fewer - assumptions are made about what the plot must be based on the - number of columns, and so that the various 3D mapping modes share - the interpretations of columns other than the first three. - - src/plot3d.c (get_3ddata): Initialize variables to shut off stupid - compiler warnings. - - src/unset.c: #include hidden3d.c to pick up reset_hidden3doptions. - -2004-10-15 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_set_all): Do not try to save the current title and - text properties of histograms. This is not part of the permanent style. - Fixes strangeness with "test palette". - -2004-10-14 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data eval_plots): Defer adjustment of histogram - ranges until after the input file has been checked for valid data. - (fixes bug #1046894) - - * src/datafile.c (df_parse_string_field): Handle missing field in - input file more gracefully. (bug #1046894) - - * src/graph3d.c (map3d_position_r): Remove unused variables. - -2004-10-13 Harald Harders <h.harders@tu-bs.de> - - * src/graph3d.c (map3d_position_r get_arrow3d): - Change the interface of the function map3d_position_r() to be similar - to map_position_r(). Now, map3d_position_r() does not need to get the - startpoint. This will make it easier to use it for all kinds of - relative coordinates as text offsets. - - * src/graphics.c (get_arrow): map_position_r already handles the - relative position; no need to duplicate it in get_arrow. - - * docs/gnuplot.doc: Mention that relative coordinates in log scale - imply a multiplicative rather than an additive offset. - -2004-10-12 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_labels): Add a TBOOLEAN flag to indicate whether - labels should be clipped against the current axis limits. Labels - generated by "set label <foo>" are never clipped; labels generated by - 'plot with labels' are clipped. - - * src/graphics.c (fill_between): Improve clipping to handle 1st/2nd axes - and inverted axis range. - -2004-10-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (apply_zoom): Fix for reversed y-range in zoom by mouse - and "set view map". - - * src/graphics.c (do_plot): Better warning for trying to use pm3d in a - 2d plot. - -2004-10-08 Petr Tobiska <tobiska@ure.cas.cz> - - * term/metapost.trm (MP_arrow): Handle double-ended arrows also. - -2004-10-05 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (pr_font): Release previous font every time a new one - is requested. This feels wrong to me since we know the old font will be - used again very soon, but otherwise there is a serious memory leak. - - * src/gplt_x11.c (PaletteMake): (Daniel Sebald <daniel.sebald@ieee.org>) - Fix another tiny memory leak. - - * src/plot3d.c (get_3ddata): Add missing #ifdef EAM_DATASTRINGS. - - * configure.in: If --disable-datastrings is selected, then turn off - histogram support also since it is crippled without the - datastrings code. - -2004-10-05 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg config/config.mgw config/config.os2: Added #defines - EAM_DATASTRINGS and EAM_HISTOGRAMS. - - * src/makefile.all: Added breaders.$(O) to COREOBJS. - -2004-10-04 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_graphics): Initialize font-tracking variable at the - start of each plot (fixes problems seen with opening multiple plot - windows with different default fonts). - -2004-10-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c (process_event): Added missing cmd_tried = 1. - -2004-10-03 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (delete_plot): Fix small memory leak. - -2004-10-01 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Allow explicit pm3d palette colors for line - and point styles in non-Cartesian mapping modes. (bug #1005775) - -2004-09-30 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Change #ifdef GD2_VERS to #if (GD2_VERS >= 2) everywhere. - - * term/emf.trm (EMF_set_font) term/tgif.trm (TGIF_set_font): - Fix longstanding problems with the set_font routines; - interpret font requests of the form ",<size>" as a request to rescale - the current font to <size>. - -2004-09-29 Ethan Merritt <merritt@u.washington.edu> - - * demo/all.dem: Remove vector.dem again, since it turns out that it - breaks for any terminal type whose default value of 'set output' is - not the current display. - - * demo/world2.dem: Set font explicitly to "Helvetica,7", since some - terminal drivers do not like the partial font spec ",7". - - * src/hidden3d.c (set_hidden3doptions) src/hidden3d.h - src/unset.c (reset_command): New routine reset_hidden3doptions() - called by "set hidden defaults" and also by "reset". - - * term/post.trm (PS_set_font ENHPS_set_font) term/pdf.trm (PDF_set_font) - term/svg.trm (SVG_set_font): Do not allow the font to be set to ""; - interpret font requests of the form ",<size>" as a request to rescale - the current font to <size>. - -2004-09-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c (df_show_binary): In fprintf(), use "%f" not "%lf" for - doubles. - -2004-09-27 Ethan Merritt <merritt@u.washington.edu> - - * demo/airfoil.dem demo/fillcrvs.dem demo/histograms.dem - demo/histograms2.dem demo/spline.dem demo/world.dem: - Replace all instances of outdated syntax, i.e. everything that causes - errors or warnings if BACKWARDS_COMPATIBLE is not defined. - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Wrap the code - which interprets bare line+point types with #ifdef BACKWARDS_COMPATIBLE - (e.g. plot 'foo' with linespoints 3 4). - -2004-09-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Fix typo in a #define from the previous massive - whitespace changes. - - * config/config.os2: Let #define STDC_HEADERS 1. - -2004-09-26 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (eval_3dplots): Fix logic of default arrow style in the - case of splot with vectors. - -2004-09-25 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.c src/util3d.h: Add a text_label pointer to the p_vertex - structure in order to support labels in hidden3d mode. - - * hidden3d.c (build_networks draw_vertex): Add code to handle plot style - "with labels" in hidden3d mode. - - * demo/world2.dem demo/srl.dat: New demo to show use of labels with pm3d - colors and hidden3d mode. - - * demo/all.dem demo/Makefile.am.in: Add vector.dem and world2.dem. - -2004-09-24 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (get_offsets place_labels) src/graphics.h: - Simplify place_labels by calling a new shared routine. - Move the support routine get_offsets into gadgets.c as well. - - * src/graph3d.c (plot_labels3d): Simplify place_labels3d by calling - a new shared routine. - - * src/gadgets.c (get_offsets write_label) src/gadgets.h: - New routine write_label that is shared by both the 2D and 3D code. - - * demo/fit.dem demo/vector.dem demo/histograms2.dem: - Revise demo instructions slightly to work with the webify script. - - * demo/webify.pl: Use "pause 0" in demo scripts to signal that the - output file needs to be reset during web page generation. - - * demo/Makefile.am.in: Update list of demos to include in web page - generation ("make html"). - -2004-09-20 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: --enable-with-image requires both pm3d and binary file - support. Enforce this in the configure script by not allowing with-image - to be enabled if the other two options have not also been enabled. - -2004-09-21 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Fix documentation for multiplot. - - * src/term.c: Better error message for an invalid option of multiplot. - -2004-09-20 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Fix some minor errors that interfered with - latex processing. - -2004-09-19 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot plot3d_vectors) src/graph3d.h - src/plot3d.c (get_3ddata eval_3dplots): Extend the plotting style - "with vectors" to apply to 3D plots as well. - splot 'data' using <x>:<y>:<z>:<delx>:<dely>:<delz> with vectors \ - <arrowstyle> - Only cartesian coordinate mapping is currently supported. - - * docs/gnuplot.doc NEWS: Document extension to 3D. - -2004-09-17 Harald Harders <h.harders@tu-bs.de> - - * term/README term/debug.trm term/gd.trm: Fix typos and add - information about enhanced text mode callback entries in TERM_TABLE. - - * term/post.trm: Move definition of /Rounded to the top of the - prolog so that it is with the other user-editable definitions. - -2004-09-17 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/misc.c: New automatic variable $# gets - expanded to number of arguments after "call <file>". SF patch #943749. - -2004-09-16 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_timestamp set_xyzlabel) src/save.c (save_set_all) - demo/contours.dem demo/surface1.dem docs/gnuplot.doc: - Add keyword "offset" to commands of the form - old: set xlabel "foo" -1,-1 - new: set xlabel "foo" offset -1,-1 - This is necessary to pave the way for string variables, as otherwise - "set title var -1" is mis-parsed as containing the arithmetic expression - (var-1). To maintain backward compatability, the keyword is optional. - -2004-09-16 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm (delete_ps_fontfile): Remove debugging printout line. - -2004-09-15 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata) src/graphics.c (boundary) term/x11.trm: - Add #ifdefs so that ./configure --disable-pm3d will build successfully. - - * term/fig.trm term/epslatex.trm term/pslatex.trm term/metapost.trm - term/tgif.trm term/pstricks.trm: Disentangle the ordering of #ifdefs - in the TERM_TABLE entries (MOUSE is not a subset of PM3D). - - * term/emf.trm: Remove unused label to quiet compiler warnings. - -2004-09-15 Konstantin Korikov <lostclus@ua.fm> - - * NEWS docs/gnuplot.doc src/gplt_x11.c src/set.c src/term_api.h - src/term.c term/post.trm: Add support for character encoding koi8-u - (cyrillic koi8 for Ukrainian users). - SourceForge patch #966815. - -2004-09-14 Ethan Merritt <merritt@u.washington.edu> - - * demo/borders.dem demo/Makefile.am.in: Rewrite the borders demo to - terminate after 16 possible settings, to display the border setting in - a label, and to execute from inside a single demo file rather than a - combination of two. Thanks to Daniel Sebald for identifying that it - needed an update. - - * src/term.c (do_arrow): Interpret (head < 0) as "draw arrowhead only". - This allows us to retrace the arrowhead in a different linestyle if - necessary. - - * term/post.trm (PS_arrow): Add a wrapper for the do_arrow() routine - so that if the current linestyle is dashed we can retrace the arrowhead - with a solid line. Addresses bug report #963213. - - * term/pslatex.trm (PSLATEX_arrow): Piggyback on PS_arrow to apply - the same fix for pslatex. Any other terminals with dashed lines will - have to be fixed separately. - -2004-09-13 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c: Rework the layout of the df_bin_default_columns - array, so that the binary input code is not sensitive to the order of - defining plot styles in gp_types.h. - -2004-09-13 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Trivial cleanup to remove compiler warnings. - - * term/post.trm: Keep track of whether or not the macro definitions - required for enhanced text mode have been written to the output file - yet. If enhanced text mode is enabled after the terminal has already - been initialized, make sure that the macros are added to the next - output page. This allows, for example, - setenv GNUTERM post; gnuplot all.dem > all.ps - Without this fix, the output pages following the enhanced text demo - are corrupted. An alternative would be to write the enhanced text - macros in the %%Prolog for every PostScript output file regardless of - whether enhanced text mode has been selected. - -2004-09-11 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/mouse.c src/parse.c src/parse.h: Rename utility - function get_udv(char *name) to be add_udv_by_name(char *name), since - this is what it really does. - - * src/fit.c (setvar): Simplify existing code by using add_udv_by_name. - - * src/set.c (set_termoptions): Update comment explaining this routine. - - * src/plot3d.c (eval_3dplots): Surface plots are no longer the only - plot style that can have four 'using' specs; remove the error check - that incorrectly prevents this. - - * src/plot3d.c (get_3ddata set_plot_with_palette) - src/plot2d.h src/plot2d.c (store_label): Allow palette color options - for text in "{s}plot with labels textcolor palette ...". - - * src/set.c (parse_colorspec): If "tc palette" is specified with no - further suboptions, default to "tc palette z". - - * src/plot3d.c (get_3ddata): Allow palette color options in cylindrical - and spherical coordinate modes also. - -2004-09-09 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: Update the comment on plot-time evaluation of - PostScript language level support. - -2004-09-09 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc, term/cgm.trm, term/eepic.trm, term/emf.trm, - term/epslatex.trm, term/post.trm: Fix misprints in gnuplot manual (#15). - -2004-09-07 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (process_event) term/x11.trm: Provide a command line - option (-ctrlq) and an X resource (gnuplor*ctrlq: true) that disable - trapping the 'q' and '<space>' keystrokes in the plot window, instead - trap <ctrl>q and <ctrl><space>. This option allows the 'q' and - '<space>' keystrokes to be treated like all other keystrokes during - "pause mouse key" and other mousing operations. - - -2004-09-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * configure.in (AC_PREREQ): Bumped to 2.58, to avoid problems with - missing AC_HEADER_STDBOOL. - -2004-09-06 Daniel Sebald <daniel.sebald@ieee.org> - - * configure.in: The --enable-image option requires general binary data - file code. Ensure --disable-binary-data-file is not in the option list - if only --enable-image is activated. - -2004-09-06 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg config/config.mgw config/config.os2: Added #defines - for "with image". - -2004-09-03 Daniel Sebald <daniel.sebald@ieee.org> - - * src/breaders.c src/datafile.c: Get rid of compiler warnings. - -2004-09-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/datafile.c: Changed default value of datafile endianess after - reset: from variable df_bin_file_endianess_reset = DF_LITTLE_ENDIAN to - #define DF_BIN_FILE_ENDIANESS_RESET THIS_COMPILER_ENDIAN. - -2004-09-03 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * demo/image.dem: Added endian=little where necessary. - -2004-09-02 Ethan Merritt <merritt@u.washington.edu> - - * demo/all.dem: Include demos for candlesticks, multiplot, and - enhanced text mode in the all.dem script used by "make check". - -2004-09-01 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_set_color PNG_image) term/pdf.trm (PDF_image) - term/post.trm (PS_image): Change call from rgb255_from_gray() to - rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette - maxcolors'. - - * src/getcolor.c: Remove unused routine rgb255_from_gray. - - * term/gd.trm: Add WITH_IMAGE support for gif terminal also. - -2004-09-01 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: Add new binary demo files to Makefile.am - target. - - src/Makefile.am: Add missing binary.h to bf_test_SOURCES. - -2004-09-01 Daniel Sebald <daniel.sebald@ieee.org> - - * NEWS: Updated. - - * configure.in: Added enable and define switches to activate new - portions of code: - WITH_IMAGE (--enable-with-image) code for plotting images - WITH_IMAGE_VERIFY_ALL_PIXEL_LOCATIONS (--enable-image-grid-verify) - code for verifying every point in image grid is uniformly spaced - BINARY_DATA_FILE (--enable-binary-data-file) code to allow reading - general binary data files - BINARY_X11_POLYGON (--enable-binary-x11-polygon) code for X11 that - allows transferring polygon information as binary values rather - than ASCII, to save space in plot buffers - - * demo/all.dem: Added inclusion of image.dem. - - * demo/asciimat.dat demo/blutux.rgb demo/demo.edf demo/scatter2.bin - demo/sine.bin demo/using.bin: New datafiles required by image.dem. - - * demo/image.dem: New demo to illustrate and test various new image - and binary and matrix data file features. - - * docs/gnuplot.doc: Added documentation for image features and general - binary file syntax. Also, removed language indicating gnuplot matrix - binary is restricted to `splot`, as it now can be used for images in - `plot`. - - * src/Makefile.am: Added gplt_x11.h to gnuplot_SOURCES list and - gnuplot_x11_SOURCES list. Added bin_hook.c to gnuplot_SOURCES list and - removed binary.c and binary.h from this list. - - * src/README: Added a discussion of technical details about how the - formulas for properly orienting an image and passing that to the - terminal driver are derived. They can be arcane if just looking at the - code inside plot_image_or_update_axes(). Same goes for the details - about sending binary data to gnuplot_x11 for images. It requires a - simple heuristic encoding scheme to avoid a few particular characters - from the data stream and can appear confusing at first sight. - - * src/bin_hook.c: A new, short file to include binary.c in the source - tree if BINARY_DATA_FILE is not defined. Otherwise, binary.c is no - longer required. - - * src/breaders.h: An example of how to read a header in a particular - file format and fill in the general binary structure details. Not - completely sure just yet how this should be integrated into gnuplot. - - * src/color.c (draw_color_smooth_box): Added an option for `plot` mode - for use in images with a palette. - - * src/color.h: Adjusted function definition for change noted above. - - * src/command.c: Now save a new property is_cb_plot to determine if a - color box can be part of the plot in question. - - * src/command.h: Added declaration of is_cb_plot variable. - - * src/datafile.c: Extensive additional code for interpreting general - binary keyword syntax. Changed df_readline() to df_readascii() and - added a new file df_readbinary() analogous to df_readascii(). A new - df_readline() chooses which of these two to utilize. Code for reading - binary and ASCII matrix format file was moved to df_readbinary(). This - means other files in the source tree could be restructured so that the - routine df_readline() is the only method to bring data into gnuplot. - - * src/datafile.h: Declarations for new functions as part of code noted - above. Also, there are a few new enumerations and, most importantly, - the definition for the structure containing information about general - binary records. - - * src/fit.c (fit_command): Altered df_open() argument to include the - plot mode MODE_QUERY. - - * src/getcolor.c: Reactivated rgb255_from_gray(), required for images. - - * src/gp_types.h: Added IMAGE and RGBIMAGE to PLOT_STYLE enumeration. - - * src/gplt_x11.c: Extensive additional code for handling images in - binary data format, polygons in binary data format, and an endianess - check to determine if bytes need be swapped. A simple, short encoding - scheme is used for binary data to avoid a couple special characters in - the data stream. - - * src/gplt_x11.h: A new header file to go along with gplt_x11.h - containing definitions for code characters sent across pipe. Also some - definitions for translation characters in the binary encoding scheme. - - * src/graph3d.c (do_3dplot): Added a plot_mode of MODE_SPLOT to - argument of draw_color_smooth_box(), as now that can also be done for - `plot`. Also, added cases of IMAGE and RGBIMAGE to plot style switch. - - * src/graphics.c: Added plot_image_or_update_axes(), a new image - plotting routine. The new routine is fairly long and arcane in spots. - The README file contains details to clear up obscure parts. Added the - cases IMAGE and RGBIMAGE to the switch statement for plot style. Also, - there is code for making room for a color box on the plot, followed by - a call to draw_color_smooth_box() where appropriate. - - * src/graphics.h: Added definitions PLOT_IMAGE(), SPLOT_IMAGE() and - UPDATE_AXES_FOR_PLOT_IMAGE() to make plot_image_or_update_axes() seem - more intuitive. - - * src/misc.c: Added 'image' and 'rgbimage' to list of plot styles in - error message indicating valid styles. - - * src/mouse.c (builtin_toggle_log): For plots having a color box - property, allow changing the color box to logarithmic scale. - - * src/plot2d.c: Many small alterations to case statements, etc. to - integrate IMAGE and RGBIMAGE plot styles. Also, added MODE_PLOT to - df_open() argument list for binary data files. - - * src/plot3d.c: Similar to plot2d.c, many little changes made to - incorporate IMAGE and RGBIMAGE plot styles. Also, for general binary - there is no longer need for df_3dmatrix(), so that call was removed. - Added MODE_SPLOT to argument list of df_open(). - - * src/save.c (save_data_func_style): Write `image` or `rgbimage` to - file if appropriate plot style. - - * src/set.c (set_command/set_palette_file): Added call to routine - setting defaults for binary data files if `binary` is specified as - part of `set` command. / Added MODE_QUERY to list of arguments for - df_open(). - - * src/show.c (show_datafile): Now show information about binary data - file settings and details about binary variable sizes in bytes for the - compiler under which gnuplot was built. - - * src/tables.c (show_style_tbl): Added `image` and `rgbimage` to table. - - * src/term_api.h (TERMENTRY): Added image() prototype function to - TERMENTRY structure as well as an enumeration for image type as an - argument to image() routine. - - * src/unset.c (unset_command/reset_command): Added call to routine that - clears the binary data file record information. - - * src/util3d.c: Added a routine map3d_xy_double() to retain more - accurate coordinates necessary for checking uniformity of the image - grid via hyperplane concepts. It is repetition of existing code, - but there is a note and define switch for code-reuse. - - * src/util3d.h: Added declaration for map3d_xy_double(). - - * term/README: Added note about how to properly use image() terminal - function. - - * term/aquaterm.trm: Per Persson added an implementation of the image() - terminal function, AQUA_image(). - - * term/dumb.trm: Ethan Merritt added a space filler for the image() - terminal function location of TERM_TABLE. - - * term/epslatex.term: Added PS_image() to structure for image() in - TERM_TABLE. PS_image() is in post.trm. - - * term/gd.trm: Ethan Merritt added a routine PNG_image() for the - TERM_TABLE entry of image(). Also, a supporting routine PNG_set_color - was created. - - * term/pdf.trm: Ethan Merritt added a routine PDF_image() and entry - into the TERM_TABLE for image support for PDF files. - - * term/post.trm: Added a routine PS_image() and appropriate entry in - the TERM_TABLE for image support in PostScript files. There is also a - supporting routine PS_encode85() for encoding binary image data in - ASCII85 data format. - - * term/pslatex.trm: Added PSLATEX_image() to structure for image() in - TERM_TABLE. It uses a simple call to PS_image(), which is in post.trm. - - * term/svg.trm: Added space filler in TERM_TABLE for image() function. - - * term/x11.trm: Added X11_image() function and entry in TERM_TABLE. - The new image routine contains code for a simple, heuristic encoding - scheme to prevent a couple specific bytes from being in the image data - stream. Similarly, X11_filled_polygon() and X11_set_color() were - altered to use the same scheme to reduce the amount of characters - inside the plot buffer. - -2004-08-27 Per Persson <persquare@mac.com> - - * src/term.c (init_terminal): Make aqua the default terminal on - Mac OS X if AquaTerm is installed. - -2004-08-27 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_vector): More specific test for libgd support of - antialiasing. Versions 2.0.0 -> 2.0.11 were not correctly handled by - the previous test. - -2004-08-25 Ethan Merritt <merritt@u.washington.edu> - - * src/plot.c (main): Call term->options() on entry if the default - terminal type is png, jpeg, or tgif. Without this, setting GNUTERM - to this driver type causes a segfault due to incomplete initialization - of the driver data structures. I believe this call to term->options() - would be OK for all other drivers as well, but to be on the safe side - I added it only for the drivers I know will segfault without it. - - * term/gd.trm: New option to generate truecolor png images. - set term png .. {{no}truecolor} .. - - * term/gd.trm (PNG_vector): Use anti-aliasing for vectors if possible. - This does not affect palette-based PNG images, so far as I can tell, - but does work for both JPEG and TrueColor PNG images. - -2004-08-25 Per Persson <persquare@mac.com> - - * term/aquaterm.trm (AQUA_options): make options order-independent; - replace isstring+quote_str with try_to_get_string(); - allow "font" as a synomym for "fname". - -2004-08-23 Ethan Merritt <merritt@u.washington.edu> - - * term/xlib.trm (Xlib_text): Leave output file open so that it is - possible to plot multiple frames without another 'set term xlib'. - - * svg.trm (SVG_options): allow "font" as a synonym for "fname"; - replace isstring+quote_str with try_to_get_string(); - new option "linewidth <n>". - - * pdf.trm (PDF_options): make options order-independent; - replace isstring+quote_str with try_to_get_string(); - allow "font" as a synomym for "fname"; - new option "linewidth <n>". - - * post.trm (PS_options): allow "font" as a synonym for "fname" - - * fig.trm (FIG_options): allow "linewidth" as a synonym for "thickness". - -2004-08-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fix misprints in gnuplot manual (#14). - -2004-08-20 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_termoptions): Only call term->options for - terminals that actually support the option in question. - - * src/term.c (write_multiline) term/driver.h: Remove unused - function set_font_null; instead mark lack of font support by - initializing this TERM_TABLE entry to NULL. Fixes segfault - if font is checked before terminal is initialized, and allows - non-destructive test of font support. - -2004-08-20 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_termoptions): Quietly ignore the command if there - is no current terminal. - -2004-08-19 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_termoptions): Fill in basic implementation of this - function that allows changing one characteristic of the current - terminal. So far the only allowed changes are the default font and - {no}enhanced text mode. - - * demo/enhancedtext.dem: Use 'set termoption enhanced' (new command) - to force enhanced text mode regardless of current terminal type. - - * docs/gnuplot.doc: Document 'set termoption <foo>'. - - * NEWS: Update NEWS file to cover post-4.0 development work. - -2004-08-18 Volker Dobler <v.dobler@web.de> - - * src/term.c (term_end_plot term_start_multiplot term_end_multiplot): - Implement auto-layout of multiplots with specified number of rows - and columns. - - * docs/gnuplot.doc demo/layout.dem: Document and illustrate use - of 'set multiplot layout'. - -2004-08-18 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: More consistent handling of default background and font. - -2004-08-17 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c (real imag magnitude angle): Move error message handling - into default case of switch statements (prevents compiler warnings). - - * src/plot2d.c (eval_plots) src/graphics.c (init_histogram): - Replace instance of isstring + quote_str with try_to_get_string(). - Make histogram_title a dynamically allocated string rather than a fixed - length char constant. - -2004-08-15 Ethan Merritt <merritt@u.washington.edu> - - * demo/histograms.dem: Revise bmargin settings to work with the revised - bmargin handling in graphics.c (2004-07-25). - - * src/plot2d.c (eval_plots): Fixed bug in "newhistogram 'title' ..." - that caused the title to be ignored if there were no other options - specified. - -2004-08-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/term.c (enhanced_recursion): Pass unescaped backslash character - through to PostScript output in enhanced text mode. This is necessary - for Shift-JIS character encoding to work in enhanced mode (the non- - enhanced mode already does this). Bug report #998479. - -2004-08-13 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Re-word the filledcurves section according to - suggestions from Petr Mikulik. - - * term/post.trm: Rename new option once again: set term post {level1} - (naming history: nolevel2 -> ai -> level1). Audit code to confirm that - in fact it excutes only commands required by PostScript Level 1. - - * src/save.c (save_tics) src/show.c (show_tics): Save tic level for - each explicit user-added tic. Fixes bug #1008869. - -2004-08-12 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Rename 'nolevel2' option to 'ai', since its primary - use may be to generate output compatible with Adobe Illustrator. - -2004-08-11 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (exec_cmd): Set line properties to CapRound, JoinRound - while drawing plot symbols. This works around a very odd bug that - causes the symbols to be drawn incorrectly for some X-server settings. - Also modify plot symbol code so that the symbols are always drawn with - a 1:1 aspect ratio (crosses always fit in a square) rather than - tracking the aspect ratio of the current plot window. - -2004-08-10 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (parse_colorspec): Allow people to set the text color - to background (tc lt -2) if they really want to. - -2004-08-09 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c: Remove unused prototype. - - * src/getcolor.c: Conditionally remove unused prototype during - compilation of gnuplot_x11. - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots) - src/set.c (set_tic_prop): Continue replacement of isstring + - m_quote_capture with try_to_get_string(). - - * src/command.c (history_command): Code cleanup; convert to use - try_to_get_string(). Code is still full of little memory leaks. - - * term/post.trm: Fix '%' characters in output format. - -2004-08-08 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c src/util.h: New routine try_to_get_string() that combines - isstring() and m_quote_capture(). The intent is to switch call sites - over to using this new routine, and then extend it to handle string - variables as well as quoted inline string constants. - - * src/contour.h: Revised declaration of contour_format[]. - - * src/set.c src/command.c: Begin wholesale replacement of isstring() - and m_quote_capture/quote_string with new routine try_to_get_string(). - -2004-08-07 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_print set_output): Do not chop whitespace from the - front of input string; it causes a segfault when the string is freed. - If we really need to strip whitespace from filenames, it should be done - in a routine shared by all callers. - -2004-08-06 Ethan Merritt <merritt@u.washington.edu> - - * term/graphics.c (place_arrows): Restore default text color after - drawing all the arrows. Fixes bug #1004765. - -2004-08-02 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm src/term.h configure.in src/show.c (show_version): - GIF support is back in libgd as of version 2.0.28 (July 2004). - At last we can use the same driver for png, gif, and jpeg. - - * term/gif.trm term/png.trm: Remove these old drivers. - - * src/makefile.all docs/Makefile.in: And remove them as make targets. - - * src/command.h src/command.c (load_command): Remove macro that was - used in only one place; clean up code order as prep for applying - string variable patches. - -2004-08-01 Ethan Merritt <merritt@u.washington.edu> - Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: Introduce a boolean value PSLevel2 into the PostScript - prolog, and use it to determine whether pattern-fill is defined using - PostScript Level 2 primitives or via a Level 1 solid fill. Introduce a - corresponding option 'set term post ... {no}level2'. Setting level2 - to false either via 'set term' or by editing the output PostScript file - accommodates older printers and older versions of Adobe Illustrator. - -2004-07-31 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm (PS_common_init PS_put_text ENHPS_put_text): - Check for black text only option in the PostScript code itself, - rather than at the time the plot is generated. This allows you to - change your mind later by editing one line in the PostScript file. - -2004-07-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_key): Fix memory leak by making the variable in - question a local to the switch case that uses it. - (show_styles): Remove const-ness modifying cast. - - * src/save.c (save_data_func_style): Marked pointer argument - 'which' as const. - - * src/save.h (save_data_func_style): Prototype updated - accordingly. - -2004-07-29 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Fix the alphabetical order of plot style - doc sections. - -2004-07-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (PRINT_SPACES_UNDER_PROMPT): Protect against - NULL prompt. - -2004-07-27 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Bugfix: caret position of error messages in multiplot modes was - wrong. - - * src/util.c (current_prompt): New variable holding the currently - used prompt string. - (PRINT_SPACES_UNDER_PROMPT): Use current_prompt instead of global - PROMPT macro. Use a pointer loop instead of a counter. - (PRINT_SPACES_UNDER_PROMPT, PRINT_SPACES_UPTO_TOKEN): Enclosed - macro body in do .. while(0). - (os_error, int_error, int_warn): Use current_prompt instead of - global macro PROMPT. - - * src/util.h (current_prompt): Declare. - - * src/command.h (PROMPT): Moved this global macro into command.c. - - * src/command.c (PROMPT): Moved macro to here. - (read_line) [VMS]: Update new global variable current_prompt. - (read_line) [!VMS]: Likewise. - -2004-07-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Code style changes: get rid of register keywords. Don't put - parens around simple variables or term->element names. - - * src/graphics.c (boundary): If bmargin was set by user, key below - should not modify ybot. Reindented. - - (key_cols): Made local to boundary(), the only function using it. - -2004-07-24 Ethan Merritt <merritt@u.washington.edu> - - * src/parse.c (cleanup_udvlist): Fix memory leak; if udv structure - is freed, free its dynamically allocated name also. - - * src/command.c (print_set_output): Fix memory leak; free old - filename before setting a new one. - - * src/plot3d.c: Remove unnecessary #include "plot2d.h". - -2004-07-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.h (os_error, int_error, int_warn, graph_error): - Reverted change to prototypes for non-ANSI case back from (void) - to (). - - * src/fit.c (Dblfn): Likewise. - -2004-07-21 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_bars plot_betweencurves): If the current - terminal does not support filled_polygons, then fall back to - yerrorbars plot style as per the documentation. - -2004-07-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/post.trm (PS_make_header): Moved prototype into PM3D-only - section. - -2004-07-21 Lars Hecking <lhecking@nmrc.ucc.ie> - - * demo/Makefile.am.in: Add labelplot.pdb and nearmap.csv to - Makefile.am target. - -2004-07-19 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_plot): Write the key titles using - write_multiline() rather than calling term->put_text() directly. - - * src/set.c (set_key): Fix order-dependence of 'set key' command. - -2004-07-18 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Update "Creator: " field to report version 4.1 - - * term/post.trm: Petr's optimized format for solid pm3d quadrangles - can be generated even outside the pm3d code, so the \h macro it uses - must be defined in the header regardless of whether pm3d is in use. - -2004-07-17 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_filled_polygon): Remove extraneous gsave - introduced by previous patch, which fixes the observed slowdown. - -2004-07-16 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_filled_polygon): The polygon fill code was - mis-nesting gsave/grestore pairs, leading to several rather odd - results. Fixes bug #992565 and also the loss of color information - in pattern-filled fillcurves. - - * term/post.trm (PS_filled_polygon): Restore Petr's preferred - compact format for the quadrangles that make up a pm3d surface, - and add a gsave/grestore pair around the fill command. Fixes the - moir effect observed in ghostscript/gv with antialiasing enabled. - Downside: takes longer to render; noticeable on a slow machine. - -2004-07-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/fig.trm (FIG_arrow): Use actual linetype variables rather - than those in FIG_line --- those are only set by FIG_vector, which - isn't being called by FIG_arrow. - -2004-07-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/show.c (show_version): Removed text about backwards - compatibility of pre-4.0 syntax from startup message. - - * term/x11.trm (transmit_gradient): Made static. Missing - prototype added. - - * term/post.trm: General CodeStyle cleanup. - (ps_fontfile_def): Made static. - (PS_make_header): made static. - - * term/gd.trm (png_smooth_color): Made static. - - * src/variable.c (fontpath_tbl): All 5 instances made static. - - * src/util.h (chr_in_str): Unused, prototype commented out. - - * src/util.c (chr_in_str): Unused, commented out. - - * src/term_api.h (change_term): Removed prototype from here. - - * src/term.c (enhanced_recursion): Made static. - (change_term): Made static. Prototype moved here from term_api.h. - (term_count): Unused, commented out. Removed GP_INLINE flag. - - * src/specfun.c (merror, erf): Made static. - - * src/set.c (pm3d_last_set_palette_mode): Made static. - (parse_histogramstyle): Made static. - - * src/save.h: Added missing #include "axis.h". - - * src/save.c: Moved #include "axis.h" to header. - - * src/plot2d.c (histogram_range_fiddling): Made static. - - * src/mouse.c (usual_special_keys): Made static. - - * src/misc.c (recursivefullname): Added missing prototypes. - (arrow_use_properties): Made static. Moved prototype here, from - misc.h. - - * src/graphics.c (place_histogram_titles, style_from_fill): Made - static. - - * src/gplt_x11.c (process_configure_notify_event): Added missing - prototype. - (getMultiTabConsoleSwitchCommand): Fixed used of __PROTO() macro - in prototype. - - * src/getcolor.h: Added missing #include "color.h". - (color_components_from_gray, calculate_color_from_rgb_formulae, - color_to_str, str_to_color, rgb255_from_gray): Removed prototypes. - - * src/getcolor.c: Removed #include "color.h" --- done in - getcolor.h now. Massive reindentation and CodeStyle cleanup. - (color_components_from_gray, color_to_str, str_to_color): Made - static. Prototypes moved in here, from getcolor.h. - (calculate_color_from_formulae): Added missing prototype. - (rgb255_from_gray): Unused, commented out. - - * src/gadgets.h (suppressMove): Unused, commented out. - - * src/gadgets.c (suppressMove): Unused, commented out. - (draw_clip_line): Usage of suppressMove commented out. - - * src.fit.c(log_axis_restriction): Added missing prototype. - - * src/datafile.c (df_no_tic_specsm, df_column, - df_parse_string_field): Made static. - - * src/command.c (capture_filename_and_pfopen): Added missing - prototype. - -2004-07-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/unset.c (unset_mtics): Renamed to unset_minitics, for - clarity. - (unset_month_day_tics): New function, to implement 'unset xmtics' - and friends. - (unset_command): Change all calls of unset_mtics to the new name. - Implement previously missing 'unset xmtics' and friends by calling - new function. - -2004-07-09 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c (parse_esc): Limit size of octal constants to 3 chars, - possibly with a leading 0. This prevents consuming additional - numerical characters from input stream. - -2004-07-08 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (pr_font): Before falling back all the way to a fixed - width font, try two common scalable fonts (helvetica, arial) as a last - resort. Fixes bug #963211 on systems with either of these fonts. - - * src/gplt_x11.c (exec_cmd) term/gd.trm (PNG_point): Apply current - linewidth to point symbols. - - * src/misc.c (get_style): Add new styles 'labels' and 'histograms' to - the error message listing possible styles. - - * configure.in: Make --enable-histograms the default. - - * demo/all.dem: Add fillbetween, datastrings, and histograms demos. - -2004-07-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/pdf.trm (PDF_init): Call PDF_open_file() instead of - no longer existing function PDF_open_fp(). - - * demo/datastrings.dem, demo/starmap.dem: Replaced Windows-only - font name Arial by Helvetica. - - * docs/gnuplot.doc: Remove whitespace-only lines. - (contour): Remove outdated info on limited number of contour - lines. - -2004-07-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Integrated SF patch #976546 by Stephane Barbaray, with some - additional changes by me. - - * term/emf.trm: Reindented. Ancient hacks for NeXT and <assert.h> - purged. - (EMF_PX2HM): Changed to 26.37. - (EMF_HCHAR, EMF_VCHAR): Changed by factors 0.6 and 1.3, - respectively. - (EMF_set_font): Multiply recomputed values for h_char and v_char - by 0.6 and 1.3, respectively. - (EMF_setfont): Output correct font struct size with some fields - previously missing. - (EMF_graphics): Divide by EMF_PX2HM instead of 20. Make reference - device 1024x768 pixels, 270x200 mm. - (EMF_put_text): Use ExtTextOutA instead of ExtTextOutW, include - array of offsets - (EMF_point): Disable special treatment of negative point types, - i.e. dots --- why? - (EMF_set_pointsize): Don't divide base size by 2. - -2004-07-07 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.c (WndTextProc): Fix bug introduced during - ANSI-fication operation. - -2004-07-05 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Rework event-handling subroutines so that the - intermediate window resize and redraw events are skipped if possible. - This reduces the hysteresis when the window is resized by dragging. - Patch by Jay Painter <jpaint@u.washington.edu>. - -2004-07-05 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (place_labels3d place_arrows3d get_arrow3d): Test for - wrap-around of negative coordinates when converted to unsigned screen - coordinates by map3d_position. If wrap-around has occurred, then skip - this label or arrow when drawing the 3D plot. This really should be a - general test for out-of-bounds, but the simple test at least catches - some potentially fatal errors that have already happened. - -2004-07-04 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: --enable-histograms - - * demo/histograms.dem demo/histograms2.dem demo/immigration.dat: - Demonstration files for 'plot with histograms' - - * docs/gnuplot.doc: Documentation for 'plot with histograms'. - - * src/datafile.c src/datafile.h src/gadgets.c src/gadgets.h - src/gp_types.h src/graph3d.c src/graphics.c src/graphics.h - src/plot2d.c src/save.c src/set.c src/show.c src/tables.c - src/tables.h src/unset.c: Integrate SourceForge patchset #606169. - - New plot style "with histograms" produces a bar chart from a sequence - of data columns in parallel. Each element of the `plot` command must - specify a single input data source (e.g. one column of the input file), - possibly with associated tic values or key titles. Three styles of - histogram layout are currently supported. - set style histogram clustered {gap <gapsize>} - set style histogram rowstacked - set style histogram columnstacked - -2004-07-04 Ethan Merritt <merritt@u.washington.edu> - - * src/color.h src/plot2d.c (get_data) src/plot3d.c (get_3ddata) - src/save.c (save_set_all) graphics.c (bound_intersect) - term/cgm.trm term/pdf.trm term/svg.trm: - Add #ifdef PM3D where appropriate to allow building without PM3D. - - * src/gp_types.h: This patch starts to make term->filled_polygon - and filledcurves independent of PM3D. - - * src/term.c (test_term): Fix broken test of filled_polygon. - - * src/graphics.c (plot_betweencurves, fill_between, bound_intersect): - ANSIfication of function definitions. - -2004-07-04 Hans-Bernhard Broeker <broeker@accip02.physik.rwth-aachen.de> - - * src/set.c (set_arrow): Fix parsing of 'rto' vs. 'to'. Thanks to - Shigeharu Takeno for spotting this. - -2004-07-03 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: --disable-datastrings - - * demo/ctg-y2.dat demo/datastrings.dem demo/labelplot.pdb - demo/nearmap.csv demo/starmap.dem demo/table.dat: - Various demos for 'plot with labels' and for reading axis tic labels - and plot labels from a data file. - - * docs/gnuplot.doc: Documentation for 'plot with labels' - and for reading tic and plot labels from a data file. - - * src/axis.c src/axis.h src/datafile.c src/datafile.h - src/gadgets.c src/gadgets.h src/gp_types.h src/graph3d.c - src/graph3d.h src/graphics.c src/graphics.h src/plot2d.c - src/plot2d.h src/plot3d.c src/save.c src/set.c src/setshow.h - src/show.c src/tables.c src/util.c src/util.h: - Integrate the "datastrings" patchset (SourceForge #595850). - - New plot style "with labels" will read a string, possibly delimited - by quotes, from the data file and place it at the x, y, {z} - coordinates specified. E.g.: - plot 'datafile' using 1:2:3 with labels - splot 'datafile' using 7:8:9:4 with labels - - New internal functions specific to the 'using' option that specify - that string data from a datafile column is to be used for tic labels, - or that string data from a datafile row is to be used for plot key - titles. E.g.: - plot '-' using 0:2:xticlabels(1) title 2 with boxes - xxx "2001" - Jan 123 - Feb 456 - Mar 78 - e - This will plot a histogram with each an x-axis tic label under - each box: "Jan", "Feb" etc. The plot key will list the plot with - title "2001". - -2004-07-02 Ethan Merritt <merritt@u.washington.edu> - - * gnuplot/src/gp_types.h gnuplot/src/graphics.c gnuplot/src/plot2d.c: - Rename PLOT_STYLE_HAS_BOXES to PLOT_STYLE_HAS_FILL since it now - applies to objects other than boxes. - -2004-07-02 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c src/color.h src/gadgets.h src/gp_types.h src/graphics.c - src/misc.c src/plot2d.c src/pm3d.c src/set.c src/tables.c src/tables.h - src/term_api.h src/term.c: - - New capabilities for filledcurves plot style. - (1) New options "above" and "below" to limit filled area to one side of - the bounding line or second curve. - (2) New ability to fill area between two curves (triggered if 3 input - columns are given. E.g. `plot "data" using 1:2:3 with filledcurves` - (3) Apply current fill style to filledcurves (requires terminal support - in term->filled_polygon). - - * demo/fillbetween.dem docs/gnuplot.doc: documentation and demo file - - * term/cgm.trm term/gd.trm term/pdf.trm term/post.trm term/svg.trm - term/x11.trm: Modified filled_polygon() to apply fill style passed in - the color structure of the first vertex. - - * src/gplt_x11.c: Back-end support for applying explicit fill style - to filled_polygon. Beware of incompatibility with early versions. - -2004-07-02 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Minor cleanup of enhanced text "phantom box" macros. - -2004-07-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL, VERSION: Changed to version 4.1, patchlevel 0. - - * src/version.c (gnuplot_version, gnuplot_patchlevel, - gnuplot_date): Updated by regenerating the file. - - * docs/gnuplot.doc, docs/titlepag.ms, docs/doc2texi.el: Update - number in the title pages. - - * docs/gnuplot.texi: Regenerated. - -2004-07-01 Ethan Merritt <merritt@u.washington.edu> - - * src/fit.c: #include gp_time.h is now necessary. - -2004-07-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Raised to 2 to mark post ANSI-fication status. - - * src/version.c (gnuplot_patchlevel, gnuplot_date): Updated. - - * ChangeLog, ChangeLog.0: Cycled the ChangeLog. Entries before - the 4.0.0 release are now in ChangeLog.0, newer ones in ChangeLog - (this file). - - * src/util.c (mant_exp): Modulo results can be negative. - Aaargh! - -2004-06-30 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Raised to 1 in preparation of ANSI-fication. - - * src/version.c (gnuplot_patchlevel, gnuplot_date): Updated. - (RELEASE_VERSION): Turn off. - - * INSTALL: removed pointless copy of startup banner screen. - - * docs/gnuplot.texi: Regenerated. - - * term/post.trm (PS_linewidth_last): New variable. - (PS_graphics, PS_point, PS_fillbox): Initialize it. - (PS_linetype): Call PS_FLUSH_PATH here, too. - (PS_linewidth): Don't break the path if the new linewidth is the - same as the cached value PS_linewidth_last. Do a PS_FLUSH_PATH - here, too. - - * term/debug.trm (DEBUG_arrow): Fix type of 'head' argument. - - * src/hidden3d.c (in_front): Slight change to handling of points - falling onto edges of triangles in 2D. Reindentations. - - * src/fit.c (log_axis_restriction): New function to output the - actual state of the axis ranges, as optionally modified by range - specified in the fit command line. - (fit_command): Use it. - - * src/graphics.c (plot_bars): Reindentation. - - * src/util.c (mant_exp): Reindentation. - - * src/plot3d.c (print_3dtable): #undef OUTPUT_NUMBER earlier. - -2004-06-24 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_reset): If 'pause mouse' terminates because - the plot window is closed, insert an extra '\n' into the input - stream so that the first character of the subsequent command is - not swallowed. - -2004-06-20 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_reset), src/command.c (pause_command), - docs/gnuplot.doc: Set MOUSE_KEY to -1 when the "pause mouse {key}" - command is issued; if it is still -1 when checked later, then the - calling program may assume that no mouse input was successfully - given. - - * src/command.c (pause_command): Change the test for legality of - "pause mouse" command from "if (term_initialised)" to "if - (mouse_setting.on)". Really it should test whether the current - terminal supports mousing at all, but we don't yet have such a - flag. - - * src/gplt_x11.c (process_event): Translate keystrokes using - XLookupString() rather than XKeycodeToKeysym(). This method - handles characters produced using shift, alt, or other multi-key - sequences. - - * src/graphics.c (plot_f_bars plot_c_bars), term/gd.trm - PNG_options): Make sure that the tic size is greater than zero. - -2004-06-20 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c (key_sample_line_pm3d key_sample_point_pm3d): - Fixed wrong step for negative palette. - - * src/color.c (set_color) src/command.c (test_palette_subcommand) - src/show.c (show_palette_palette): Removed useless comments. - -2004-06-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c (set_color, draw_inside_color_smooth_box_bitmap) - src/pm3d.c (cb2gray): Invert gray in routine pm3d.c:cb2gray(cb), - instead of color.c:set_color(gray). The latter is now just setting - term->set_color(gray) if the terminal supports set_color() API. - - * graph3d.c (do_3dplot): Fixed set_color(z2cb( cb2gray(cntrs->z)) - to set_color(cb2gray( z2cb(cntrs->z) )). - - * gadgets.c (apply_textcolor): Take care of positive/negative - palette for 'set label ... textcolor frac ...'. - -2004-06-17 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (process_event): Send a GE_reset event back to gnuplot - if the current plot window is closed. - * src/mouse.c (event_reset): Terminate paused_for_mouse state whenever a - GE_reset event is received. - -2004-06-16 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (mainloop): Yet another tweak to the mouse timing code. - This one reduces mouse-tracking hysteresis on systems that claim to have - usleep() but in fact have much coarser timing. - -2004-06-16 Petr Mikulik <mikulik@physics.muni.cz> - - * src/save.c: Save log cb axis (bugfix). - -2004-06-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Do not start zooming during 'pause mouse'. - -2004-06-12 Ethan Merritt <merritt@u.washington.edu> - - * show.c (show_datafile): Provide missing show commands for suboptions - "show datafile {separator|comment|missing}". - -2004-06-12 Ethan Merritt <merritt@u.washington.edu> - - * datafile.h: define DF_MISSING as a return code from df_readline(). - * datatile.c (df_readline): If a data field contains the missing data - string, return DF_MISSING rather than DF_UNDEFINED. - * fit.c (fit_command): Explicitly ignore DF_MISSING data. - * plot2d.c (get_data): Explicitly test for data marked DF_MISSING - but treat it the same as DF_UNDEFINED. - * plot3d.c (get_3ddata): Explicitly test for data marked DF_MISSING - but treat it the same as DF_UNDEFINED. - - These are trivial changes that do not affect the existing behavior of - gnuplot. However, the core routines in plot2d and plot3d now have the - information needed to treat missing data differently depending on the - plot style if desired. - -2004-06-06 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/mouse.c src/gplt_x11.c - term/x11.trm docs/gnuplot.doc docs/gnuplot.texi: - `pause mouse keypress` option behaves exactly as `pause mouse` except - that the pause can be terminated by a keystroke while the plot window - has focus. On return, the variable MOUSE_KEY contains the mouse button - number if the pause terminated on a mouse click, otherwise it contains - the key code of the key that was pressed. Normal ascii characters will - return their ascii code; other keyboard keys are assigned codes from a - table in mousecmn.h. The command may be shortened to `pause mouse key`. - -2004-06-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.h src/mousecmn.h src/mouse.c: Split array special_keys[] of - of key names and key codes into special_keys[] and usual_special_keys[], - so that "usual" keys (like BackSpace, Tab, Enter, Return, Escape, Tab, - Delete) can have their "usual" keycodes instead of those >=1000. - Changed lookup_key() and bind_fmt_lhs() in mouse.c to look into both - arrays. This does not change any functionality of the current version - of gnuplot, but will help new future features (like "pause mouse key"). - -2004-06-03 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm (EMF_linewidth): Force re-evaluation of line - characteristics when the linewidth changes; otherwise the new width - is ignored until some other property changes as well. - -2004-06-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/fillcrvs.dem: Add text to pause -1 prompts. - - * docs/gnuplot.doc (plot datafile using): Document restrictions of - 'using' format-strings. - - * src/datafile.c (valid_format): Check that there's at least one - actual %lf format in the format string, and no more than 7, - because the scanf() that uses the format supplies only 7 arguments - to store data in. - (plot_option_using): Change error message to reflect new status - output of valid_format(). - -2004-05-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/getcolor.c (color_components_from_gray): Test gray value for - being in range [0;1]. - -2004-05-27 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (PaletteSetColor): Test for overflow of index - derived from color ramp calculation. Is this algorithm really correct? - -2004-05-27 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_make_header): Change definition of /pm3dround - to fix color mapping with 'set palette maxcolors'. - - * src/win/wgraph.c (drawgraph): Change call from rgb255_from_gray() to - rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette - maxcolors'. - -2004-05-26 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (PaletteSetColor): Fix off-by-one error in indexing - color ramp of gray values. - - * src/mouse.c (do_event): Allow font and terminal size information to - be processed while in multiplot mode. See bug #955081. - -2004-05-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/getcolor.h src/getcolor.c: New routines rgb1maxcolors_from_gray() - and rgb255maxcolors_from_gray(). - - * term/aquaterm.trm (AQUA_set_color) term/pdf.trm (PDF_set_color): - Change call from rgb1_from_gray() to rgb1maxcolors_from_gray(). Fixes - color mapping with 'set palette maxcolors'. - - * svg.trm (SVG_set_color): Change call from rgb255_from_gray() to - rgb255maxcolors_from_gray(). Fixes color mapping with 'set palette - maxcolors'. - -2004-05-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (event_buttonpress): Don't start zooming box if replot is - disabled. - -2004-05-24 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (exec_cmd): Flush polyline to X-server when it reaches - half the maximum single request size supported on the current display. - - * term/dumb.trm term/gd.trm term/pfg.trm term/x11.trm: The enhanced text - overprint parameter was used as an (int) in some drivers, even though it - is declared as a TBOOLEAN. Change it to (int) everywhere. - -2004-05-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c src/term.c term/hpljii.trm: SF bug #953887 non-portable C - code (prototypes & TBOOLEAN): input parameter for routines cannot be - char, they must be int. - -2004-05-21 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (mainloop): Add a 100 usec delay to the event flush - loop, so that if the other end of the pipe is jammed (gnuplot STOPPED) - it doesn't monopolize CPU cycles. Fixes user-triggered error condition - reported in bug #930426. - -2004-05-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/graphics.c (plot_boxes): Clip lower border of - boxxyerrorbars, too. - (do_plot): Regrouped master switch over plot types. Draw box - first in BOXERROR mode, to keep the lower part of the errorbar - visible. - - * src/util.c (mant_exp): Extend technique for rounding exponents - depending on the printf format precison of the mantissa to format - specifiers %l and %L used for log bases other than 10. Fixes SF - bug #851685. - -2004-05-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/debug.trm (DEBUG_arrow): Fix type of 'head' argument - overlooked in earlier global change. - - * src/plot2d.c (get_data): Fix mininum number of columnts for - boxerrorbars style. Fixed handling of 4-column boxerrorbars in - case of "set boxwidth -2" to match the documentation. - - * src/graphics.c (plot_impulses): Fix bug in clipping of impulses - for out-of-range points. Was using an integer value to store a - floating-point temporary number. - - * src/plot2d.c (print_table): Make the table terminal output two - blank lines at the end of each curve_points structure, to allow - selection of individual datasets via the 'index' option. - - * docs/doc2texi.el (d2t-handle-html): Handle anchor-only <a> tags - more sensibly: output them to the texinfo file as a @c comment. - Patch from Shigharu Takeno. - - * docs/gnuplot.texi: Regenerated. - -2004-05-19 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c: Fix broken zoom history with a log axis. - -2004-05-17 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c src/win/wpause.c: Support for "pause mouse" in Windows - terminal. - -2004-05-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): prevent plot from flipping upside-down - if the title or key take up too much vertical space. - - * term/post.trm: Add explicit default case to encoding switch. - -2004-05-09 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Reduce time delay in waitforinput() from 1 sec - to 100 usec. - -2004-05-09 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc src/term_api.h src/term.c term/post.trm: Add support - for CP1250 character encoding (Central and Eastern Europe encoding on - MS-Windows). - -2004-05-09 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/README: Clean up some of the descriptions. - -2004-05-07 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Add an explicit "noenhanced" option to set term x11, - since otherwise once you select enhanced text you cannot turn it off - again. - -2004-05-07 Franz Bakan <fbakan@users.sourceforge.net> - - * src/os2/gclient.c: SF bug #940596. Match menu items "GnuplotPM -> - Mouse -> Coords format -> ..." to the text actually printed. - -2004-05-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.c (WndTextProc): Fix unbelievably old - long-standing bug: dragging the scroll bar "thumb" around didn't - work, because the method of acccessing the position was completely - wrong. - -2004-05-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/set.c (set_range): Fix SF bug #946900: buggy interaction of - 'set view map' with 'set yrange'. - (set_view): Make error message string variables static and const - to preserve some stack. - -2004-05-03 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c, term/x11.trm: Move handling of mouse click after - 'pause mouse' from mouse.c to x11.trm. This removes an otherwise - unnecessary do_string("replot") from mouse.c, and instead adds an - explicit check for mouse button release in X11_waitforinput(). - - * demo/mousevariables.dem: Add a comment after final pause command. - - * src/set.c src/unset.c: Call gp_strdup() rather than strdup() as - otherwise the test in ./configure is pointless, and gnuplot fails - to link on systems without strdup(). - - * term/x11.trm: Redefine VMS-only macro to allow if/then/else - constructs: GO(x) = do {} while (0) - - * src/show.c: Protect call to add_history() with a test for the - presence of READLINE support. - -2004-04-30 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gpcard.tex: Remove duplicated X11 terminal entry. - -2004-04-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Fix description of default format being "% g" - instead of "%g". - -2004-04-26 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: New section "Gnuplot-defined variables". Reference - function defined(x) from section "User-defined variables". - -2004-04-24 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Correct the placement of rotated text to account - for the difference in x and y coordinate scaling. This greatly - improves the rendering of rotated text in enhanced text mode. - -2004-04-22 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.c (set_cbminmax): Don't bail out if cbrange is empty. - Let the caller handle it by auto-extending the range, as usual. - - * src/command.c (read_line): Fix bug where growing the line buffer - interfered with handling of backslash-newline continuations. - -2004-04-21 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * demo/Makefile.am.in (check-noninteractive, check-interactive): - keep the previous $PATH at the end of the one set for running the - newly built, not yet installed gnuplot. Needed so Cygwin binaries - can find Cygwin1.dll, even if it's not installed in the Windows - DLL path. - -2004-04-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.texi: Regenerated. - - * docs/gnuplot.doc: Fixed missing leading blanks broken during URL - updates. - - * docs/Makefile.in ($(srcdir)/gnuplot.texi): Fix missing blank in - file copying rule. - -2004-04-17 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm: Clear all I/O locks when X11_reset is called. - This is a more generic fix for the problem addressed by the patch - of 2004-04-13, and covers cases such as a remote X-server failing - to respond. Even without this patch the connection will eventually - timeout, but with the patch you can ctrl-C out rather than waiting. - diff --git a/docs/old/ChangeLog.2 b/docs/old/ChangeLog.2 deleted file mode 100644 index 90986ea60..000000000 --- a/docs/old/ChangeLog.2 +++ /dev/null @@ -1,6272 +0,0 @@ -This is the ChangeLog covering gnuplot development between November 2006 -(version 4.2-rc1) and November 2009 (4.4-rc1). -======================================================================== -2009-10-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: Initialize each new surface in a 3d dataset directly - from the first surface. - Bug #2876167 - -2009-10-14 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.585 - -2009-10-10 Jost Brachert <jotyc@users.sourceforge.net> - - * src/datafile.c (plot_option_index) docs/gnuplot.doc: - Allow a blank trailing index spec to indicate "until end of file". - -2009-10-10 Alexander Täschner <taschna@users.sourceforge.net> - - * src/tabulate.c: Fix tabular output of log scale data. - Bug #2849166 - -2009-10-09 Thomas Sefzick <thse@users.sourceforge.net> - - * term/latex.trm: Add an option for rotated text in the old latex - terminal. 'set term latex rotate' enables it and turns off the - previous 'stacked' y-label mechanism. - -2009-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes) demo/imageNaN.dem: - NaN/Inf values in the input are processed differently depending on - whether they are read directly from the input file or generated by an - input expression. Both cases should be treated equivalently for the - purpose of IMAGE rendering. - NB: Fixes 2D case but not 3D case, as shown by revised imageNaN demo. - Bug #2875069 - -2009-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * FAQ.pdf Makefile.am: FAQ.pdf replaces outdated FAQ - - * src/graph3d.c (do_3dplot): Explicit 'set xyplane at <z-value>' should - be honored even if the x and y tics are turned off. - Bugfix - - * src/graph3d.c (plot3drequest): Fixes spurious error from old tics, - e.g. "set ytics ("Bug" 0); unset ytics; set ytics; splot x*y" - -2009-10-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/term.c (term_start_multiplot): Accept an explicit font for - the multiplot title. - -2009-10-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Silence a compiler warning if gdUseFontConfig() is - defined to be 0. - - * demo/html/webify.pl demo/html/webify_svg.pl demo/html/webify_canvas.pl - If GNUPLOT_LIB is not defined, set it to .. - Bug #2868958 - -2009-10-06 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * config/makeile.mgw: Override the -mwindows compilation flag - provided by wx-config. - -2009-09-17 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm (CANVAS_graphics): Be wary of uninitialized - global variables when setting up the mouse event handler. - -2009-09-17 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/win/winmain.c (MyFPrintF, MyVFPrintF, MyPrintF): Cannot call - va_list functions twice with the same va_list. Have to call a - pair of va_end() and either va_start() or va_copy() in between. - -2009-09-16 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/emf.trm (ENHemf_FLUSH): Possible fix for the problem of - Windows utilities not properly displaying files created by - enhaced text mode. Bug #2744404 - -2009-09-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/set.c (set_termoptions): Clean up the code for - 'set termoption <foo>', using terminal flags to ensure that a command - is only sent to terminal types that can handle it. - - * docs/gnuplot.doc term/cairo.trm term/canvas.trm term/cgm.trm - term/emf.trm term/gd.trm term/pdf.trm term/post.trm term/svg.trm - term/tgif.trm term/x11.trm docs/gnuplot.doc: - Add flag to allow "set termopt linewidth <lw>" - -2009-09-08 Philipp K. Janert <janert@ieee.org> - - * src/specfun.c: Fixing the static function declarations for the - Airy function. - -2009-09-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/win/wgraph.c (drawgraph): Make sure to update current position - after drawing a polyline. - Bug #2213362 - - * src/graphics.c (boundary): If there is no colorbox, don't try to - assign tick positions for it. - Bug #2822482 - - * term/gd.trm: Re-order initialization of background color, correct - compilation warnings if using libgd 2.0.36 - -2009-09-05 Philipp K. Janert <janert@ieee.org> - - * src/specfun.c src/specfun.h src/eval.c docs/gnuplot.doc: Adding - support for the Airy function Ai(x) as gnuplot function airy(x). - -2009-09-03 Alexander Täschner <taschna@users.sourceforge.net> - - * src/datafile.c (df_generate_pseudodata): Fix off-by-one error in - generating the number of points corresponding to samples. - -2009-09-02 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * docs/gnuplot.doc docs/plotstyles.gnu demo/histerror.dat: - Add a figure to the pdf documentation showing histogram with errorbars. - -2009-09-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_tic_prop): When xtics (e.g.) were unset, then a new - command 'set xtics ...' could lose track of the tic properties being set. - Bug #2848433 - -2009-08-31 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/wpause.c src/wxterminal/gp_cairo.c: Fix ambiguous syntax and - bad format statement that generates compiler warnings. - -2009-08-30 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * config/makeile.mgw: The cairo terminals need gp_cairo_helpers also. - -2009-08-28 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * config/makefile.mgw: Separate configuration flag CAIROTERMS for - inclusion of pngcairo and pdfcairo terminals. - EAM - Share a CAIROLIBS flag for use by both WXT and CAIROTERMS. - -2009-08-28 jpsa <john-aldridge@users.sourceforge.net> - - * src/win/wgraph.c: Use printer open method recommended by - Microsoft knowledge base article 240082. - -2009-08-28 Alexander Täschner <taschna@users.sourceforge.net> - - * src/win/winmain.c: Avoid buffer overflow in MyPrintF and MyFPrintF. - -2009-08-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphcs.c (boundary): Fix bug #2845874 - (Rotated xtics caused misplacement of explicit bmargin). - -2009-08-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/breaders.c (png_filetype_function df_libgd_get_pixel) - src/breaders.h src/datafile.c (df_open df_readbinary): - If gnuplot has been linked with libgd (to support gif/png/jpeg) then - we might as well use its ability to read in png images as binary data. - New binary option for use with either rgbimage or rgbalpha - plot 'foo.png' binary filetype=png - - * src/datafile.c (plot_option_binary): Fix the logic that checks for a - default binary filetype if none is specified in the plot command. - - * docs/gnuplot.doc docs/plotstyles.gnu docs/bldg.png: - Add a sample plot the uses rescaled png images as plot elements. - -2009-08-26 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in term/canvas.trm: Remove EXPERIMENTAL flag from - canvas and wxt terminals. - - * term/post.trm: Fix typos in version history - -2009-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readbinary): The binary data syntax - splot ... binary array=(x,y) - is very odd because it always fills in the z coordinate of each - voxel with 0 rather than with the actual array value. This makes a - small amount of sense for IMAGE data, but makes the input mode useless - for plotting a data surface from a binary array. This patch changes - the behaviour by loading the array value into z for non-image plots. - -2009-08-19 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tgif.trm: - 1) supports continuous colors (make_palette, set_color) - 2) supports fill patterns (filled_polygon) - 3) supports the density of solid fill (filled_polygon) - 4) adds TGIF_fillbox and TGIF_previous_palette (doing nothing) - 5) modifies two variable names (u* -> d*) - 6) swap point types 1 and 2 to match other terminals - -2009-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c docs/gnuplot.doc: More problems with - iterate plus in-line definitions. The scope of iteration within a plot - command is documented as extending to the first comma or semicolon, but - unfortunately the parser didn't allow omiting the comma after a - definition. Now it does. Add simple examples to the documentation. - -2009-08-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tgif.trm (TGIF_set_color): Support for RGB colors and TC_LT. - -2009-08-13 anonymous - - * term/tek.trm: Add support for xterm tektronix emulation - -2009-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: The combination of iteration and in-line definition was - fatal to splot. Move the iteration check to encompass definitions also. - Bug #2833808 - -2009-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): The calculation of vertical space required - to hold rotated x axis tick labels was only being done if the margins - were in auto mode. Rearrange the code so that the calculation is also - made for plots with explicit 'set [tb]margin'. - Bug #2830712 - -2009-08-04 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Expand section on newhistogram command. - -2009-08-04 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * configure.in: Remove unwanted spaces. - - * qtterminal/QtGnuplotScene.* qt_term.cpp: Changed round() to qRound(). - - * qtterminal/QtGnuplotInstance.* qtterminal/embed_example.*: Forward - gnuplot standard outputs to a custom frame. - -2009-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/color.c src/graphics.c src/graph3d.c: - Add an additional parameter to all tick_callback() routines. In the case - of auto-generated ticks, we use this to pass in a list of user-specified - labels in case one is supposed to replace the auto-generated label. - The actual label replacement is only implemented for 2D plots. - -2009-08-01 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * qtterminal/QtGnuplotWindow.cpp qtterminal/QtGnuplotEvent.cpp qt_term.cpp: - Close the current plot window when [ctrl+]q is pressed. - - * qtterminal/QtGnuplotInstance.cpp: changed the default path for the - gnuplot executable in embedded widgets from the local directory to the main - path. - -2009-07-31 James R. Van Zandt <jrvz@comcast.net> - - * docs/gnuplot.doc: Cross reference to "set xyplane" instead of - deprecated "set ticslevel". - -2009-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Change default state of qt terminal to disabled. - To build with qt support use ./configure --enable-qt - - * src/qtterminal/Makefile.am: Add additional files to the list of - things to be placed in the distribution package. - -2009-07-30 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * configue.in: Fix a compile error when the Qt terminal is disabled. - -2009-07-29 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - * configue.in src/Makefile.am: better check for Qt tools - moc uic and lrelease. - -2009-07-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Handle xticlabels() in the case of - histograms with errorbars. Bugfix - -2009-07-28 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * qtterminal/po/qtgnuplot_ja.ts: Japanese translation. patch 2828290 - -2009-07-28 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * qtterminal/qt_term.cpp: When consecutive motion events are received, - only process the last one. - * src/Makefile.am: Fix make rules for embed_example - -2009-07-27 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * qtterminal/qt_term.cpp qtterminal/QtGnuplot.pro qtterminal/po/*: - Add an internationalization framework and a french translation. - -2009-07-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (draw_color_smooth_box) src/gadgets.h src/gadgets.c - src/graphics.c (boundary): Add a field color_box.xoffset to allow the - colorbox to be shifted left or right from the default placement. - Use this internally to correct for the width taken by y2 tics and - labels. - Bugfix: 'set y2tics; plot foo using 1:2:3 axes x1y2 lc palette' - - * src/graphics.c (do_polygon): Change the clipping rules for polygons - to match those of rectangles. A polygon is clipped only if all of its - vertices are specified in plot coordinates (i.e. not screen or graph - coordinates). - -2009-07-24 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * qtterminal/qt_term.cpp: use locale config macros - - * qtterminal/QtGnuplotWindow.cpp: remove the "export to EPS" option. - - * qtterminal/QtGnuplotWidget.cpp: terminal size option is now working - Changed the default background color from red to white. - - * qtterminal/QtGnuplotScene.cpp: clip the zoom rect on half integer - coordinates. - - * qtterminal/QtGnuplotInstance.cpp qtterminal/embed_example.cpp: update the - embed example to follow the new size policy. - - -2009-07-23 James R. Van Zandt <jrvz@comcast.net> - - * src/mouse.c (event_buttonpress): Reimplement pan and zoom with - mouse wheel to use axis_array[].min and .max directly, without - using the mouse position. Extend pan and zoom to 3D plots. Add - documentation and help printout. - -2009-07-20 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/winmain.c: enable load of the correct .ico symbol for the - plotting window within win.trm; LoadIcon(graphwin.hInstance, "GRPICON") - fails if graphwin.hInstance equals NULL. - Patch #1627936 - -2009-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (store2d_point): If the plot uses palette colors taken - from the Z coordinate, then also use Z to auto-scale cbrange. - Bug #2133407 - -2009-07-19 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - Add a Qt terminal, which can either act as a standalone interactive - terminal window or be embedded in an external Qt application. - - * configure.in docs/Makefile.in src/Makefile.am src/makefile.all - src/makefile.awc src/term.c src/term.h ./term/qt.trm - - * qtterminal/* - Makefile.am QtGnuplotApplication.cpp QtGnuplotApplication.h - QtGnuplotEvent.cpp QtGnuplotEvent.h QtGnuplotInstance.cpp - QtGnuplotInstance.h QtGnuplotItems.cpp QtGnuplotItems.h - QtGnuplotResource.qrc QtGnuplotScene.cpp QtGnuplotScene.h - QtGnuplotSettings.ui QtGnuplotWidget.cpp QtGnuplotWidget.h - QtGnuplotWindow.cpp QtGnuplotWindow.h - qt_conversion.cpp qt_term.cpp qt_term.h - embed_example.cpp embed_example.h README.Qt - - * qtterminal/images/* - application-pdf.png configure.png document-export.png document-print.png - edit-paste.png grid.png icon32x32.xpm image-bmp.png image-x-eps.png - view-refresh.png zoom-in.png zoom-original.png zoom-out.png - -2009-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_gui.h: - Pass through mouse wheel events from the wxt terminal, so that the new - pan and zoom works for wxt as well as x11. - -2009-07-17 James R. Van Zandt <jrvz@comcast.net> - - * src/mouse.c (event_buttonpress): Implement pan and zoom with - mouse wheel: wheel to pan up or down, shift-wheel to pan left or - right, control-wheel to zoom in or out, shift-control-wheel to - zoom X axis only. - -2009-07-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c: The "set view" command was incorrectly saved twice. - Bug #2822433 - - * term/win.trm: WIN_filled_polygon(): Attempt to handle pattern fill - by piggybacking on the WIN_fillbox() code that creates a pattern brush. - - * src/graphics.c (plot_image_or_update_axes): In image failsafe mode, - clip the individual rectangles (pixels) to the edge of the plot. - Bug #2820529 - -2009-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/win.trm: Set the fillstyle belonging to a filled polygon. - Unfortunately, the filled_poly code in wgraph.c then ignores this, - but at least we tried. - - * src/win/wgraph.c: Handle negative line types correctly, including - support for LT_BACKGROUND. - Bug #1952287 - - * src/gplt_x11.c: The previous state was not being properly restored - after drawing a filled rectangle. - -2009-07-13 Ethan A Merritt <merritt@u.washington.edu> - - * term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph): - Repair breakage of the set color mechanism. term->set_color() - should set the color simultaneously for pens, fill brushes, and - text. But no other line or fill properties should be affected. - Fixes various reported bugs, including #2725599 - -2009-07-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_fillbox): FS_DEFAULT should be treated as - "fill with current color" rather than "fill with background color". - Bug #2819615 - -2009-07-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Repair incomplete initialization specs for default - object properties. - -2009-07-08 Petr Mikulik <mikulik@physics.muni.cz> - - * term/gd.trm (START_HELP(gif)): Document gif animation options. - -2009-07-07 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.573 - -2009-07-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c: The code was disabling all mousing and mouse events - during multiplot. This had the unfortunate side effect that window - resizing and placement events were never acknowledged. If the first - plot drawn was inside the multiplot, very strange things happened. - Also hotkeys would not work. - Bug #2812476 - - * src/gadgets.h src/gadgets.h src/mouse.c (builtin_toggle_border) - src/set.c: The 'b' hotkey was a no-op in 2D plots, and lost the current - user setting for both 2D and 3D plots. Change it to cycle the border - setting between user / off / full / partial (3D only). - - * src/graphics.c (plot_boxes plot_c_bars do_rectangle do_key_sample): - Remove the fill_corners() routine and instead call term->fillbox() - directly rather than dummying up a call to term->filled_polygon(). - Bug #2804784 - -2009-07-04 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * term/aquaterm.trm (AQUA_options): Fix typo. - -2009-07-03 Harald Harders <h.harders@tu-bs.de> - - * term/cairo.trm: Introduce the struct cairo_params_t that takes all - pdfcairo and pngcairo terminal options, e.g., color, rounded, fontsize, - etc., as it is already done in term/post.trm. This is useful when - different terminals share the same portion of code. - -2009-07-02 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.c: The "size xx,yy" option should have a comma between - xx and yy for consistency with other terminals. - -2009-06-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars): Candlestick boxes that were entirely out - of range on y were nevertheless appearing as a horizontal line along the - plot border. Skip them entirely. Same problem for whiskerbars. - Bugs #2807571 #2812572 - -2009-06-21 Thomas Sefzick <thse@users.sourceforge.net> - - * term/gd.trm: The background color requested in "set term png..." - was not being used in truecolor png output. - Bugfix - -2009-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (test_term): Initialize bounding box. Exercise a few - more terminal properties if available: transparency, enhanced text. - - * configure.in: Remove the EXPERIMENTAL warning from the configuration - options for command line macros and for the tikz/lua terminal. - -2009-06-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h term/wxt.trm: - set term wxt {dashed} {dashlength <dl>} - -2009-06-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_set_color): plot .. lc N should take - only the color from linetype N, not any of the other properties. - Bugfix (e.g. plot sin(x) with lines lt 0 lc 3) - -2009-06-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c src/save.c src/graphics.c src/term_api.h docs/gnuplot.doc - docs/plotstyles.gnu: Add new linestyle property 'pointinterval'. - - This is a modified version of patchset #2653943 contributed by - Hans (oe6jwf@users.sourceforge.net). - - * src/term_api.h term/post.trm term/cairo.trm term/pdf.trm term/cgm.trm - term/pbm.trm term/emf.trm term/win.trm: Add a flag TERM_MONOCHROME - that indicates a terminal wants black lines only, even if it is capable - of RGB or palette color. - -2009-06-05 Ethan A Merritt <merritt@u.washington.edu> - - * time.c (ggmtime): Counting back from 1.e38 by one year at a time takes - forever. Limit the range of acceptable time values to +/- 10^12 seconds, - which gives a range of 33688 years forward or back. - * axis.c (gen_tics): Skip calculation of 0-length minor ticks - -2008-06-04 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.lua term/lua/gnuplot-tikz.help - share/LaTeX/gnuplot-lua-tikz.sty: Update the lua terminal scripts to - accept a font size in the second slot of a font descriptor string. - -2009-06-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c: The following test script triggered multiple problems. - "set multi; set x2data time; set x2tics; unset multi;" - - initialize mouse_x, mouse_y to -1; test before using - - initialize mouse values with VERYLARGE (replace magic number 1e38) - - xDateTimeFormat: do not attempt to convert VERYLARGE to a date - Bugfix. - -2009-06-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/gd.trm: Remove redundant section in gif help text. - -2009-06-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Enhanced text markup applied to a - single multibyte character was producing garbage. Fix this for UTF-8. - Other multibyte encoding may still trigger this problem. - Bugfix #2800539 - -2009-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (get_position_default): Ugly hack to work around - ambiguous syntax if "offset x,y" is the last thing in a plot clause. - Bugfix #2726798 - -2009-05-31 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: Sync to rev.1.568 - - * docs/gnuplot.doc term/gd.trm: typos in documentation - -2009-05-31 Ethan A Merritt <merritt@u.washington.edu> - - Start branch for Release 4.4 - - New stuff, i.e. code other than bugfixes or things identified as - being desireable for version 4.4, should be commited in the - development branch only (this one). - - Bugfixes should be applied to both the development branch 4.3 - (this one) and the new one (branch-4-4-stable). When we release - 4.4, we will bump the version number of the development branch to 4.5. - -2009-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Revert the global attribute xml:space="preserve" - because Firefox 3 messes up badly when it is present. - - * demo/html/Makefile.svg demo/html/webify_svg.pl demo/html/index.svg: - Add scripts to generate a demo set for the svg terminal. - - * ChangeLog, ChangeLog.1: Cycle the ChangeLog. - Entries before the 4.2.0-rc1 release are now in ChangeLog.1, - newer ones are in ChangeLog (this file). - - * README, README.1ST, TODO: Quick pass at updating these. - - * src/Makefile.am term/Makefile.am.in: Handle the new term/js and - gnuplot-lua-tikz.sty files correctly during 'make distcheck'. - -2009-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * share/LaTeX/Makefile.am: Add ${prefix}/usr in front of the - install directory for latex files. This probably still doesn't work - correctly, because kpsexpand may not return a reasonable path. - But at least if you have write permission to ${prefix} then - 'make install' will not fail. - Bugfix #2798303 - - * share/LaTeX/Makefile.am term/lua/TODO */gnuplot-lua-tikz.sty: - Move gnuplot-lua-tikz.sty from term/lua/ to share/LaTeX/ so that it can - be installed along with other latex support files. - - * configure.in: Issue a warning that the BSD editline library does not - handle multibyte character encodings. That makes it pretty useless in a - UTF-8 environment. This is not something we can fix. - Bug #2790153 - -2009-05-30 Thomas Sefzick <thse@users.sourceforge.net> - - * src/graph3d.c (do_3dplot): Adjust position of 3D plot with - 'set view equal xyz' so that the center of rotation is at the center - of the screen. - Bugfix #2797226 - -2009-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_mouse.js: Give each plot its own - namespace, so that multiple mouseable plots in the same document do - not overwrite each other's mouse readout. - - * demo/cities.dem demo/html/Makefile.canvas demo/html/webify_canvas.pl - demo/html/index.canvas demo/html/mousebox.template - demo/html/canvas_utf8.dem: - Add scripts to generate a demo set for the canvas terminal. - - * term/js/README: Provide some documentation on using the canvas - terminal to create web pages, and on known browser quirks. - -2009-05-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Javascript output using the "name" option now - initializes the mouse and zoom tracking for each plot. This will be - needed in order to embed multiple mouseable plots in a single document. - - * term/canvas.trm term/js/gnuplot_common.js: - Dots were not handled by the zoom code. Create a new routine Dot(x,y) - to wrap the call to strokeRect(). Bugfix. - - * term/x11.trm: Silence an escaped debug fprintf. Bugfix. - -2008-05-25 Peter Hedwig <peter@affenbande.org> - - * src/Makefile.am term/lua/ChangeLog term/lua/gnuplot.lua - term/lua/gnuplot-lua-tikz.sty term/lua/gnuplot-tikz.help - term/lua/gnuplot-tikz.lua term/lua/NEWS term/lua.trm: - - Rearrange internal documentation, improved error handling, - remove the "script" keyword (script name is now mandatory). - - EAM: term/lua.trm: Create a dummy terminal table for 'tikz' so that - 'set term tikz' can act as a short form of 'set term lua tikz', the - auto-generated documentation knows about tikz, and GPVAL_TERMINALS - lists tikz as an available terminal type (requested by Octave). - -2009-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Test for libgd version 2.0.36 or newer. These allow - us to specify fonts either by filename or by using the syntax of the - fontconfig utility. E.g. "set term png font 'times:italic' 12" - -2009-05-17 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm docs/gnuplot.doc: Restore the option of using one of - libgd's built-in fonts, even if a scalable font is available. - Begin a reorganization of the documentation dealing with fonts. - There is now a top level entry "Fonts" in the manual, with subsections - for font-handling in libgd, PostScript, and cairo (as yet unfinished). - - * term/js/gnuplot_mouse.js (saveclick zoom_in): Do not let the current - mouse event fall through to also activate default desktop actions. - -2009-05-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Initialize xtic_textwidth on entry. - -2009-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: Broken format specifier. - Bug #2750114 - -2009-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Do not call term->text() in between multiplot - sections; it causes a spurious page break in the pdf output. - Bugfix - -2009-05-09 Ethan A Merritt <merritt@u.washington.edu> - - * Makefile.am, src/Makefile.am: Add a top level make target "gnuplot" - that builds only the gnuplot executable. I.e. no auxilliary programs - for testing or demo generation, no documentation or tutorials, etc. - This change was requested in order to simplify cross-compilation. - - * src/graphics.c (boundary): Allow extra space in the right margin if - user-defined xtic labels would otherwise protrude off the right edge of - the plot. - -2009-05-05 Peter Gasparovic (buteo@users.sourceforge.net) - - * term/PostScript/cp1250.ps: Fix code points for Lcaron, lcaron. - Bug #2785002 - -2009-05-05 Thomas Sefzick (thse@users.sourceforge.net) - - * term/pslatex.trm: 'set epslatex ... blacktext' was producing white - text for tics labels, axis labels, key labels, but black title text. - Bug #2750114 - -2009-04-22 Carl Troein (troein@users.sourceforge.net) - - * src/axis.c (get_position_default): Zero each position structure when - allocated. Bug #2778438. - -2009-04-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c: Clean up string handling and remove dead code. - Use strcat() rather than overlapping sprintf(). This should do away - with the need for the "ultrix" mouse patch in our contrib collection, - and also fix Bug #2700365. - -2009-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Only show a list of colors in "show term" if the user - actually set some new colors in the "set term" command. - -2009-04-14 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_mouse.js: Initialize x2 and y2 axes in mousing code. - - * demo/html/Makefile demo/html/webify.pl demo/html/gnuplot_demo.css: - Modify the layout of auto-generated web pages for the demo collection. - -2009-04-13 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc term/canvas.trm: Fix typos in the documentation. - -2009-04-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (find_maxl_keys3d): Fix incorrect layout of key box in - plots with labeled contours (e.g. contours.dem plot #21). - - * src/graph3d.c src/graph3d.h src/set.c src/unset.c docs/gnuplot.doc: - Add a per-plot attribute "nosurface", allowing an individual plot to - opt out of the global 3D setting "set surface". - - * src/datafile.c (plot_option_binary): Do not reset df_matrix_file to - FALSE just because there is a default setting for the binary format. - Bugfix - -2009-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_mouse.c: - Add plot canvas to the focus list so that hotkeys work in Firefox. - -2009-04-04 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/plot2d.c (eval_plots): Initialize newhistogram line type to - current plot linetype. Otherwise "set style incr user" fails. - Bug #2725577 - -2009-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Track current and previous linewidth, so that we - can issue an explicit "PL" (stroke and set linewidth) if it has - changed. - Bug #2725599 - -2009-03-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_mouse.css term/js/gnuplot_mouse.js - term/js/gnuplot_common.js term/js/textzoom.png: - - Revise canvas terminal to provide additional client-side interactions. - - Left mouse-click annotates the graph - - Client side click-and-drag zooming of plots - - Hotkey support (doesn't work in Firefox for some reason) - - Coordinate space is oversampled to retain precision when zoomed - The size of output *.js files is reduced by roughly 25% by using a set - of shared routines kept in a separate file gnuplot_common.js - -2009-03-31 James R. Van Zandt <jrvz@comcast.net> - - * src/parse.c (empty_iteration): Iteration accepts negative - increments. - -2009-03-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Reserve room for user tic labels even if - the format for autoticks is "". - - * src/set.c (load_tics) src/save.c (save_tics): Do not save or restore - axis tic labels that were read from a data file. - Bug #2711994 - -2009-03-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Fix bug that caused the left/right - margin offsets to be applied twice, leading to too-wide margins. - Bug #2714997 - -2009-03-26 Petr Mikulik <mikulik@physics.muni.cz> - - * src/history.c (write_history_list): Indexing istart from 1 otherwise - "history" command (without arguments) does not work. - -2009-03-25 Ethan A Merritt <merritt@u.washington.edu> - - * config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2 config/config.oww config/config.wc configure.in - src/datafile.c src/gplt_x11.c src/gplt_x11.h src/gp_types.h - src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h src/misc.c - src/misc.h src/plot2d.c src/plot3d.c src/pm3d.c src/save.c src/show.c - src/tables.c src/term_api.h src/wxterminal/gp_cairo.c - src/wxterminal/gp_cairo.h src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_gui.h src/wxterminal/wxt_term.h term/aquaterm.trm - term/cairo.trm term/canvas.trm term/dumb.trm term/emf.trm - term/estimate.trm term/fig.trm term/gd.trm term/lua.trm term/pdf.trm - term/pm.trm term/post.trm term/pslatex.trm term/README term/svg.trm - term/win.trm term/wxt.trm term/x11.trm term/xlib.trm - - Remove the conditional compilation status of WITH_IMAGE. - As Lucas Hart points out, for some while now it has not been possible to - successfully build with ./configure --disable-with-image - 'show version long' will continue to report +IMAGE - -2009-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/canvasmath.js: Fill in most of the iso 8859-1 (Latin-1) - character set and add a few more math symbols. - -2009-03-24 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (pm3d_plot): The quadrangles are only prepared but not - drawn by this routine in pm3d depthorder mode, thus set_color() should - not be called. - -2009-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/canvas.trm: set term canvas title "foo" sets the title of the - resulting HTML output document. - -2009-03-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Determine the vertical - placement of text based on the average value found when the font was - selected, rather than on the specific height of this text fragment. - Otherwise successive fragments with different height produce an uneven - baseline. Bug #2661664 - -2009-03-14 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja man/gnuplot-ja.1: - Sync Japanese documentation to gnuplot.doc rev 1.562 - -2009-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Explicitly include $LUA_CFLAGS as reported by pkgconfig. - Bug #2637549 - - * src/axis.c (make_tics): Trap case where there were insufficient data - to determine axis range. E.g. "set view map; set pm3d; splot {0,1};". - -2009-03-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c (fit_command): Replace bogus initialization of dummy_token[] - with explicit declaration. Bug #2657599 - - * src/datafile.c (df_set_key_columnhead) src/datafile.h src/plot2d.c - src/plot3d.c docs/gnuplot.doc demo/datastrings.dem demo/histograms.dem - demo/histograms2.dem: - - Document the plot option "... title columnhead{(N)}" - Move the point where this option is parsed from df_open() to - eval_{3d}plots() with the rest of the title options, using a callback - to a new routine df_set_key_columnhead(). Deprecate the original form - of the command, "using N title N", which was undocumented but used in - several demos. The deprecated syntax is still accepted if configured - with --enable-backwards-compatibility. - -2009-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Bracket the code that draws 3D grid lines with calls to - term->layer(TERM_LAYER_BEGIN_GRID) and term->layer(TERM_LAYER_END_GRID). - - * term/js/gnuplot_mouse.css term/js/prevzoom.png term/js/nexzoom.png - term/js/help.png: Additional icons for the canvas driver. - - * src/graph3d.c (do_3dplot): Define the clipping area in 3D plots to lie - between the left-most and right-most graph box edges. This is a change! - The intent is to allow the canvas terminal to use the plot's BoundingBox - as a zoom region. If it causes problems for other terminals, we will - need to create and use a separate BoundingBox for this purpose. - -2009-03-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Fix assignment of fill patterns to plot boxes and key - for columnstacked histograms. Bug #2664732 - -2009-03-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (find_maxl_keys do_plot): The first entry in a list of - labels is a placeholder for style information. Do not reserve space for - this entry in the key of a columnstacked histogram plot. Bug #2664723 - -2009-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Use AC_SEARCH_LIBS rather than AC_CHECK_LIB when - checking for lua support. This allows for the library to be named - something other than liblua.so. - Bug #2637549 - -2009-03-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/hpgl.trm term/tgif.trm term/gd.trm src/graphics.c: - Fix dereference of uninitialized memory, overlapping memcpy, and - other problems found by valgrind. - -2009-03-02 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_encode_image print_five_operand_image): Fix - related to the patch of post.trm from 2009-01-26: images drawn - "with rgbimage" must always be drawn as rgb colour images. - SF Patch #2613919: postscript outputs colour RGB as palette image - -2009-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.term: "set term canvas {linwidth <lw>}" - -2009-02-28 James R. Van Zandt <jrvz@comcast.net> - - * src/fit.c (fit_command): Allow fitting functions with up to five - independent variables. If there is no data to fit, report how - many data lines were rejected by each range spec. In fit.log, - report user-specified dummy variable names and all range - restrictions (including Z). - - * demo/fit.dem: revise printed comments to show the fit commands. - Demonstrate fitting a function with three independent variables. - -2009-02-27 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Introduce a structure canvas_state to hold internal - state variables. This allows us to avoid redundant writes of the - current color, linewidth, fill settings. The size of image and filled - curve plots is substantially reduced. - - * src/graphics.c (plot_image_or_update_axes): - The flag "rectangular_image" doesn't really indicate what it says. - Fix that so we can use it to call term->fillbox() rather than - term->filled_polygon() as appropriate in image plots. - This makes a significant difference for the canvas terminal, because - drawing a filled rectangle is a primitive operation, whereas filling - a polygon is a relatively verbose sequence of instructions. - -2009-02-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_text_angle): Force angle to fall in the range - [-pi/2 : pi/2]. Reported to avoid problems in some versions of libgd. - -2009-02-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Introduce helper routines bp() and cfp() into the - javascript output file. This reduces the file size of plots containing - lots of filled polygons, e.g. images or 3D surfaces, by about 1/3. - -2009-02-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Add support for enhanced text mode. - - * term/js/canvasmath.js: - Resize glyphs for - + / × so that they are all width 20 (same as 0-9). - Resize glyph = to width 24 (same as < > ~). - -2009-02-22 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/mouse.c: Fix broken FPRINTF debugging statements. - -2009-02-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Specify UTF-8 encoding in HTML header. - - * term/js/canvasmath.js: This is a plug-in replacement for Jim Studt's - original canvastext.js, supplemented with additional character glyphs - from the Hershey font set including Greek letters and various math - symbols. The additional glyphs are all indexed by their Unicode code - points. If embedded in a UTF-8 document, everything works as it should. - - * demo/approximate.dem demo/enhanced_utf8.dem: - Add {} to help terminals having trouble with character placement of - superscripts. - -2009-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/canvastext.js: Correct some glyphs, modify slightly to allow - non-ascii characters, and add a few examples of non-ascii glyphs. - -2008-02-19 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot.lua: More forgiving regexp to catch the - version/date string. - -2009-02-19 Manfred Schwarb <manfred99@gmx.ch> - - * src/gpexecute.c: Remove a broken DEBUG section. - -2009-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: The iteration code was getting confused by 3D plots - that contain multiple data sets. Do not assume that the Nth file - mentioned on the command line is the Nth data set. Bugfix. - -2009-02-18 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * docs/gnuplot.doc: Do not use an explicit extension in the names of - figures to be processed by {pdf}latex. - - * term/post.trm: Add missing intializer to various #define statements. - -2009-02-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Make variable definition comply with C standard. - - * docs/gnuplot.doc docs/titlepag.tex term/cgm.trm term/canvas.trm: - Reconcile duplicate index entries. Add current version to title. - -2009-02-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c (set_term) set.c (set_terminal): - Allow a string variable containing the requested terminal type. - E.g. screen = 'x11'; set term screen - -2009-02-15 Petr Mikulik <mikulik@physics.muni.cz> - - SF Patch #2570385: GPVAL_TERM_WINDOWID - This patch adds automatic variable GPVAL_NAME_WINDOWID, which - contains ID of the current window running under X11 (e.g. x11 and wxt - terminals). - - * src/eval.c (update_gpval_variables): Update GPVAL_TERM_WINDOWID. - - * src/gadgets.h src/gadgets.c: New global variable current_x11_windowid - to be filled by terminals running on X11 (x11, wxt, qt, ...). - - * src/mouse.c (do_event): Set global current_x11_windowid from ge->winid - and call update_gpval_variables() to update GPVAL_TERM_WINDOWID. - - * src/gplt_x11.c (gp_execute_GE_plotdone): New routine to replace direct - call of gp_exec_event(GE_plotdone, ..., {0|X11 Window ID}) to notify - gnuplot of changed X11 Window ID. - -2009-02-14 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu: Add a figure showing the use - of image mode to create a heat map. Add a "heatmap" entry to the index. - -2009-02-11 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Use $(CC) instead of gcc to compile pgnuplot. - -2009-02-07 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_options): Call term->init() rather than X11_init(), - since the options routine is shared by x11 and xlib drivers. - -2009-02-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (type_udv) src/eval.c (add_udv_by_name) src/fit.c - src/plot2d.c: Prevent strange behaviour due to uninitialized field - udv_type in a udv entry that has been created but not yet defined. - Bug #2556225 - - * src/graph3d.c (draw_3d_graphbox): Allow Z axis label in 3D plots - to be rotated. - -2009-02-04 Petr Mikulik <mikulik@physics.muni.cz> - - * NEWS docs/gnuplot.doc src/pm3d.c (pm3d_plot) src/set.c (set_pm3d): - Let "pm3d interpolate m,n" for negative m,n interpolates the surface - for at least |m|, |n| points. The case m=n=0 means an optimal number - of interpolation points. - SF Patch #2558565: pm3d interpolate 0,0 - -2009-02-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/eval.c (update_gpval_variables) src/command.c (changedir_command) - docs/gnuplot.doc: New automatic variable GPVAL_PWD for current working - directory. - -2009-02-02 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (lookup_key): Use exact match, otherwise F10, F11, or F12 - hotkeys bind to F1. - -2009-02-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary do_plot): Move test for colorbox outside of - boundary(), and only calculate placement of colorbox once. - Bugfix. - - * term/canvas.trm: Taking the URL for associated javascripts from an - environmental variable turns out to be less than useful if the scripts - are tailored to the individual plots. Add a terminal option instead: - set term canvas mouse jsdir 'URL/for/javascripts/' - -2009-02-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (define): Fix under-allocation of space for user - variables named GPFUN_*. - -2009-01-31 James R. Van Zandt <jrvz@comcast.net> - - * docs/gnuplot.doc: Update documentation: user functions can have - up to 12 variables. - - * src/fit.c (fit_command): Allow second independent variable to be - renamed in a fit command. - -2009-01-30 James R. Van Zandt <jrvz@comcast.net> - - * src/command.c (define): save a function definition in a - user-accessible variable - -2009-01-28 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * term/emf.trm (GP_TA_NOUPDATECP, GP_TA_UPDATECP, GP_TA_LEFT) - (GP_TA_RIGHT, GP_TA_CENTER, GP_TA_TOP, GP_TA_BOTTOM) - (GP_TA_BASELINE): Added a GP_ prefix to avoid collision between - these and the actual Windows API macros of the same names. - -2009-01-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/breaders.c (edf_filetype_function): Fix for long headers. - -2009-01-27 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (pm3d_plot): Fix for "set pm3d depthorder" ignoring - "set pm3d interpolate". - -2009-01-26 Ethan Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_fillbox): - Fix segfault due to freeing an uninitialized buffer pointer. - - * term/cairo.trm (cairotrm_filled_polygon): - Plug memory leak: image buffers were never freed. - -2009-01-26 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_make_header PS_image): Since the beginning of pm3d, - the "/Color def" switched between gray and colour map. Choosing "false" - for "Color", the gray map was always selected regardless the use of a - custom palette. This led to ambiguities for custom colour palettes if - they contain grays only. Thus let postscript choose always colour - palette for interpolated colours ('set palette defined', 'set palette - file') and colour/gray according to "Color" otherwise ('set palette - gray', 'set palette rgb'). - SF Patch #2516634: custom colormap using postscript term - -2009-01-25 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.553 - -2009-01-25 Ethan Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Clean up the bookkeeping for beginPath()/closePath(). - This is a work-around for early versions of the opera web brower, which - seem to require a closePath() element even if the path has already been - stroked or filled. - - * term/canvas.trm: CANVAS_fillbox() can use the primitive operation - ctx.fillRect() rather than the generic, but more expensive, routine - CANVAS_filled_polygon(). This is more likely to be handled correctly by - older versions of opera. - -2009-01-23 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c src/term_api.h term/canvas.trm term/Makefile.am.in - term/js/gnuplot_mouse.css term/js/gnuplot_mouse.js term/js/grid.png: - Clean up mousing code for the canvas terminal. Add a "mousebox" - table to the html output in standalone mode, including an icon that - toggles the grid lines. The table format is controlled by stylesheet - gnuplot_mouse.css, which can be locally customized. - -2009-01-22 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Add attribute <svg xml:space="preserve"> in the - header. Most browsers are ignoring this, so we still need to keep the - work-around that repeats this attribute for individual text segments. - -2009-01-21 Harald Harders <h.harders@tu-bs.de> - - * term/post.trm: Add a user-editable toggle ClipToBoundingBox. - Default behaviour remains unchanged, but setting this toggle to "true" - tells PostScript to clip everything that outside the canvas area. - -2009-01-15 Timothee Lecomte <timothee.lecomte@lpa.ens.fr> - - * config/makefile.mgw: - Add gp_cairo_helpers.o in the list of object files to build for - wxt. - -2009-01-14 Ethan Merritt <merritt@u.washington.edu> - - * configure.in config/config.cyg config/config.dj2 config/config.mgw - config/config.nt config/config.os2 config/config.oww - src/gplt_x11.c src/gplt_x11.h src/show.c term/x11.trm: - Do away with the conditional code flag BINARY_X11_POLYGON. - No one has ever reported problems with it, so use it always. - -2009-01-14 Timothee Lecomte <timothee.lecomte@lpa.ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_image): - * src/wxterminal/gp_cairo.h: - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_gui.cpp (wxt_image): - * term/cairo.trm (cairotrm_image): - Change gp_cairo_draw_image prototype so that the conversion from - gnuplot internal image format to a unsigned int* is completely done - outside gp_cairo.c. Modify callers in cairo-based terminals - accordingly. This is still preliminary work towards wxt-for-MacOSX. - -2009-01-14 Petr Mikulik <mikulik@physics.muni.cz> - - * src/gplt_x11.c (process_event): Change the status bar of a non-active - or persistent window only for almost2d plot. - - * src/gplt_x11.c (exec_cmd): Add field almost2d to plot_struct and set - it according to sent ALMOST2D. - - * term/x11.trm (X11_text): Send information about ALMOST2D. - - * src/gadgets.h src/mouse.c: Move definition of macro ALMOST2D to - gadgets.h. - -2009-01-13 Ethan Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_mouse.js: - Mousing code for standalone plots created by the canvas driver. - Embedded plots are mouseable also, but the user must provide the - appropriate document to wrap the embedded plots and link them to - the mousing code. - -2009-01-13 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Option to run gdlib-config to determine libraries - for linking of gd. Fix link where to download hcw. - -2009-01-13 Timothee Lecomte <timothee.lecomte@lpa.ens.fr> - - * src/Makefile.am src/wxterminal/gp_cairo.c - (gp_cairo_draw_image) src/wxterminal/gp_cairo_helpers.c - src/wxterminal/gp_cairo_helpers.h src/wxterminal/Makefile.am: - - Introduce a new source file, named gp_cairo_helpers.c, to - contain gp_cairo_* code that uses functions from gnuplot core. - Currently this is a small portion of code to convert a - coordval* to a char* buffer. This will be helpful for - wxt-as-a-separate-process where I need to separate clearly the - code used in the core, and the code used in the terminal process. - -2009-01-09 Ethan Merritt <merritt@u.washington.edu> - - * src/fit.c (fit_command): Issue a warning if no fittable parameters - are found. - Bug #1964774 - -2009-01-08 "Bruce Lueckenhoff" <lueckenhoff@users.sourceforge.net> - - * /configure.in /docs/Makefile.in /src/makefile.all /src/Makefile.am - /src/makefile.awc /term/Makefile.am.in /src/term.h /term/canvas.trm - /term/js/canvastext.js: - - New terminal driver "set term canvas" for the HTML 5 canvas element. - The HTML canvas tag supports compact, cross-platform graphics that can - easily be embedded in web pages and accessed by various browsers. - - This terminal uses a single vector font implemented in canvastext.js - (released into the public domain by Jim Studt). The 'standalone' option - creates an html output file containing javascript code to actually draw - the plot. The 'name <foo>' option instead creates pure javascript - output that contains a procedure foo() that draws the plot onto an - externally-created canvas named "foo". You can thus include more than - one plot, each on a separate canvas, in a single html document. - In both standalone or embedded mode, the canvastext.js script is - referenced as an external resource. - -2009-01-07 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.c (edge3d_intersect): Fix long-standing bug in which - the z coordinate was clipping against xmax rather than zmax. - Bug #2472621 - -2009-01-05 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes): The failsafe mode for - 'with rgbimage' was failing to take advantage of a terminal's - alpha channel support. - - * configure.in: Give up pretending to support libgd versions prior - to 2.0 (build fails because of missing truecolor and alpha channel). - -2009-01-04 Ralf Juengling <juenglin@cs.pdx.edu> - - * src/gp_types.h src/plot2d.c (get_data): Fix column accounting for - variable color attribute in the case that no explicit 'using' spec - is given. - -2009-01-03 Ethan Merritt <merritt@u.washington.edu> - - * configure.in, docs/gnuplot.doc: - Remove the EXPERIMENTAL warning for plotstyle 'image', for 'set object', - for x11 terminal features 'binary polygons' and 'external window', - and for the cairo-based terminals pngcairo and pdfcairo. - -2009-01-02 Ethan Merritt <merritt@u.washington.edu> - - * src/pm3d.c (set_plot_with_palette is_plot_with_colorbox): - Fix an accounting error that caused unnecessary loading of a color - palette into plots that do not need one. - -2008-12-31 Ralf Juengling <juenglin@cs.pdx.edu> - - * src/gp_types.h: Fix duplicate plot style indices for - RGBA_IMAGE and CIRCLES. - -2008-12-31 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Allow further options to modify a line style. - E.g. plot ... with points ls 1 ps variable - -2008-12-27 Allin Cottrell <cottrell@wfu.edu> - - * util.c (gprintf): Allow '#' format character. - -2008-12-26 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc docs/Makefile.in term/lua.trm: Various fixes. - -2008-12-26 Ethan Merritt <merritt@u.washington.edu> - - * term/mac.trm: extra spaces are messing up the documentation.. - - * src/graphics.c (boundary) color.c (draw_color_smooth_box): - Clean up border placement code, fix colorbox bug. - -2008-12-24 Mike Sutton <mws115@usa.com> - - * term/x11.trm src/gplt_x11.c: Added size and position options for X11. - -2008-12-23 Ethan Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in demo/all.dem src/Makefile.am: - Clean up autoconf dependencies for lua terminal and for demos. - -2008-12-21 Peter Hedwig <peter@affenbande.org> - - * configure.in src/Makefile.am src/term.h term/Makefile.am.in - term/lua/ChangeLog term/lua/gnuplot.lua term/lua/gnuplot-lua-tikz.sty - term/lua/INSTALL term/lua/NEWS term/lua/README term/lua/TODO: - - Generic Lua terminal with PGF/TikZ support. - The current implementation supports output via TikZ/pdflatex: - set term lua standalone - set output 'plot.tex' - plot foo - unset output - !pdflatex plot - -2008-12-17 Ethan Merritt <merritt@u.washington.edu> - - * src/show.c (show_version) term/x11.trm (parse_driver): - Do not overwrite the environmental variable GNUPLOT_DRIVER_DIR. - -2008-12-14 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h: More work on "set view equal {xy|xyz}'. - It now works well for terminals with isotropic coordinate systems, but - unfortunately not for x11 or windows. - -2008-12-13 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: Replace assert() statements with int_warn(). - Fix handling of enhanced text for which the rotation angle is non-zero. - Bug #2424595 - -2008-12-11 Bastian Maerkisch <bmaerkisch@web.de> - Axel Thimm <thimm@users.sourceforge.net> - - * configure.in NEWS src/command.c src/gp_hist.h src/graphics.c - src/history.c src/plot.c src/readline.c src/readline.h src/show.c - src/term_api.h src/term.c (term_initialise): - - ./configure --with-readline=bsd - Allow gnuplot to use the NetBSD editline library as an alternative to - gnu readline. This adaptation was originally coded by Bastian Maerkisch - and subsequently improved by Axel Thimm and by Tormod Volden. - The routine term_init() is renamed to term_initialise() - to avoid conflict with an identically named routine in libedit. - SF Patch #1504831 - -2008-12-10 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c: Revise syntax of binary datafile record= and array= - options. This allows the use of variables and expressions, adds several - features that were documented but never implemented, and generally - cleans up the code. - old syntax: set datafile binary array=128x128 - new syntax: set datafile binary array=(128,128) - The old syntax is still accepted, but is now deprecated - Bug #2378535 - - * docs/gnuplot.doc demo/image.dem demo/rgbalpha.dem demo/image2.dem - demo/circles.dem: Update docs and demos to use the new syntax. - - * src/gadgets.c src/gadgets.h src/graph3d.c src/save.c src/set.c - src/show.c src/unset.c docs/gnuplot.doc: - Modify command 'set view equal_axes' to accept suboptions xy and xyz. - `set view equal xy` uses the same scale for the x and y axes (as before) - `set view equal xyz` additionally uses that same scale for the z axis - -2008-12-09 Ethan Merritt <merritt@u.washington.edu> - - * src/color.h src/gadgets.c src/gadgets.h src/graphics.c src/misc.c - src/misc.h src/plot2d.c src/save.c src/set.c src/show.c src/term_api.h - src/unset.c docs/gnuplot.doc: - - Upgrade the fillstyle border field to take a color specifier rather than - a simple line type. - Bug #2345832 - -2008-12-07 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_key_sample do_rectangle): Fill style EMPTY - should be no fill at all, rather than fill with background. - Also, the first empty box in a boxplot was being drawn in the wrong - color. - Bug #2345832 - -2008-12-03 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_option_binary_format): Code cleanup. - -2008-12-02 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_option_binary plot_option_array): - Setting default suboptions for binary file input was documented, but - never implemented. Now it is. - set datafile binary record=5x5 format="%double" - However, I believe that the syntax should be changed everywhere to - set datafile binary record={something_parsable} format="%double" - Bug #2378535 - -2008-11-28 Ethan Merritt <merritt@u.washington.edu> - - * src/tables.c (lookup_table_nth): Leading substring match is all very - well, but return an exact match if one exists. This fixes color lookup - for e.g. grey/grey10/grey100. - - * src/graphics.c (boundary) src/graph3d.c (boundary3d): - `set {lrbt}margin at screen FRAC` should behave consistently for all - four plot borders. Ignore the current value of `set origin`. - Bug #2345000 - - * term/svg.trm: Force stroke to match fill color in pointtype 5. - -2008-11-27 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_set_datafile_binary plot_option_binary_format - plot_option_binary): Restore tracking of default binary filetype. - Issue error rather than segfaulting on unsupported command - "set datafile binary format=...". - Bug #2345499 - -2008-11-23 Petr Mikulik <mikulik@physics.muni.cz> - - * config/README: Updated. - - * config/makefile.cyg config/makefile.mgw: Choose *.exe targets in - makefile.cyg as in makefile.mgw. - -2008-11-22 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Work around two bugs in current svg implementations. - The setting of xml:space="preserve" is not correctly inherited from the - enviroment, so we must set it explicitly for each text fragment. - Resetting dy="foo" after a sub- or superscript is best done inside the - same text block. - -2008-11-21 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Targets are wgnuplot.exe, wgnuplot_pipes.exe, - gnuplot.exe; pgnuplot.exe is kept as it was until now. - -2008-11-19 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_options): If no information is available about what - default scalable font might be available we currently give up and fall - back to a built in non-scalable font. Now we try font "arial" before - falling back. Who knows, it might even be available. - -2008-11-15 Ethan Merritt <merritt@u.washington.edu> - - * src/bitmap.c src/bitmap.h src/tables.c src/tables.h src/show.c - term/cgm.trm term/gd.trm term/pdf.trm: - Consolidate the list of RGB color names and the list of RGB colors used - for palette construction into a single table. Generalize the colorname - dump routine so that it will be able to handle additional color lists. - -2008-11-11 Philipp K Janert <janert@ieee.org> - - * src/interpol.c (eval_kdensity): Fixing minor defect. - - * docs/gnuplot.doc docs/gnuplot.texi: Include smoothing - algos in New Features section. - -2008-11-07 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.mgw: Support of WGP_CONSOLE. Choice for targets - wgnuplot.exe, wgnuplot_pipes.exe, pgnuplot.exe, pgnuplot_small.exe. - -2008-11-07 Michael Goffioul <michael.goffioul@gmail.com> - - SF Patch #1627936: Gnuplot Win32 in console mode - Implementation of console mode for Gnuplot under Win32, i.e. non-GUI - for the command line. As a result, pgnuplot.exe is a full-featured - gnuplot Windows executable with a proper piping capability (i.e. with - a standard input) which improves its functionality with external - programs like Octave. Up to now, pgnuplot.exe was sending messages to - wgnuplot.exe. - - If gnuplot is compiled with defined WGP_CONSOLE, then the result is - console mode application. Otherwise, it is the traditional GUI - application. - - * NEWS: Updated. - - * config/config.nt config/makefile.nt: Updated to compile the console - executable target. - - * src/command.c (pause_command read_line) src/mouse.c - (event_buttonrelease) src/plot.c (gnu_main): Minor modifications for - WGP_CONSOLE. - - * src/readline.c (win_getch): New routine. - - * src/term.c: Include io.h for _Windows and __MSC__. - - * src/win/wgnuplib.h: Do not declare TextXXXX() routine for WGP_CONSOLE. - - * src/win/wgraph.c: Do not call TextXXXX() if defined WGP_CONSOLE. - - * src/win/winmain.c: Various changes for WGP_CONSOLE. New routines - stdin_pipe_reader() and ConsoleGetch(). - - * src/win/wtext.h: If not WGP_CONSOLE, then do not declare "the older" - routines, else declare ConsoleGetch(). - - * src/win/wtext.c: Define TextXXXX() routine only if not WGP_CONSOLE. - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): Take care of - WGP_CONSOLE. - - * term/win.trm: New routine WIN_waitforinput(). - -2008-11-06 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_set_font ENHX11_put_text): Initialize enhanced text - processing to use most recently requested font rather than the default - font. - -2008-11-01 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c: More bugfixes affecting key placement. - Bug #2163532 - - * src/set.c (set_xyplane) docs/gnuplot.doc: Add keyword - 'set xyplane relative <frac>' but continue to accept the older - form 'set ticslevel <frac>'. - Bug #2101990 - -2008-10-31 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Draw key entry line samples for pm3d - surfaces with contours. Fix vertical positioning of key text relative - to the key box. Do not clip key text to plot boundaries, since the - key may be outside the plot. - Bug #2163532 - - * src/save.c (save_set_all): Missing "at" keyword for user placement - of key box. - - * src/set.c src/tables.c src/tables.h: 'set key notitle' - -2008-10-30 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics) src/axis.h: Use a more complete test for - round-off error when the increment between axis tics is close to the - precision of the floating point representation. - Bug #2209654 - -2008-10-29 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: - Add documentation for variable linecolor and using pseudocolumns. - Remove ancient comments about HP printers. - -2008-10-28 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.c (apply_pm3dcolor): Only take the color, not the - dot-dash pattern. - - * src/graph3d.c (plot3d_lines plot3d_lines_pm3d): Apply "lc variable" - to splot with lines. - -2008-10-26 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_cntrparam): Allow iterative addition to the list of - contour levels: set for [i=1:N:inc] cntr level discrete i - - * src/graph3d.c (check_for_variable_color) src/misc.c (lp_parse) - src/graphics.c (check_for_variable_color) plot3d.c (get_3ddata): - New colorspec: 'lc variable' - Read linestyle index from data column, look up corresponding color. - -2008-10-16 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.539 - -2008-10-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_polygon): Do not clip polygon edges to the graph - borders if the vertices are all given in screen coordinates. Without - this change, you cannot draw polygons outside of the graph. - -2008-10-15 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_objects do_rectangle): Break out the rectangle - drawing code into a separate routine. - -2008-10-13 Ethan Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxtFrame::wxtFrame): - Revert call to OnSize() that caused compile failure on linux. - Bug #2159025 - -2008-10-12 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Explicitly set default color of first - histogram to linestyle/linetype 0. - Bug #2155287 - -2008-10-11 James R. Van Zandt <jrvz@comcast.net> - - * docs/gnuplot.doc: Document restriction on option order: "title - <column>" must come immediately after "using". - -2008-10-11 James R. Van Zandt <jrvz@comcast.net> - - * docs/gnuplot.doc: "help datastrings": The "first item" would - usually be called a "column heading". Add some - cross-references. "help label": see also "labels". "help data": - see also "labels". "help plot title": mention getting title from - column heading, and link to "datastrings". - -2008-10-11 Michael Goffioul <michael.goffioul@gmail.com> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): Define rint for MSVC. - Make code C compliant. - - * src/wxterminal/wxt_gui.cpp (wxtFrame::wxtFrame): Do not force toolbar - item size. Force resize event at the end of frame creation. - (wxt_init): Declare wxSetInstance. - -2008-10-11 Michael Goffioul <michael.goffioul@gmail.com> - - * src/win/winmain.h src/win/winmain.c (WinMain): Compute new variable - szPackageDir from szModuleName, stripping possible "\bin\" at the end. - - * term/post.trm (PS_open_prologue_file): Use szPackageDir instead of - szModuleName. - -2008-10-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/pgnuplot.c: Document option "-e". - -2008-10-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgraph.c (drawgraph): Work around a Windows clipboard bug by - using ExtCreatePen() only for linewidth != 1. The clipboard loses the - line color if created with ExtCreatePen(), but not CreatePenIndirect(). - Is the clipboard problem still present for thicker lines? - -2008-10-07 Ethan Merritt <merritt@u.washington.edu> - - * src/plot.c (main) man/gnuplot.1 term/x11.trm (X11_args X11_options): - Allow --persist and -p as synonyms for -persist on the command line. - Have wxt and x11 use the same mechanism for parsing --persist, - rather than doing it in two separate places. - -2008-10-07 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/plot.c (main) docs/gnuplot.doc: - Add a command line option -e to execute specified commands: - gnuplot file1.in -e "reset" file2.in - -2008-10-06 Juergen Wieferink <wieferink@freenet.de> - - * src/set.c (set_palette_defined): Allow string variables and - expressions in "set palette defined". SF #2149065 - -2008-10-02 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c src/mouse.h src/set.c (set_mouse): - Do not free() the permanent copy of default mouse format. - Bug #2142011 - -2008-09-29 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes) src/plot2d.c (get_data) - term/pdf.trm (PDF_image) src/wxterminal/gp_cairo.c (gp_cairo_draw_image) - src/plot3d.c (get_3ddata) term/gd.trm (PNG_image) demo/imageNaN.dem: - - When converting image data to image pixels, missing/NaN/Inf data points - were being mapped to 0. Since 0 can often be a legitimate cbrange - value, this was unfortunate. Modify the input code to retain the - actual missing/NaN/Inf value, and teach the generic image code to skip - NaN data points. +Inf, -Inf values are now correctly pinned to the - extremes of the colorbar palette. The terminal-specific image routines - handled by libgd, PDFlib, and cairo are similarly modified. - -2008-09-29 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.h: Add field c into structure gpdPoint. - - * src/pm3d.c (pm3d_plot): Support "pm3d interpolate" for surfaces - given by both z and colour coordinates. - SF Bug #2127845 - -2008-09-25 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_label load_tic_users prune_dataticks) - src/internal.c (f_strftime): Fix memory leaks found by valgrind. - Memcheck now gives all.dem a clean bill of health. - -2008-09-23 Ethan Merritt <merritt@u.washington.edu> - - * demo/html/Makefile demo/html/index.save: - Add ellipse.dem to the set of auto-generated sample plots. - - * docs/gnuplot.doc src/gadgets.h src/graphics.c src/graphics.h - src/hidden3d.c src/save.c src/set.c src/unset.c NEWS: - New object type: polygon - -2008-09-22 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics) src/graphics.c (label_width): Add a sanity - check for the number of auto-generated axis ticks. Do not accept a - request for more ticks than the resolution of the output device - coordinate system (term->xmax). Skip label processing for empty labels. - Bug #2117370 - -2008-09-20 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.c (clip_line): Make sure that the clipped line segment - returned by clip_line() has the same direction as the original segment. - A simple draw command doesn't care, but if the segments are used to - bound a filled polygon then a reversed segment causes fill artifacts. - -2008-09-15 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c: There is a parsing bug for the new "set view equal_axes" - option, triggered by the save format. Omit this option from "save" - until the parsing bug is fixed. - - * src/term_api.h src/term.c (write_multiline): - Remove discontinuity in text rotation at "rotate by 90". - Text option "rotate" continues to work as it always has, but - "rotate by 90" is no longer a synonym meriting a special case. - -2008-09-13 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: Add support for enhanced text mode. - Clean up polygon code. - -2008-09-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc term/emf.trm: Fix typos - -2008-09-10 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (place_labels3d): Clip "splot with labels" against - plot boundaries in "set view map" mode, for consistency with 2D plots. - - * configure.in term/cairo.trm src/syscfg.h: glib.h provides a - guaranteed 32-bit data type, and cairo.trm already depends on GLib. - Therefore we can use guint32 rather than defining our own type. - -2008-09-09 Ethan Merritt <merritt@u.washington.edu> - - * configure.in src/syscfg.h: Try to discover and define a safe 32-bit - data type GP_UINT32_T. - - * term/cairo.trm: - Fix cairopng_do_crop to use GP_UINT32_T, and bail out cleanly if it was - not defined correctly. - Terminal options were overwriting each other in the options string. - Handle cropping of images with transparent background. - -2008-09-08 Petr Mikulik <mikulik@physics.muni.cz> - - * src/graph3d.c (do_3dplot): Fixed MIN => GPMIN. - -2008-09-08 Ethan Merritt <merritt@u.washington.edu> - - * term/win.trm (WIN_set_color) src/win/wgraph.c (drawgraph): - The win terminal has been drawing spurious lines connecting distinct - polylines in the input data file, but only in the case of variable - rgb color or palette z. I suspect the patch of 2008-06-24 but I am not - certain. Try a variant on that patch and also impose more consistent - bookkeeping of the current line type. - - * src/parse.h src/parse.c src/set.c (load_tic_user): - Some set commands, e.g. set xtics, need to distinguish between the - first time through an iteration and subsequent times through it. - Export a counter from parse.h that can be tested for this purpose. - -2008-09-07 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (load_tic_functions): Revert the load_tic_functions change. - There is a much better way to accomplish this. - - * src/set.c (set_command) src/unset.c (unset_command) docs/gnuplot.doc: - Add iteration support to the 'set' and 'unset' commands. This turns out - to be both simpler and more powerful than adding iteration as a special - case for axis ticks. E.g.: unset for [i=100:200] label i - -2008-09-06 Juergen Wieferink <wieferink@freenet.de> - - * src/term.c (enhanced_recursion): Add curly braces {} to the list of - characters that must be escaped in postscript enhanced mode. - Bug #1968636 - -2008-09-06 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (load_tic_functions): Allow axis tick labels to be defined - by iteration over expressions giving the label and position. - set xtics for [i=1:N] ( label(i) position(i) {level} ) - Based on a patch by Shige Takeno. - -2008-09-05 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/gadgets.c src/gadgets.h src/graph3d.c src/save.c - src/set.c src/show.c src/unset.c NEWS: - New option 'set view equal_axes' that forces x and y axes in a 3D plot - to use the same scale. This is similar to 'set size square' in 2D. - Bug #2004205. Feature request #2006851. - -2008-09-05 Peter Danenberg <danenberg@users.sourceforge.net> - - * term/cairo.trm (cairopng_do_crop): Crop option for pngcairo. - SF Patch #1873297 - -2008-09-03 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (add_tic_user): NULL labels are OK if requested via - 'set xtics (x1, x2, ...)' as opposed to read from a data file. - - * docs/gnuplot.doc: Add minimal section on binary skip=foo:baz - -2008-08-19 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c(gen_tics) src/set.c(set_tics) src/show.c - src/graphics.c (plot_border): Add an axis tic attribute "rangelimited". - If set, the border and tics for this axis will be drawn only for the - range of the data, rather than the full range of the axis. - -2008-08-15 Ethan Merritt <merritt@u.washington.edu> - - * term/dumb.trm: Accept terminal size in the form used by most other - terminal drivers. 'set term dumb size 80,23" - - * src/set.c (set_tic_prop) src/graph3d.c (ztick_callback): - Allow tic labels on z axis to have 'tc palette z' - Feature request #1689545 - -2008-08-14 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.c src/command.h src/command.c (do_string) src/mouse.c: - Add a flag parameter to do_string() indicating whether the string is to - be freed immediately after copying. This should fix memory leaks both in - the new eval_command() and the existing call in pop_terminal(). - -2008-08-12 Juergen Wieferink <wieferink@freenet.de> - - * src/misc.h src/misc.c: Make lf_push() and lf_pop() global. - - * src/command.c (do_string): Make use of lf_push() and lf_pop() to avoid - memory leaks on int_error(). - - * src/command.h src/command.c src/tables.c src/plot.c docs/gnuplot.doc: - New command `evaluate` executes the commands given by a string argument. - -2008-08-09 Ethan Merritt <merritt@u.washington.edu> - - * src/readline.c (ansi_getc): Teach built-in readline to map - CSI-H to ^A and CSI-F to ^E, which offers some hope that the <end> and - <home> keys will do something useful. - Bug #1556607 - -2008-08-06 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/post.trm: Fix parsing error for option "palfuncparam". - Bug #2039912 - - * term/emf.trm: Allow fractional linewidths; do not allow dash pattern - length to go to zero. - Bug #2040244 - -2008-08-06 Ethan Merritt <merritt@u.washington.edu> - - * term/emf.trm: Provide a separate "dashlength" option similar - to the post, pdf, gd, and cairo terminals. - -2008-08-05 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.h src/eval.c: Track min/max range of data on each axis - indepently of the current axis range itself. Export to the - corresponding variables GPVAL_DATA_{AXIS}_MIN and so on. - This is useful all by itself, but also lays the groundwork for - implementing "range-frame" borders as per request #2025481. - -2008-08-02 James R. Van Zandt <jrvz@comcast.net> - - * docs/gnuplot.doc: Fix syntax of "plot index": If only two - numbers are supplied, it's the third number (the stride) that has - been omitted. Therefore, the third number should be in the - innermost braces. - -2008-08-01 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (add_tic_user): Ignore NULL labels. This prevents possible - segfault if tic labels are requested from a non-existent data column. - - * src/plot2d.c (eval_plots): Remove order dependency of newhist options. - -2008-07-31 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/graphics.c (do_plot): - Histograms did not correctly honor 'set style user increment'. - Bugfix. - -2008-07-29 Ethan Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp(wxt_set_color) - term/cairo.trm(cairotrm_set_color): - Pay attention to the value of 'set palette maxcolors'. - Bugfix. - -2008-07-26 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (grid_nongrid_data): Honor the axis range limits when - drawing dgrid3d surfaces. - Bug #1363641 - -2008-07-25 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_ticlabel_using): If tic labels will be generated - from an expression then force evaluation of all column contents. - Otherwise references to column() return uninitialized garbage. Bugfix. - -2008-07-24 Jozef Vesely <vesely@gjh.sk> - - * src/datafile.c src/datafile.h: Binary data types for 64-bit ints - (long long). - -2008-07-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fix various typos and cross-reference formats. - -2008-07-23 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c src/command.c (pause_command) src/command.h: - New variant 'pause mouse close' will pause until the plot window is - closed. Unlike existing variants, this does not disable mouse-clicks, - hotkeys, or zooming. Add wxt to the list of terminals that need a - work-around to avoid losing an input character when the plot window - is closed. - -2008-07-22 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (boundary3d): Add missing initialization of the clipping - boundaries. Clip 3D plots to the canvas unless the terminal flags that - it will do its own clipping. - - * docs/plotstyles.gnu docs/gnuplot.doc demo/hidden2.dem: - Add an example image plot to the pdf docs, modify the interlocking tori - idemo in hidden2d to show with/without depth sorting side-by-side. - - * src/mouse.c (event_buttonpress): Zooming uses mouse button 3. - Do not disable it just because we are using buttons 1 or 2 for something - else. - -2008-07-21 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c src/eval.h (gp_word gp_words) C-callable versions of the - built-in functions word() and words(). - - * src/parse.c (check_for_iteration next_iteration) docs/gnuplot.doc: - Sanity check the name of the variable used for iteration. New syntax - allows iteration over the entries in a string: - plot for [foo in "a b c d"] ... - - * src/util.c (int_error): Allow somewhat longer error messages. - - * term/post.trm (PS_vector): Work around a bug in ghostscript/gv. - If there is a long string of mixed relative/absolute lines without a - stroke command, ghostscript renders it veeeery slowly. We already - limit the number of relative moves in a row; this patch adds a "stroke". - Bug #2021942 - -2008-07-19 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_vectors) src/plot2d.c (get_data): - Allow 2D vector plots to take color from an extra data column. - Give an error when variable color is requested but too few data columns. - - * src/graph3d.c plot3d.c: Consolidate variable color checks into a - single routine. Allow 3D vector plots with variable color. - -2008-07-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_plot) src/graph3d.c (do_3dplot): Move palette - initialization earlier in the sequence, so that no objects or axes are - drawn before the palette is defined. - Bug #2019453 - -2008-07-15 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (histogram_range_fiddling): - Fix logic for autoscaling y range of stacked histograms. - -2008-07-14 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (histogram_range_fiddling eval_plots): Center stacked - histograms at true x coordinate. Allow user to set this via - 'newhistogram {at <x-coord>}'. Adjust xmin value accordingly. - -2008-07-14 Hilgers Christian <hilgers@muc.zae-bayern.de> - - * src/graphics.c src/plot2d.c docs/gnuplot.doc: - When constructing stacked histograms, track positive values separately - from negative values. Place only positive values in the upward stack. - Negative values are placed in a corresponding downward stack. - -2008-07-12 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (prune_dataticks): Fix double-free error. - -2008-07-09 Petr Mikulik <mikulik@physics.muni.cz> - - * src/eval.c src/mouse.c src/plot2d.c src/plot3d.c src/term.c: Added - variables GPVAL_{S}PLOT, GPVAL_VIEW_{MAP|ROT_X|ROT_Z|SCALE|ZSCALE}, - GPVAL_MULTIPLOT, GPVAL_LAST_PLOT, GPVAL_TERMINALS. - - * src/term_api.h src/term.c: New function get_terminals_names(). - -2008-07-07 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.c: Remove unused variable. - - * src/graph3d.c: Ignore 'set size ratio' in 3D plots unless the view - mode is 'set view map'. This brings the behavior in line with the docs. - - * src/util3d.c (map3d_xy) src/util3d.h src/graph3d.c: - Change coordinates in map3d_xy() to (int) rather than (unsigned int). - This makes it parallel to the 2D routine and also saves code. - -2008-07-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/eval.h src/eval.c: New routines fill_gpval_integer, - fill_gpval_float, fill_gpval_complex. To be used for more readable - setting of GPVAL_ variables. - -2008-06-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja: - Sync Japanese documentation to gnuplot.doc rev 1.517 - -2008-06-26 Philipp K Janert <janert@ieee.org> - - * src/interpolc.c (eval_kdensity do_kdensity): Follow code conventions. - -2008-06-26 Peter Rosin <pekberg@users.sourceforge.net> - - * term/ggi.trm: uint32 -> unit32_t - Allows to build with current libggi. - -2008-06-26 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: Check for term->filled_polygon() before trying to - call it. (fixes segfault triggered by ggi terminal driver). - -2008-06-26 Philipp K Janert <janert@ieee.org> - - * src/gp_types.h src/interpol.c src/plot2d.c src/tables.c - docs/gnuplot.doc: Changes for new smoothing algorithm for - smooth histograms using Gaussian kernel density estimates. - -2008-06-24 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (term_start_plot): The term/README file clearly states that - terminal coordinates run from 0 to xmax-1 and 0 to ymax-1. Therefore - [xmax,ymax] is out of range, and we should revise the clipping limits - accordingly. NB: This may change the behavior of existing scripts that - draw to the extreme edge of the canvas (e.g. border=0). - Bugfix: Prevents tripping the assert() statements in emf.trm - -2008-06-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Don't forget to draw a polyline even - if it has only a single segment. - Bugfix - -2008-06-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c (draw_inside_color_smooth_box_postscript): Fix colour of - the 2nd box in the colour box for negative palette in postscript - output. - SF Bug #2000751 - -2008-06-22 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Plot with vectors did not honor linestyles requested via - 'set style increment user'. - -2008-06-20 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (delete_linestyle) src/unset.c src/setshow.h: - Pass the head of the linestyle list as a parameter rather than - hardcoding it to always be the list headed by first_linestyle. - Remove unused routine assign_linestyle_tag(). - - * src/misc.c src/misc.h src/term.c (lp_use_property): - Move this routine from misc.c to term.c. This cleans up a botched - header dependency (the prototype was already in term_api.h rather than - being in misc.h). - -2008-06-19 Ethan Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm (AQUA_init AQUA_boxfill AQUA_filled_polygon): - Query aquaterm for alpha channel support; use it if present. - Add fill styles to the filled polygon routine. - -2008-06-18 Ethan Merritt <merritt@u.washington.edu> - - * src/fit.c: Dynamic allocation for fit script string. - -2008-06-17 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu demo/cities.dat: - Revise the plot style examples to avoid pattern fill since pdfcairo is - bad at it. Use a more interesting demo to illustrate label plots. - -2008-06-15 Ethan Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: - Remove deprecated dc.BeginDrawing() dc.EndDrawing() - -2008-06-14 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/datafile.h (df_no_fpe_trap, evaluate_inside_using): Add - missing 'extern' to declaration of new variables. - -2008-06-13 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/titlepag.tex docs/gnuplot.texi: - Replace "what's new in 4.0, 4.2" with "what's new in 4.3". - Remove discussion of pre-version 4 features. - Update or remove dead URLS. - -2008-06-12 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/set.c src/save.c src/show.c - eval.c (evaluate_at) docs/gnuplot.doc: - New datafile property 'set datafile {no}fpe_trap'. - - Until now, evaluate_at() has wrapped every expression evaluation with - set/reset of a floating point exception handler. This is very expensive - and dramatically slows down data input from large files. Now we provide - a way to disable this via "set datafile {no}fpe_trap" or turn it back on - again if necessary. The exception handler remains in place for contexts - other than data input. - -2008-06-08 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c src/misc.c src/save.c src/show.c src/unset.c: - The flag LT_UNDEFINED was mis-used to indicate "same color as fill" for - the border of filled areas. This caused hard-to-reproduce bugs in the - key samples for plots with filled areas. Change the fillstyle code to - use LT_DEFAULT instead for this purpose. - -2008-06-07 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_margin) src/save.c (save_set_all) docs/gnuplot.doc - demo/margins.dem demo/transparent_solids.dem demo/rgbalpha.dem: - Add a new keyword "at" to absolute margin placement commands. - 'set rmargin screen .8' misleadingly seems to assign 80% of the page - to the right margin. Really we mean "set rmargin at screen 0.8", - so say that. - -2008-06-05 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Interpret tic labels read from a data file as - string constants rather than as formats. Otherwise there are problems - with labels containing the "%" character. - -2008-06-05 Petr Mikulik <mikulik@physics.muni.cz> - - * src/mouse.c (builtin_toggle_log): Help line for the 'l' hotkey missed - to mention both z and cb for splots. - -2008-06-04 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (builtin_nearest_log): - Further adjustment to 'L' hotkey behavior. In "set view map" mode, - toggle the cb axis if the cursor is in the color box, toggle the x1 axis - if it is nearest, the y1 axis if it is nearest, and the z axis if none - of the above conditions is true. - - * demo/heatmaps.dem: Modify the last demo so that it can be used to - explore the behavior of the 'l' and 'L' hotkeys. All 4 axes (x y z cb) - can be individually toggled using the 'L' hotkey. 'l' toggles only y, - which is what the documentation says, but maybe this should be changed. - - * src/graph3d.c: Allow to draw contours associated with a pm3d surface. - -2008-06-02 Ethan Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (store_polygon) src/mouse.c (event_motion): - Replace a pair of assert() statements with a flag that prevents mouse - interaction from further increasing the value of surface_zscale. This - means you cannot trigger the error condition the asserts tried to guard - against just by moving the mouse. You can still trigger it by setting - the view parameters to something odd, but the patch of 2008-05-29 may - handle that. - Bug #172806 - - * src/term.c (estimate_strlen) term/estimate.trm: - Allow for embedded newlines when estimating string length and height. - - * src/graphics.h src/graphics.c src/gadgets.h src/graph3d.c src/color.c - src/mouse.c: Move the bounding box information for the key and for the - colorbox into their respective structures so that they can be shared by - 2D and 3D code. Change the 'l' and 'L' hotkeys so that the color axis - log scaling is toggled if and only if the mouse is in the colorbox. - -2008-06-02 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to gnuplot.doc revision 1.506 - -2008-06-02 Tim Hoffmann <t_hoffmann@users.sourceforge.net> - - * src/win/wtext.c (WndParentProc): Account for scrollbars when shrinking - the textwin to the maximally needed width. SF Patch #1971437. - -2008-06-01 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_image): Unpack RGBA data. - Cairo uses a pre-multiplied alpha convention. - -2008-06-01 Daniel Sebald <daniel.sebald@ieee.org> - - * term/gd.trm (PNG_image): Manually resize input image and - alpha blend so that palette colors aren't consumed unnecessarily. - - * term/x11.trm (X11_image) src/gplt_x11.c (exec_cmd, X11_GR_IMAGE): - Handle alpha channel by blending with existing image contents for - AllPlanes, otherwise background is not included (i.e. value equals zero) - making blending too dark. - -2008-06-01 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: New image plotting style 'with rgbalpha', requiring - four values (r,g,b,alpha) per input pixel. Each component lies in the - range [0:255]. Only a few terminals (cairo gd x11) support a true alpha - channel with partial transparency, but we provide terminal-independent - code that allows using the alpha channel as an all-or-nothing mask. - - * src/datafile.c (avs_filetype_function): Handle AVS file alpha channel. - (df_bin_default_columns): Add RGBA_IMAGE with default 4 columns info. - - * src/gp_types.h: Add RGBA_IMAGE plot style, define alpha coord CRD_A. - - * src/plot2d.c (get_data) src/plot3d.c (get_3ddata refresh_3dbounds) - src/graphics.c (do_plot plot_image_or_update_axes) - src/graph3d.c (do_3dplot): Handle additional channel IC_RGBA and CRD_A - in several places, shuffle couple hunks of code, remove extra spaces. - Autoscale color components of RGB images to [0:255] regardless of - actual range present in the image. - - * src/tables.c (plotstyle_tbl): Add 'rgba$lpha'/RGBA_IMAGE. - - * src/term_api.h: Add IC_RGBA to t_imagecolor, new terminal flag - TERM_ALPHA_CHANNEL. - - * src/wxterminal/wxt_gui.cpp (wxt_image): Data limit 4*M*N for IC_RGB. - - * term/x11.trm term/wxt.trm term/cairo.trm term/gd.trm term/svg.trm: - Add flag TERM_ALPHA_CHANNEL. - - * term/win.trm (WIN_image): Placemarker for code handling alpha channel. - - * demo/rgbalpha.dem demo/all.dem: New demo - -2008-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/win.trm: Use a dynamically allocated string for the window title. - Bug #1769857 - -2008-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/tek.trm src/term.h: Revise the list of default terminals. - New addition to default build: dpu414 - Omit from default build: aed ai msdos/kermit selanar - - * src/standard.c: Replace incorrectly defined macros FMIN, FMAX with - GPMIN, GPMAX. - Bug #1969415 - - * src/set.c (set_mouse) src/show.c (show_mouse) src/mouse.c src/mouse.h: - Rework mouse option parsing to use dynamically allocated strings and - try_to_get_string(). - - * src/tables.c src/tables.h src/show.c src/unset.c: The 'bind' command - doesn't follow usual gnuplot syntax conventions. Provide new synonyms - "show bind" and "reset bind" that are less unexpected. - - * src/tables.c src/tables.h src/show.c: The command "show colornames" - was documented, but was not implemented. Now it is. - -2008-05-31 Thomas Sefzick <thse@users.sourceforge.net> - - * term/epson.trm: Add support for the Seiko DPU-414 thermal printer - 'set term dpu414'. - -2008-05-31 Allin Cottrell <cottrell@wfu.edu> - - * term/metapost.trm (MP_filled_polygon): Limit the number of vertices - per line of output. - -2008-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): 'with rgbimage' does not use a palette. - - * src/graphics.c (plot_c_bars do_key_sample) docs/gnuplot.doc - demo/candlesticks.dem: Candlesticks used to approximate a solid fill by - drawing three vertical bars. Now we use a true solid fill to indicate - (open > close). This is the standard convention for financial data. - -2008-05-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (make_tics): Don't generate tics for an empty axis range. - - * term/pbm.trm (PBM_options): Make the tic size independent of the - font size. - Bug #1969415 - -2008-05-29 Daniel Sebald <daniel.sebald@ieee.org> - - * src/hidden3d.c (sort_polys_by_z in_front coord_to_treecell): - Add range-checks to the calculation of quadtree array indices. - Bugs #1969415 #1728063 - -2008-05-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c (TextInit), src/win/wgraph.c (GraphInit): - Increase buffer sizes which contain the path to wgnuplot.ini. Fixes - crashes on systems with very long paths of the %APPDATA% directory. - -2008-05-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (need_fill_border): LT_UNDEFINED really means - "use default color" - - * src/graphics.c (do_key_sample): Do not draw errorbars on candlestick - key sample - -2008-05-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (check_for_variable_color): Consolidate all the checks - for deriving color from a data column into a single subroutine. - - * src/plot2d.c (eval_plots) docs/gnuplot.doc: Do not prevent the user - from requesting palette colors for a 2D plot. Reading a palette color - value from an additional data column works fine for any plot style that - isn't already using the full set of column assignments (candlesticks, - boxxyerror). - -2008-05-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/emf.trm (EMF_options): Option 'size' broke out of parsing - loop prematurely. - -2008-05-23 Philipp K. Janert <janert@ieee.org> - - * demo/all.dem demo/smooth.dem demo/dgrid3d.dem demo/random-points - demo/gnu-valley: added demos for the new dgrid3d kernels and for - the "smooth cumulative" smoothing algo. - -2008-05-22 Thomas Sefzick <thse@users.sourceforge.net> - - * src/bitmap.c (b_vector): If either end of a vector would fall outside - the canvas area, don't draw it. This prevents segfaults and memory - access problems if the terminal coordinates overflow or go negative. - Bug #1969415 - -2008-05-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c (inverse_error_func): The piecewise numerical - approximation failed to handle the case where x was exactly the join - point for the pieces. Include +/- 0.7 in the central piece. - Also add one more cycle of Newton-Raphson. - Bug #1962800 - - * docs/doc2texi.el docs/gnuplot.texi: Update - - * src/graphics.c (boundary): If it is impossible to reserve as much - space as needed for the key, print a warning and leave the plot borders - where they are. This prevents the plot border from being pushed entirely - off the canvas. - -2008-05-20 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm (EMF_dashtype): Don't ignore linetype LT_AXIS. - -2008-05-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_fillstyle): Accept variables for fill density and - border line type. - - * src/plot2d.c (eval_plots): Accept full keyword "fillstyle". - - * src/graphics.c (plot_boxes): Restore missing test for no fill border. - -2008-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_option_binary df_show_binary df_show_datasizes) - src/show.c (show_datafile) docs/gnuplot.doc: - Clean up option handling for binary data files by using the standard - option lookup routines. Add missing entry points to the documentation - for binary data options. Simplify default output of "show datafile". - "show datafile binary" will dump full list of options. - - * src/scanner.c (get_num): Add back previous test for truncation - of long to int on 64-bit machines. - -2008-05-17 Philipp K Janert <janert@ieee.org> - - * src/graph3d.h src/plot3d.c src/plot3d.h src/save.c src/set.c - src/show.c src/unset.c docs/gnuplot.doc - Adding new smoothing kernels to the dgrid3d logic. - - * src/gp_types.h src/interpol.c src/plot2d.c src/tables.c - docs/gnuplot.doc - New smoothing algorithm: 'smooth cumulative', which plots a - cumulative distribution function of a random collection of points. - -2008-05-17 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c term/win.trm: - Allow 'set term win ... title "foo"' to change the title displayed for - the plot window. - -2008-05-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/scanner.c (get_num): Parse integer constants on the command line - using strtol() rather than atol(). This allows catching overflows and - has the side benefit of handling hexadecimal and octal constants. - Fixes bug from mouse+zoom with very large coordinate values. - -2008-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (SVG_layer): Under some conditions a "front" grid or - border could cause a spurious black-fill of the entire plot. Fix this - by forcing a new group after the plot body, which will have fill:none. - -2008-05-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Switch to dynamic allocation of strings read from a - data file. This removes the limit of 64 characters per string. - -2008-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm (ENHPDF_FLUSH ENHPDF_put_text): We correctly issue - save/restore requests to PDFlib, but we need to mirror these in the - terminal code so that we track what font is currently selected. - -2008-05-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_set_font) - src/wxterminal/gp_cairo.h: - Look for "Bold" and "Italic" in requested font name, and translate - this into a request for the corresponding variant of the base font. - Accept standard Adobe font names by treating hyphens as spaces. - Tracker item #1958227 - -2008-05-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/tables.h src/tables.c (lookup_table_entry): New utility routine - for table lookup of a string, as opposed to a token index. - - * term/fig.trm: Extend point types to match standard sequence for the - the first 13 types. Accept option syntax "set term fig ... size xx,yy". - Add a table lookup for font names known to fig, so that the terminal - accepts for example 'set term fig font "Palatino Italic, 11"'. - -2008-05-01 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc revision 1.495 - -2008-05-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Add a user-editable definition of Gamma at the head of - PostScript output files. This currently affects only grayscale images. - Bug #1869824 - -2008-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graphics.c (adjust_offsets do_plot) src/graphics.h - src/save.c (save_offsets) src/save.h src/set.c (set_offsets) - src/show.c (show_offsets) src/unset.c (unset_offsets) docs/gnuplot.doc: - Allow graph offsets to be given in graph coordinates. - Feature Request #1849366 - - * demo/electron.dem: Do not pretend x2 is a separately scaled axis. - Bug #1744139 - -2008-04-28 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm: Remove specific references to Windows 3.1 - -2008-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): The windows and postscript terminals place - the xlabel text with the character baseline on the bottom edge of the - canvas. This causes any descenders to be clipped. This patch leaves an - extra 1/5 line height of empty space at the bottom. This fixes windows - and postscript, but introduces a small waste of space on most other - terminal types. - Bug #1918293 - -2008-04-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c term/win.trm (WIN_set_color): Preserve setting of - dash type and linewidth when a new color is selected. - Allow dash types with linewidth > 1. - Bug #1863361 - -2008-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options): "set term post ..." was losing options on - the command line that appeared after "fontfile 'foo' ". - Remove extraneous an c_token++. - - * src/graphics.c (plot_points) src/plot2d.c (get_data): Allow the - points in "with linespoints" to accept all the extra properties that - "with points" already allows. "pointsize variable" reads data from - a 3rd column, "lc rgb variable" reads from a 3rd or 4th column. - - * docs/gnuplot.doc: Wording changes suggested on newsgroup. - -2008-04-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_encode_image PS_image): If the palette size is - limited by "set palette maxcolors" then we need to rescale [0:maxcolors] - to [0:bitwidth] for the packed representation of the image in PostScript - Bug #1869824 - -2008-04-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c: Separate the status line from - the plot canvas. XOR drawing is replaced by full overwrites. - Status line no longer contains garbled text. - Bug #1520692 - - * config/config.nt: Disable many thousand compiler warnings from - Microsoft Visual Express C++ 2005. - -2008-04-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_tokenise df_read_matrix): If missing or bad data is - found in a matrix data file, print an int_warn() message, set the value - to NaN if it isn't already, and return to the caller normally. - This allows one to leave holes in a matrix data file. - -2008-04-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: - I have defined a new constant in wgnuplib.h WIN_PAL_COLORS. - I don't know if the new value of 4096 is reasonable or not. - Bug #1847768 - -2008-04-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/set.c src/show.c src/util.c (int_error): - The worst-case fallback for int_error() uses a fixed length character - array. This can be overrun by long error messages (it's a fallback - for lack of snprintf). Increase the size of the character array and - also trim some very long error messages to a more reasonable size. - -2008-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/sun.trm: Rename local static variable "canvas" to "SUN_canvas" - to avoid conflict with global of the same name. - - * src/util.c (int_error): We really want to use snprintf(), but if the - platform doesn't provide it (SunOS 4.1) what can you do? - - To build on SunOS 4.1.4 I needed the above two changes, - application of the sprintf patch (on the web site) originally developed - for ultrix, and hand-editing of config.h to include #undef HAVE_VFPRINTF - -2008-04-18 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (df_skip_bytes): Skip bytes from a file using fseek; - skip bytes from a pipe or stdin using repeated reading of single bytes. - -2008-04-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm: Use a more finely sampled palette to generate colors. - It was using only 500 samples; change it to use the default (=5000) in - approximate_palette(). - Bug #1906502 - -2008-04-15 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (plot_option_binary_format df_readbinary df_skip_bytes) - src/datafile.h: Allow repeat field in binary format greater to be more - than a single digit. - - * docs/gnuplot.doc: Document that the binary format string allows - "discard" symbol and numerical repeat-field. - - Bug #1937089 - -2008-04-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (load_file lf_push lf_pop) src/misc.h docs/gnuplot.doc - src/command.c (load_command call_command): - Save and restore the input line and token parsing structures in - lf_push() and lf_pop(). This allows both the 'call' and 'load' - functions to be used recursively without destroying the previous - input line and parsing context. So 'load' no longer needs to be the - last command on a line. - -2008-04-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (load_file) src/misc.h src/util.c (PRINT_FILE_AND_LINE) - src/plot.c (main load_rcfile) src/command.c (call_command load_command): - Keeping infile_name in a global causes a memory leak. Move it to the - dynamic structure list maintained by lf_push() and lf_pop(). - The callers in plot.c and command.c must pass a gp_alloc()ed string for - the plot name, but need not worry about freeing it later. lf_push() - and lf_pop() will handle this automatically, including error recovery. - -2008-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.h src/misc.c(lf_push): Track recursion depth for load_file(). - -2008-04-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c src/mouse.c src/os2/gclient.c src/win/wgraph.c - src/wxterminal/wxt_gui.cpp configure.in docs/gnuplot.doc: - New configure option --disable-raise-console - If, like me, you hate the program messing with your desktop state and - also want to be able to type <space> while the cursor is over the plot - window, then this option is for you. - -2008-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): Clear auto-generated key title from previous - plot, if any. - Bug #1929227 - -2008-04-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_primary_expression) src/parse.h: - Track highest data column referred to in an expression. - - * src/datafile.c (plot_option_using): Use info returned by perm_at() - to update the highest data column used. This allows us to catch at - least the simple case of autotitle columnheader for 'using 1:($3)'. - Delete previous ugly code to approximate this for binary files. - Bug #1929227 - - * term/post.trm (PS_set_font): Avoid segfault if the font name is longer - than 32 characters. The {ai grass next openstep} terminals suffer from - the same problem, but since they are moribund just let it go. - Bug #1935919 - - * term/gd.trm: Track ttf font names using dynamically-allocated strings - rather than fixed arrays. - Bug #1935919 - - * src/datafile.c (expect_string): Dead code (test is invariably false) - * docs/gnuplot.doc: Remove redundant links to shell/system section - * term/emf.trm: Remove dead code - * term/pbm.trm: Document that output image size is padded to nearest - multiple of 8 pixels on both x and y. - - * docs/gnuplot.texi: Sync to current docs - -2008-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Yet one more place ymax -> ymax-1. - -2008-04-05 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c (boundary): Missing cast to (int) for ytop. - -2008-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary) src/color.c (draw_color_smooth_box): - The coding guide for terminals in term/README clearly states: - xmax is the maximum number of points in the x direction. - The range of points used by gnuplot is 0 to xmax-1. - The boundary calculations were instead scaling the right and top edges - to term->xmax and term->ymax, so in the absence of margins these two - border lines would lie off the edge of the plot. This fix replaces - term-xmax with term->xmax-1 in the boundary calculations, similarly for - ymax. It does not work perfectly for terminals with down-sampling - (wxt, cairo), but the previous code wasn't working either. - Bug #1929002 - -2008-04-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c docs/gnuplot.doc: Change name from GPVAL_PI to GPVAL_pi - -2008-04-01 Thomas Sefzick <thse@users.sourceforge.net> - - * src/tables.c src/command.c (undefine_command) src/command.h - docs/gnuplot.doc: Introduce a new command 'undefine foo baz [...]' - that clears previously defined user variables "foo", "baz", ... - -2008-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (update_gpval_variables) docs/gnuplot.doc: Users can - clobber the pre-defined variables pi and NaN. Provide permanent, - non-clobberable versions GPVAL_PI and GPVAL_NaN so that they can be - restored if necessary. - - * src/internal.c (f_assign): Don't let the user assign new values to - internal variables GPVAL_* and MOUSE_*. - -2008-03-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars) docs/gnuplot.doc: The docs state that if - (close > open) then the candlestick is drawn with 3 vertical bars. This - is backwards. The convention is that (close > open) is good, and the - box is empty; (close < open) is bad, and the box is filled. Correct the - documentation to match actual practice. And correct the code so that - extra lines are drawn in the boder color for solid-fill candlesticks. - -2008-03-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/contour.c src/pm3d.c src/plot2d.c src/datafile.c src/parse.c: - Yet more cleanup of dead code and outdated comments. - - * src/misc.c (need_fill_border) src/misc.h src/graphics.c: - When "set style increment user" is in effect, apply it to the "border" - linetype of a fillstyle. New helper routine need_fill_border() to - determine when this is needed and simplify the call sites. - -2008-03-30 Allin Cottrell <cottrell@wfu.edu> - - * src/command.c (help_command): Fix incorrect nesting of #if clauses - from removal of atari support. - - * src/set.c (set_logscale): The logscale base was being incorrectly - truncated to an integer. - -2008-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * NEWS config/README config/makefile.amg config/makefile.mto - config/makefile.st config/makefile.unx config/term_pc.h configure.in - docs/Makefile.in docs/doc2texi.el docs/gnuplot.doc docs/gpcard.tex - src/command.c src/corplot.c src/fit.c src/gnuplot.prj src/gp_types.h - src/help.c src/internal.c src/makefile.all src/makefile.awc src/plot.c - src/plot.h src/readline.c src/readline.h src/show.c src/standard.c - src/syscfg.h src/term.c src/term.h src/variable.c term/atariaes.trm - term/atarivdi.trm term/multitos.trm: - - Remove code specific to atari platforms. The most recent serious - mention of gnuplot that I could find on an atari newsgroup was a 1997 - post by Theo Hopman that gnuplot 3.6beta could be compiled. - The state of atari interest seems to be captured by this notice, all - that is left of a once active group: - "Due to declining membership, The Ol' Hackers Atari Users Group - closed its doors after its final meeting in December 2000" - -2008-03-29 Andras Pal <apal@szofi.elte.hu> - - * src/standard.c (f_ellip_first f_ellip_second f_ellip_third) - src/standard.h src/eval.c: New functions `EllipticK`, `EllipticE` and - `EllipticPi` have been introduced for complete elliptic integrals of the - first, second and third kind. - - * docs/gnuplot.doc: - Documentation accordingly updated. - -2008-03-29 Daniel Sebald <daniel.sebald@ieee.org> - - * src/command.c (test_palette_subcommand): Clean up the layout of the - 'test palette' output on the displayed page. - -2008-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_command) src/show.c (show_command) - src/unset.c (unset_command): Replace overly long error messages that - list all available options with a suggestion to use 'help'. The long - error messages were not being printed anyhow due to length restrictions - in int_error(). - - * src/graphics.c (boundary): Fix bug in calculating the column width - of a horizontal key with a long title. - -2008-03-24 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.cyg: pid_t is defined in types.h. - -2008-03-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/axis.h: Fixed macros AXIS_INIT2D_REFRESH and - AXIS_UPDATE2D_REFRESH. - - * src/command.c (refresh_request): Use these macros so that the refresh - command for volatile data works correctly for log axes (SF 1916494). - -2008-03-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c (output_number): Replace macro OUTPUT_NUMBER - with a routine that can handle time format axes as well as the - usual case. - Bug #1880565 - - * configure.in: Fix help message for --disable-fiterrvars - Bug #1923468 - -2008-03-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_format): Remove superfluous c_token++. - Bug #1922288 - - * docs/gnuplot.doc: Update section on "set format". - - * docs/gnuplot.texi: Sync to today's gnuplot.doc - -2008-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.h src/plot3d.c docs/gnuplot.doc: Add a per-plot splot - keyword "nocontours". This overrides the global "set contour", so - that you can contour a single surface from a plot with many. - - * docs/Makefile.in: Note an external dependency for "make html" - -2008-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/variable.c src/variable.c src/util.c src/util.h src/save.c: - Make current_locale a global. Don't reset locale to "C" unnecessarily. - Rename get_numeric_locale() to get_time_locale(), since that's what it - really does. - - * src/wxterminal/wxt_gui.cpp (wxt_init): Restore the locale settings - for both LC_TIME and LC_NUMERIC, but only after the GTK+ thread has - finished mangling them. - Bug #1916190 - -2008-03-16 Ethan A Merritt <merritt@u.washington.edu> - - "set locale" was taking the encoding (LC_CTYPE) from the environment, - but not the time/date usage (LC_TIME). This is exactly backwards from - what the documentation says. Change behavior to match the docs. However, - if the current locale is UTF8 then also set the encoding to utf8. - - Move almost all of the code conditioned on HAVE_LOCALE_H into - variable.h and variable.c. - -2008-03-15 Thomas Sefzick <thse@users.sourceforge.net> - - * src/axis.c (setup_tics): If the user specified an explicit - tic interval on a timefmt axis, do not change this by calling - quantize_time_tics(). - Bug #1908019 - -2008-03-14 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/graphics.c (do_circles): Instead of drawing all the circle - interiors, followed by all of the circle boundaries, draw both the - interior and the boundary for each circle in succession. - -2008-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2 config/config.oww config/config.wc configure.in - src/datafile.c src/datafile.h src/gadgets.c src/gadgets.h src/gp_types.h - src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h src/hidden3d.c - src/plot2d.c src/plot2d.h src/plot3d.c src/pm3d.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/unset.c src/util3d.c - src/util3d.h: Code cleanup of options no longer marked EXPERIMENTAL. - - Remove conditional build flags EAM_HISTOGRAMS and EAM_DATASTRINGS. - Due to bit rot, it was not possible to build current cvs without these - anyhow. When last measured, the change in code size due to joint - omission of these options was 1.5%. - - * src/axis.c src/breaders.c src/datafile.c src/color.c src/command.c - src/datafile.c src/gadgets.c src/graphics.c src/mouse.c src/plot3d.c - src/pm3d.c src/pm3d.h src/save.c src/set.c src/show.c src/unset.c: - Remove dead code, obsolete comments, leftover debug code. - No more PM3D_HAVE_SOLID EQUAL_SYMBOL_NOT_REQUIRED OLDUNSETTICS - - * configure.in src/breaders.c src/breaders.h src/datafile.c - src/datafile.h src/plot2d.c src/plot3d.c src/set.c src/show.c - src/unset.c src/Makefile.am: No more BINARY_DATA_FILE conditionals. - Due to bit rot, one could not build with this disabled, and other - options depend on it. - - * demo/all.dem: Add circles.dem to the set of "all" demos. - -2008-03-13 Carl Troein <troein@users.sourceforge.net> - - * term/post.trm (PS_filled_polygon): Limit the number of consecutive - relative moves in order to avoid accumulated round-off error. - -2008-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data store2d_point) src/graphics.c (plot_boxes): - Alter processing of "with boxes" to handle specification of a column - containing variable color information. Modify "with circles" to use - the same mechanism. - Bug #1910587 - - * src/set.c (parse_histogramstyle) src/tabulate.c (print_table): - Default to non-zero linewidth for histogram errorbars. - Handle histogram error bars in tabular output. - -2008-03-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fix typos. - -2008-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Update section on plot styles to include circles - and to separate out the plot styles affected by "set style fill". - -2008-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_gets): Revert patch of 2008-02-22 because testing - for "if (interactive)" is not a sufficient guarantee that it is safe to - call readline(); Example: "load foo" where "foo" contains a plot - command with inline data (readline() tries to read from the terminal, - not the file). Thanks to Ralf Juengling for analysing the problem. - -2008-03-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h - src/wxterminal/wxt_gui.cpp: Treated dotted lines (LT_AXIS) differently - from the general cycle of dash patterns. - - * term/cairo.trm: Scale dashlength down by a factor of 2 for pdfcairo. - -2008-03-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Handle the case of a fixed aspect ratio and - fixed plot margins. Fixed left margin takes precedence over right. Fixed - bottom margin takes precedence over top. If no margins are fixed, center - the plot. - -2008-03-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/fig.trm (FIG_layer): We don't know a true bounding box at the - time a new plot is started, but fig2dev insists that some numbers be - present; give it the bounding box of the full plot. - Bug #1906855 - - * src/graph3d.c (draw3d_graph_box): Turn off clipping while drawing - the border + ticks, since we don't want to clip "out" ticks. - Bug #1906933 - -2008-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (draw_color_smooth_box) src/unset.c (unset_axislabel): - Allow user to set colorbar label rotatation if the bar is vertical. - - * term/cgm.trm: Adjust palette size based on actual number of - color slots remaining in the table. - -2008-03-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/cgm.trm: Clean up terminal code. - Use shared routines gp_alloc(), int_expression(). - Switch to using same set of colors as other terminals (web_color_rgbs). - Handle RGB color request by returning closest match to a known color. - Don't over-write user colors with each new palette. - Decouple dash pattern from line color. - - * src/command.h: refresh_request() depends on VOLATILE_REFRESH, not - USE_MOUSE. - -2008-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/cgm.trm (CGM_fillbox CGM_filled_polygon): Move the - management of fill styles and pm3d fill from CGM_fillbox() to - CGM_filled_polygon(). This is necessary because while boxes and - histograms call filled_polygon via term->fillbox(), the pm3d code - calls term->filled_polygon directly. - Bugfix. - -2008-02-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_format set_tics set_tic_prop) docs/gnuplot.doc: - Allow string variables to specify the tic format. Also introduce - a format keyword for "set tics" and "set {axis} tics". - "set tics format 'foo'" is equivalent to "set format 'foo'" - "set ytics format 'baz'" is equivalent to "set format y 'baz'" - -2008-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (map_position place_objects) src/graphics.h src/mouse.c - src/color.c: Change map_position() to return (int) x,y rather than - (unsigned int). Callers are modified accordingly. - Bug #1903131 - - Rationale: This avoids implicit casting that breaks clipping - calculations on ia64 and PPC. This patchset fixes clipping of labels - and rectangles. Similar clean-up should be done everywhere, - It is a mistake to use unsigned coordinates before clipping. - -2008-02-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/datafile.c src/gadgets.c src/term.c src/gplt_x11.c - term/cairo.trm term/cgm.trm term/dumb.trm term/eepic.trm term/gd.trm - term/pdf.trm term/post.trm term/x11.trm src/wxterminal/wxt_term.h - src/wxterminal/wxt_gui.cpp: A user has reported problems on ia64 that - may arise from improper casting between signed and unsigned numbers. - To facilitate debugging, change "unsigned" to explicit "unsigned int". - - * src/hidden3d.c (sort_edges_by_z sort_polys_by_z): - Remove incorrect cast to (unsigned long). - - * src/axis.h src/graphics.c src/plot2d.c(store2d_point eval_plots): - Remove a few more signed/unsigned incompatibilities. Declare variables - as coord_type rather than int when appropriate. - - * src/datafile.c src/fit.c: Use defined enum value NO_AXIS rather - than the magic number -1 to mark an axis not in use. Cleaner, and - avoids signed/unsigned comparisons. - - * docs/href.c(parse) docs/doc2ipf.c(process_line): Null-terminate - allocated string. Do not walk off the end of a null-terminated string. - Bug #1900987 - -2008-02-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/faq-ja.tex: Translation of revision 1.37 - -2008-02-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: #include "readline.h" - - * demo/circles.dem demo/html/Makefile demo/html/index.save: - Include circles.dem in the set of web demos. - -2008-02-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gclient.c: Use the font palette dialog instead of the standard - font selection dialog. Still switcheable via #define STANDARD_FONT_DIALOG. - SF #1773922 OS/2 PM-Termial broken font selection by Franz Bakan. - - * config/makefile.cyg: Added GNUPLOT_PS_DIR and WIN_IPC. - - * config/makefile.dj2 config/makefile.os2: Added GNUPLOT_PS_DIR. - - * config/makefile.mgw: Added WIN_IPC. - - * config/makefile.nt: Added GIF_ANIMATION. - - * config/configh_strip4compare.sh: New helper script to facilitate - comparison of ./configure'd src/config.h and config/config.xxx. - - * config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2: Updated according to config.h from ./configure and by - means of config_strip.sh. - -2008-02-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: Include entry point PS_path in the terminal tables - for epslatex, pslatex, and pstex. This fixes a bug due to the code in - color.c:draw_inside_color_smooth_box_postscript() not being able to sync - with the code in the terminal driver. - - * src/datafile.c (df_gets): Use readline() for reading inline data from - pseudofile '-'. - -2008-02-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/gp_types.h src/graph3d.c src/plot2d.c src/tables.c - src/graphics.c (plot_circles): New plot style 'plot ... with circles'. - - * docs/gnuplot.doc docs/plotstyles.gnu: - Documentation for 'plot ... with circles' - -2008-02-22 Ralf Juengling - - * demo/circles.dem demo/delaunay-edges.dat demo/empty-circles.dat - demo/optimize.dat demo/lena.rgb demo/lena-keypoints.bin: - Demo script and associated data files for 'plot ... with circles'. - -2008-02-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c (do_arc): New terminal-independent routine - to draw all or part of a circle, possibly filled. Terminal-specific - versions can be added later if desirable, with this one serving as a - default fallback for terminals with no private routine. - - * src/set.c (set_object) src/show.c src/save.h src/save.c src/gadgets.h: - Generalize all the support routines for "set obj rectangle" to handle - circles and ellipses also. - - * src/graphics.h src/graphics.c(place_objects do_ellipse) src/graph3d.c - demo/ellipse.dem docs/gnuplot.doc: Implement, document, and demonstrate - "set obj {circle|ellipse}". - -2008-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (place_arrows3d): Save/restore the clipping area so - that splot doesn't trash the current clipping state. Bugfix. - - * src/graphics.c (boundary): Reset the default clipping area to the - plot boundary at the start of every 'plot' command. This should not - be necessary, but it provides protection against a hypothetical instance - of int_error() in the middle of a save/draw/restore sequence. - -2008-02-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_timestamp): Do not spin on unrecognized option. Bugfix. - -2008-02-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff docs/README.ja: - Sync Japanese documentation to gnuplot.doc revision 1.473 - -2008-02-18 Lars Hecking <lhecking@users.sourceforge.net> - - * src/datafile.c: Allow all types of files as data files except for - directories. - -2008-02-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (gd_strdup) src/set.c (set_decimalsign): Fix segfault due - to trying to free a string returned by getenv(). Bugfix. - - * term/svg.trm (SVG_layer): Force each plot to have its own bracketing - group. Bugfix. - -2008-02-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (adjust_binary_use_spec): This whole routine is - garbage. Patch it lightly so that at least it can handle more than one - plot per graph. But really it needs to be re-written from scratch. - Bugfix. - -2008-02-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/hidden3d.c (reset_hidden3doptions): Change default - setting of "set hidden3d {front|back}" to "back" so that it matches the - behavior of earlier versions. - -2008-02-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (change_term): Insure that 'set term foo' will always - succeed if there is a terminal named "foo", even if there are also - terminals named "foobaz" and "foodstuff". Bugfix (svg/svga) - -2008-02-04 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_term.h: - * src/wxterminal/gp_cairo.c: - * src/wxterminal/gp_cairo.h: - * src/wxterminal/gp_cairo_term.h: - * term/cairo.trm: - * term/wxt.trm: - Rework the cairo code for 'enhanced text' to make it more independant - from the parsing code. Now the parser loop is directly in the terminals - code, instead of being in gp_cairo.*. This is a preliminary work for - wxt-as-a-separate-process. It has the advantage of killing some global - variables in cairo code, although this particular aspect of the work is - not complete. gp_cairo_term.h is now useless and removed. - -2008-02-03 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_gui.cpp (LoadCursor): - * src/wxterminal/bitmaps/xpm/cross.xpm: - * src/wxterminal/bitmaps/xpm/icon16x16.xpm: - * src/wxterminal/bitmaps/xpm/icon32x32.xpm: - * src/wxterminal/bitmaps/xpm/icon64x64.xpm: - * src/wxterminal/bitmaps/xpm/notfound.xpm: - * src/wxterminal/bitmaps/xpm/right.xpm: - * src/wxterminal/bitmaps/xpm/rotate.xpm: - * src/wxterminal/bitmaps/xpm/size.xpm: - Recent gcc versions are stricter with strings. Define xpm char arrays - as const. - -2008-02-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/hidden3d.c (draw_vertex): - Remove cntr3d_dots() as a special case routine. Use cntr3d_points() to - treat dots as pointtype 0. This allows hidden3d to handle dot surfaces. - -2008-02-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c: More informative error message if the current plot - style is not fully output to a table. - -2008-02-01 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (df_readbinary): Fix off-by-one error in the implicit - "column 0" of non-matrix binary data files. - -2008-01-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Revamp main loop over 3D plots. - Previously "unset surface" would bypass all plot types except contours. - Now we have many 3D plot types other than surfaces that should not be - bypassed simply because the surfaces are turned off. - The old logic was bogus anyhow, since there were many tests for - "if (!draw_surface)" inside the main "if (draw_surface)" block. - The result: now I can plot labels and vectors on top of my contours. - In general, 'splot ... with {labels|vectors|image|rgbimage}' - now ignores both "{un}set contour" and "{un}set surface" - - * src/plot3d.c (eval_3dplots): Don't bother to check for non-grid data - in plot types 'with {labels|vectors|image|rgbimage}'. - -2008-01-28 Petr Mikulik <mikulik@physics.muni.cz> - - * graph3d.c (map3d_getposition, map3d_position_r): Fix case of y graph - coordinate and splot_map. - -2008-01-27 Ethan A Merritt <merritt@u.washington.edu> - - * graph3d.c (cntr3d_lines) util3d.c (polyline3d_next) gadgets.c: - Clip contour lines to the plot boundary in "set view map" mode. - Remove dead code related to these routines. - Bug #1745598 - -2008-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Be more precise in estimating the vertical - space required to accommodate rotated tick labels on x and x2 axes. - Bug #1879907 - -2008-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/graphics.c (do_plot) src/graph3d.c (do_3dplot): - Bracket each individual plot within a figure by a pair of calls to - term->layer(TERM_LAYER_BEFORE_PLOT) term->layer(TERM_LAYER_AFTER_PLOT). - - * term/svg.trm (SVG_layer): Use the notification to encapsulate each - plot into an <a xlink:title="Plot #N"> ... </a> context. - SourceForge tracker ref #1359667 - - * term/post.trm (PS_layer): Use the notification to insert comments - before and after the code for each plot. - - * term/fig.trm (FIG_layer): Use the notification to wrap each plot - as a separate compound object for later editing. - SourceForge tracker ref #1683173 - -2008-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/help.c src/command.c: The old compile option NO_GIH allowed - bypassing gnuplot's internal help code on systems that have other help - mechanisms (Windows, VMS). Clean this up so that it compiles correctly - on all platforms, and make the unneeded internal help code conditional. - - * src/tabulate.c: Handle plot style "with filledcurves". - - * src/datafile.c (df_open df_generate_pseudodata) docs/gnuplot.doc - demo/heatmaps.dem: Instead of trying to guess based on the plot type - whether the user wants a one-dimensional set of samples or a 2D grid, - split the pseudo- file name into two variants. - '+' generates 1D (samples), '++' generates 2D (samples, isosamples). - See #1872528 Peter Danenberg <danenberg@users.sourceforge.net> - -2008-01-23 Morten MacFly <mortenmacfly@users.sourceforge.net> - - * term/post.trm (PS_open_prologue_file PS_dump_prologue_file - PS_load_glyphlist) term/PostScript/prologues.h: Update built-in - prologues to match the external ones. Prevent a segfault if the - appropriate prologue file is not found at run time. Add utf-8 - to the internal list of available prologues. - Bug #1878095. - -2008-01-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (SVG_filled_polygon): Fix bug that causes - FS_TRANSPARENT_PATTERN to create a blank fill area. - -2008-01-21 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.trm: Apple calls iso8859-9 NSWindowsCP1254StringEncoding - rather than NSISOLatin5StringEncoding. - -2008-01-21 Allin Cottrell <cottrell@wfu.edu> - - * src/command.c (pause_command): Provide a default "paused" message so - that Windows does not segfault if no message is provided for pause -1. - -2008-01-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c (print_3dtable): Prevent possible segfault from - attempt to initialize vector tail pointer in a plot that contains - no vectors. - - * src/graphics.c (plot_image_or_update_axes): Do not clip 3D image data - against Z range if the plot mode is "set view map". - - * demo/heatmaps.dem demo/4D_data.dem demo/all.dem demo/html/index.save - demo/html/Makefile: Replace the 4D_data demo script with a more general - demonstration of 2D and 3D heat maps. - -2008-01-16 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * share/Makefile.am (Gnuplot): Fix rule to allow builds outside - the source tree. - -2008-01-15 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Rework the inheritance of color and stroke properties - applied to points. This allows the Firefox svg engine to handle our - point styles. - -2008-01-13 Allin Cottrell <cottrell@wfu.edu> - - * src/term_api.h src/term.c term/emf.trm term/PostScript/8859-9.ps - term/post.trm docs/gnuplot.doc: Add encoding option for Microsoft - Codepage 1254 (Turkish). This is the same as latin5 (iso8859-9) except - that it also assigns characters to code points x80 - x9F. - -2008-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (prune_dataticks) src/setshow.h: New routine to purge any - axis tick labels left over from 'using xtics(n)' option during previous - plot command. Manually entered tick labels are kept. - Bug #1850588 - - * plot2d.c (plotrequest): Call prune_dataticks() before each new plot. - - * src/pm3d.c (pm3d_plot): When color information is given in a separate - column, we must not use the interpolated z coordinate for color. - Bug #1783405 - -2008-01-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (replot_command): Fix for replot with unknown terminal. - -2008-01-10 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm (PS_encode_image): Fix for maxcolors in "plot with - image". - -2008-01-10 Daniel Sebald <daniel.sebald@ieee.org> - - * src/hidden3d.c (store_polygon): Discard degenerate polygons. - Bug #1727198 - -2008-01-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (update_plot_bounds): Rename exported variables TERM_* to - GPVAL_TERM_* so that they match other internally maintained variables. - -2008-01-07 Allin Cottrell <cottrell@wfu.edu> - - * term/pdf.trm (EMF_setfont): Add support for encodings - iso_8859_1 iso_8859_2 iso_8859_9 iso_8859_15 cp1250 - -2008-01-06 Allin Cottrell <cottrell@wfu.edu> - - * term/emf.trm (EMF_setfont): Add support for encodings - iso_8859_2 iso_8859_9 cp1250 koi8r koi8u - -2008-01-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Default to abobeglyphnames TRUE. - -2008-01-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (plotrequest): Revert inadvertent change to handling of - 'set log cb' introduced 2007-08-31. - -2008-01-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Missing semicolon in definition of gpPt4. - -2007-12-31 Allin Cottrell <cottrell@wfu.edu> - - * src/term_api.h src/term.c (change_term): Add a field to TERM_TABLE. - term->tscale is a scaling factor between internal terminal coordinates - and the output pixel coordinates. Intended to support external mousing. - - * term/cairo.trm term/post.trm term/svg.trm: Initialize term->tscale. - - * src/eval.c (update_gpval_variables update_plot_bounds): - Export pixel coordinates of plot boundary as seen in output image. - TERM_XMIN TERM_XMAX TERM_YMIN TERM_YMAX - -2007-12-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (show_variables) docs/gnuplot.doc: Provide a mechanism - for listed only select variables. E.g. `show variables MOUSE` will - list only variables whose name begins with the string "MOUSE". - -2007-12-25 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc demo/hidden2.dem: - Documentation and comments for 'set hidden3d {back|front}'. - -2007-12-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot) src/graph3d.h - src/tables.c src/tables.h demo/hidden2.dem demo/html/Makefile - src/hidden3d.c (set_hidden3doptions show_hidden3doptions - save_hidden3doptions reset_hidden3doptions): - New option 'set hidden3d {front|back}' - controls whether the hidden3d plot elements are drawn before or after - other plot elements such as pm3d surface or image. - -2007-12-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: #define PASTEL_PALETTE and associated comments to - allow palette-based plots to use a partially saturated fill style. - -2007-12-19 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Implement dashed lines. Extend color support to - include TC_LT. Assign color and dash attributes to individual paths, - rather than inheriting them from the style of the surrounding group - environment. - - * src/set.c (set_termoptions): Allow set termoption {dashed|solid}. - - * src/term_api.h: Add an explicit terminal flag TERM_CAN_DASH - to indicate that the terminal can toggle between solid and dashed lines. - - * src/set.c (set_termoptions): Check flag before trying to call - current terminal with either dashed or solid. - - * term/aquaterm.trm term/cairo.trm term/cgm.trm term/emf.trm - term/fig.trm term/metapost.trm term/pdf.trm term/post.trm term/svg.trm - term/tgif.trm term/x11.trm term/xlib.trm: Add flag TERM_CAN_DASH - - * term/cairo.trm (cairotrm_set_color): When switching color via - TC_LT, be careful not to change the dash pattern also. - -2007-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): Add a new parameter - that turns off autoscaling on a per-plot basis rather than per-axis. - - * src/datafile.c src/graph3d.h src/graphics.c src/graphics.h - src/interpol.c src/plot2d.c src/plot3d.c: Corresponding modification - to all the call sites. - - * src/graphics.c (do_plot recheck_ranges): Before drawing the plots, - fill in the INRANGE/OUTRANGE flags for plots with noautoscale set. - - * src/datafile.c (df_open): Parse "noautoscale" keyword. - -2007-12-17 Lars Hecking <lhecking@users.sourceforge.net> - - * share/Makefile.am: Gnuplot is generated by make and deleted by - 'make clean'. Bring variable names in line with xorg. - -2007-12-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (int_error): Fix incorrect handling of va_list. - - * src/datafile.c: Call add_tic_user with a tick type of -1 (a new flag - value) rather than 0 (major tick). This allows to distinguish between - tick labels read from a data file and those entered from the - command line. - - * src/axis.c (gen_tics): Treat tick type -1 the same as major ticks. - -2007-12-14 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Increase the chance that ./configure will correctly - find all the pieces of gnu libreadline under OSX 1.4. - - * src/plot3d.c src/graph3d.c src/graph3d.h: - Make 3D code use the same mechanism as 2D (plot->title_is_suppressed) - to control whether a key title is generated. - -2007-12-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Missing "else" in bounds calculation. - Also fix trivial typo of v_char instead of h_char. - - * term/svg.trm (SVG_SetFont) term/gd.trm (PNG_options): Use strncpy so - that overly long font names do not generate a segfault. - -2007-12-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: More parsing problems with borderWidth - - * term/x11.trm: Add a terminal option "set term x11 linewidth LW" - analogous to other terminal drivers. All user-specified linewidths are - multiplied by this factor. - -2007-12-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Command line options -bw and -borderwidth were - being mapped to X Resource "borderwidth". It should be "borderWidth". - Also remove limitation that maximum linewidth is 4 pixels. - - * share/Makefile.am: Rename Gnuplot.app-defaults to Gnuplot before - installing it. Bug #1784379 - - * src/graphics.c (place_rectangles): If the linestyle is LT_DEFAULT, - nevertheless check for an explicit linewidth for this rectangle. - Bug #1833429 - -2007-12-08 Petr Mikulik <mikulik@physics.muni.cz> - - New options "front" and "back" to "set colorbox" to let the box be - drawn either after or below the image or surface. - - * src/gadgets.h src/gadgets.c: New "layer" field in color_box_struct. - - * src/graphics.c src/graph3d.c: Draw the colorbox at expected layers. - - * src/save.c src/set.c src/show.c src/tables.h src/tables.c - docs/gnuplot.doc: The other necessary changes. - -2007-12-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/fit.c src/plot2d.c src/plot3d.c - src/set.c: Pass a pointer to the current plot header into df_open() so - that the 'using' options can be parsed in 2D/3D context. This has the - side benefit of removing an ugly hack whereby df_current_plot (used by - the histogram and key title processing) was a global. Now it is static. - -2007-12-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/plot3d.c (eval3d_plots get3d_data): Implement taking key entry - titles from datafile column headers. 'splot <foo> using 1:2:3 title 3' - -2007-12-02 Daniel Sebald <daniel.sebald@ieee.org> - - * configure.in, src/show.c (show_version) NEWS: Added new feature - --disable-x11-external. If selected, long versions shows +X11_EXTERNAL. - - * demo/gpdemos.tcl demo/Makefile.am.in: Added a wish/TCL demo that - displays gnuplot x11 output embedded in a tcl paneled window. The demo - includes a minimal file browser that defaults to listing the contents of - GNUPLOT_LIB. - - * src/gplt_x11.c (prepare_plot): Removed an integer argument that isn't - necessary anymore after having implemented a linked list approach - rather than a fixed number of possible plots. Also, a plot number can - no longer be negative. - (record): Added an argument to the plot number command containing info - about an external system X11 window ID. - - * src/gplt_x11.h: Added a control value for setting the X11 window ID. - - * term/x11.trm (X11_options): Added code for setting X11 window ID as - string option. Also, do not send command if window number is negative. - -2007-12-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Give a warning if the enhanced text - mode parser encounters an error. - - * src/unset.c (reset_command) docs/gnuplot.doc: The `reset` command is - documented to affect only the graphics output state. Do not reset user - interaction settings (locale, encoding, decimalsign). - -2007-12-01 Allin Cottrell <cottrell@wfu.edu> - - * src/set.c src/term_api.h src/term.c docs/gnuplot.doc - term/aquaterm.trm term/post.trm term/pslatex.trm term/svg.trm - term/PostScript/8859-9.ps: Add encoding ISO_8859_9 (Latin5). - -2007-12-01 Thomas Orgis <sobukus@users.sourceforge.net> - - * src/gplt_x11.c (process_configure_notify_event): Test for failure of - window resize, and do not loop indefinitely trying to resize. Fixes - infinite loop problem on ion and fluxbox window managers. - Bug #1836959 #1614928 - -2007-11-29 Lars Hecking <lhecking@users.sourceforge.net> - - * term/Makefile.am.in: Generate postscript_DATA from .ps and .txt - files in PostScript subdir. - -2007-11-25 Vladimir <qva@users.sourceforge.net> - - * term/svg.trm (SVG_init): Correct encoding names to koi8-r, koi8-u. - Bug #1838066 - -2007-11-24 Allin Cottrell <cottrell@wfu.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_convert): Test input for validity - as a UTF-8 string. If it is already UTF-8, don't try to convert it. - -2007-11-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/variable.c (locale_handler): Set the character encoding during - initialization (LC_CTYPE). This was happening anyway for interactive - sessions using libreadline, and for default terminal type wxt. - -2007-11-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/fig.trm (FIG_boxfill): Update current color before drawing. - Bug #1837187 - -2007-11-22 Morten MacFly <mortenmacfly@users.sourceforge.net> - - * config/config.nt: #define vsnprintf - -2007-11-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/estimate.trm: Never return a zero size estimate for a - non-empty string. Promote fraction characters to 1. - -2007-11-21 Allin Cottrell <cottrell@wfu.edu> - - * term/emf.trm (EMF_filled_polygon): Do not alter original color - when processing filled areas with opacity < 1.0 - -2007-11-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options PS_RememberFont ENHPS_OPEN) - src/term.c (enhanced_recursion): Move the PostScript-specific - RememberFont() cruft out of enhanced_recursion() and into ENHPS_OPEN. - This both cleans up the generic enhanced recursion code and removes - code duplication. Filter out blatently improper font names. - Bugs #1820912 #1833457 - -2007-11-20 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_set_termvar): Fix typo in - commit dated 2007-11-04. - -2007-11-20 Christos Gourdoupis <achaios@users.sourceforge.net> - - * src/wxterminal/gp_cairo.c (gp_cairo_get_encoding): - Allow "set encoding utf8" to override whatever the environment claims. - Bug #1834525 - -2007-11-19 Ethan A Merritt <merritt@u.washington.edu> - * /config/buildvms.com /config/makefile.286 /config/makefile.amg - /config/makefile.ami /config/makefile.emx /config/makefile.g - /config/makefile.msc /config/makefile.msw /config/makefile.mto - /config/makefile.st /config/makefile.tc /config/makefile.unx - /config/makefile.win /config/makefile.ztc src/gnuplot.opt: - - Add tabulate.{c|o|obj} to dependencies. - Pointed out by <mortenmacfly@users.sourceforge.net> - -2007-11-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Do not allow the '}' character in a - font name. Prevents PostScript badness from the following user error: - set label "Foo{/Symbol}Baz". - Bug #1833457. - -2007-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options): Allow a string variable for a - font file name. Whitespace cleanup. - -2007-11-14 Arve Knudsen <arve_knudsen@users.sourceforge.net> - - * configure.in: Move test for libgd libraries to earlier in script - -2007-11-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data) docs/gnuplot.doc: - Allow 3 columns of data for plot style "histogram errorbars". - 2 column data: y err error bar from y-err to y+err - 3 column data: y ymin ymax error bar from ymin to ymax - -2007-11-13 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc term/post.trm term/pm.trm: Move description of - enhanced text mode out of the postscript terminal and into the main - documentation. - -2007-11-13 Ethan A Merritt <merritt@u.washington.edu> - - * docs/checkdoc.c: Teach checkdoc to ignore embedded figures. - - * docs/psdoc/ps_symbols.gpi: Update to current syntax. - - * docs/gnuplot.doc: Various minor indexing typos; mention UTF-8. - - * term/Makefile.am.in: Add aglfn.txt to list of installed files. - -2007-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options PS_dump_prologue_file PS_open_prologue_file - PS_load_glyphlist) term/PostScript/aglfn.txt: Move the list of Adobe- - recommended glyph names (aglfn) to an external file. Add an option - 'set term post {{no}adobeglyphnames}' to control whether UTF-8 - characters outside of the Latin1 set are refered to by their generic - name (e.g. /uni03B1) or their aglfn name (e.g. /alpha). - -2007-11-12 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/Makefile.in: Include cairo.trm in CORETERM list - - * docs/gnuplot-ja.doc docs/term-ja.diff: Sync to version 1.457 - -2007-11-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options PS_load_fontfile PS_load_fontfiles): - Add a field to the fontfile structure to hold the font name. - Use this to reencode the font immediately after it is read in, rather - than the first time of use. This fixes a bug if the first use is at - the start of enhanced text processing. - -2007-11-11 Philipp K Janert - - * docs/gnuplot.doc: Correct an error in "help show palette". - -2007-11-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_options): Accept *.otf fonts. - - * term/post.trm (ENHPS_OPEN ENHPS_WRITEC) term/PostScript/prologue.ps): - Add UTF-8 encoding support for enhanced text mode. - - * term/PostScript/unicode_small.map term/PostScript/unicode_big.map - term/PostScript/unicode_maps.README: Provide sample files and a README - for constructing UTF-8 encoded Type 1 fonts for the postscript terminal - to use. Many thanks to Thomas Henlich for the initial example and - explanation. - -2007-11-11 Thomas Henlich <thenlich@users.sourceforge.net> - - * term/post.trm (PS_put_text) term/aglfn.h term/PostScript/utf-8.ps - src/util.h src/util.c (utf8_getmore utf8toulong): - - Add UTF-8 encoding support for PostScript terminal. This implementation - supports PostScript Type1 fonts that use glyph names conforming to the - Adobe Glyph List For New Fonts. Code points above 0x00FF are displayed - PostScript glyphshow operator. Code points above 0x01FF are assumed to - be accessible as /uniXXXX glyphshow. - -2007-11-08 Ethan Merritt <merritt@u.washington.edu> - - * demo/utf8.dem demo/enhanced_utf8.dem demo/all.dem: - Update utf8 demo, and add a new one for enhanced text mode. - -2007-11-05 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Place general postscript prolog in front of special - encodings (if any). - - * term/PostScript/*.ps: Place a comment at the start of included - encoding vectors. - -2007-11-04 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtFrame::OnClose): Fix compilation when - USE_MOUSE is not defined. - - * src/wxterminal/gp_cairo.h (gp_cairo_set_termvar) - src/wxterminal/gp_cairo.c - src/wxterminal/wxt_gui.cpp - term/cairo.trm: - Do not use the global "term" pointer, but pass values by addresses. - -2007-10-31 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm term/pslatex.trm: To forestall confusion, add a comment - that ISO8859-15 is the same thing as Latin9. - -2007-10-30 Christian Faulhammer (v-li@users.sourceforge.net) - - * docs/doc2texi.el: Gentoo patch to allow for changed handling of - newlines in up-coming version of XEmacs. Needed in order to - regenerate gnuplot.texi on such a system. - Bug #1822610 - -2007-10-29 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Document option "pm3d depthorder" within - "help pm3d". - -2007-10-27 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/graphics.c src/graphics.h src/save.c src/show.c - src/set.c (set_bars) src/unset.c: Add {front|back} options to the - 'set bars' command. This controls whether or not a solid-fill box or - histogram bar obscures the lower errorbar. - -2007-10-26 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do3d_plot): Fix (another) bug in space allocation - for key title. This one was also present in 4.2 - Bug #1817873 - - * src/eval.c (pop_or_convert_from_string): Switch from use of atof() - to strtod() so that we can trap errors in auto-conversion from string - to number during expression evaluation. - - * src/wxterminal/gp_cairo.c (gp_cairo_end_polygon): Re-order code to - quiet an annoying compiler warning. - -2007-10-23 Christer Lundberg <ssslub@users.sourceforge.net> - - * term/post.trm: A font name containing spaces must be protected by - parentheses in PostScript output. - -2007-10-23 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do3d_plot): Fix bug in space allocation for - key title. - Bug #1817873 - -2007-10-23 Ethan Merritt <merritt@u.washington.edu> - - Add a mechanism to embed figures in TeX-based documentation - - * docs/README docs/doc2???.c: 'F' in first column of gnuplot.gih - indicates an embedded figure. The text immediately following is the - filename of the (pdf) figure. doc2tex emits a suitable \includegraphics - call, everyone else ignores the whole line. - - * docs/titlpage.tex: Include packages graphicx and picins. - - * docs/plotstyles.gnu docs/histopt.dat: Script to create figures - illustrating various plot styles. - - * docs/Makefile.in: New target "make pdffigures". - - * docs/gnuplot.doc: Expand the section on plot styles, and embed - suitable figures to illustrate. - - * docs/gnuplot.doc: Document `set pm3d depthorder`. - - * docs/gnuplot.texi: Sync. - -2007-10-21 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_use_properties): Do not overwrite previously set - value of pointflag. (Missed one code path in yesterday's patch). - - * src/save.c (save_linetype): Save point properties whether or not - pointflag is set. - -2007-10-20 Ethan Merritt <merritt@u.washington.edu> - - Patch 1 of 2: Rationalize use of the pointflag Boolean in lp_style_type. - The current code relies on lp_parse() to set this flag as a side effect, - but this is not correct. lp_parse() uses the flag to determine whether - point style options are legal in the current context. This is not always - the same thing as saying that the current plot will have points. - In particular, it is reasonable to set point properties in linestyles, - yet not all plots using that linestyle will actually contain points. - This caused some plots with lines to be drawn as linespoints. - - * src/misc.c (lp_parse lp_use_properties): Do not set the pointflag. - - * src/plot2d.c src/plot3d.c: At the end of parsing plot options, set - lp_properties.pointflag based on the PLOT_STYLE_HAS_POINT flag in the - plot_style field of the plot structure. - - Patch 2 of 2: Remove 3rd parameter of lp_use_properties(), which is no - longer used. - - * src/color.c src/gadgets.c src/graph3d.c src/graphics.c src/misc.c - src/misc.h src/plot2d.c src/plot3d.c src/term_api.h src/util3d.c - -2007-10-19 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.c (draw3d_line_unconditional): Check for user-defined - line styles when choosing colors for front/back of hidden surfaces. - - * src/misc.c src/hidden3d.c: Clean up comments emphasizing that basic - line properties must be initilized before calling lp_use_properties(). - - * src/color.c (draw_color_smooth) src/graph3d.c (do_3dplot cntr3d_lines) - src/misc.c (lp_use_properties): Failure to initialize structure passed - to lp_use_properties(). - Bugfix. - -2007-10-17 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (pause_command): Accept a string expression as the - final parameter to "pause" commands. - -2007-10-16 Ethan Merritt <merritt@u.washington.edu> - - * INSTALL NEWS PORTING README configure.in configure.vms - config/* docs/doc2texi.el docs/gpcard.tex docs/Makefile.in - src/makefile.all src/makefile.awc src/term.h term/iris4d.trm - term/vws.trm: - - Remove the long-obsolete IRIS4D terminal. This terminal never was the - preferred option even on a real IRIS4D (I had one!), and would no longer - compile and link on SGI descendents of the IRIS4D as of 3 years ago. - - * docs/gnuplot.texi: Sync to current gnuplot.doc - -2007-10-16 Ethan Merritt <merritt@u.washington.edu> - - * src/eval.h src/eval.c (update_gpval_variables) src/util.c (int_error) - src/unset.c (reset_command): Maintain error state variables. - GPVAL_ERRNO is set to a non-zero value whenever an error occurs. - GPVAL_ERRMSG holds the corresponding error message string. - Both are reset by the new command 'reset errors'. - - * docs/gnuplot.doc: Revise the section on internal variables, adding - mention of the new error state variables. - -2007-10-11 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (change_term): Fix stupid error that caused - 'set term png <any options>' to fail. - Bug #1810957 - - * term/cairo.trm (cairotrm_options): Ignore "transparent" keyword when - the output mode is pdf. - -2007-10-10 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/cairo.trm (cairotrm_init): Do the sanity check for an existing - *cairo terminal once and for all. - Apply hinting in the pngcairo terminal: pngs are bitmapped, so they - look much better with lines at integer positions. - Also apply the "saturate" technique to get seamless polygons in pm3d - mode. - -2007-10-07 Ethan Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Differentiate cairo png and pdf terminals. - Set separate defaults for canvas size, font size, and linewidth. - Output png to a stream so that it can be piped for interactive display. - Ignore irrelevant keywords used by libgd-based png terminal. - Add "transparent" keyword for png. - -2007-10-06 Ethan Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Change all internal variable names from cairopdf_* to - cairotrm_* since the code now supports multiple cairo-based terminals. - Later we will introduce parallel variables cairopdf_*, cairopng_*, etc - wherever there is a need to distinguish different terminals. - - * demo/html/Makefile demo/html/webify.pl: Update syntax for font - specifications. - -2007-10-06 Ethan Merritt <merritt@u.washington.edu> - - * term/cairo.trm src/wxterminal/gp_cairo.c (gp_cairo_solid_background - gp_cairo_clear_background) wxterminal/gp_cairo.h wxterminal/wxt_gui.cpp: - Provide alternative routines to initialize the background to either - solid white or transparent. - -2007-10-06 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (change_term): Always accept the full name of a terminal, - even if it is a leading substring of a longer name. E.g. accept - "set term pdf" even if there are both pdf and pdfcairo terminals. - - * term/cairo.trm configure.in: Convert cairo.trm to be shared by - more than one cairo-based terminal type. Change the pdf terminal name - from "cairopdf" to "pdfcairo". Add a parallel terminal entry table for - "pngcairo". Test for output type (pdf or png) in term->init() and - term->reset(). All other code is shared at this point. - -2007-10-05 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Load first/second axis information into - the head of the label list for plot mode LABELPOINTS. - Bug #1807015 - -2007-10-03 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm (CGM_options): Remove spurious c_token++, which caused - parsing to skip the font size in: set term cgm "fontname" fontsize - -2007-10-02 Ethan Merritt <merritt@u.washington.edu> - - * src/binary.c src/binary.h src/bf_test.c: Rename the routine vector() - to alloc_vector(). This avoids a conflict with the "vector" keyword on - PowerPC OSX with Altivec compiler options enabled. - Bug #1754164 - -2007-10-01 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (bound_intersect): Fix a degenerate case in the - intersection test that caused a divide by zero. - Bug #1805697 - -2007-09-29 Hanno Hoffstadt <hannoh@users.sourceforge.net> - - * term/Postscript/prologue.ps: Add an explicit 'closepath' before - filling a rectangle. This is not required by the language spec, but - works around a bug in Adobe Distiller 7 and Apple's Quartz Preview. - Bug #1771533 - -2007-09-28 Ethan Merritt <merritt@u.washington.edu> - - * demo/html/Makefile demo/html/index.save: - Update to include latest demos - -2007-09-28 Hanno Hoffstadt <hannoh@users.sourceforge.net> - - * src/graphics.c (do_plot) src/graph3d.c (do_3dplot): It is necessary - to call term->previous_palette() at the end of any 2D plot or 3D plot - that used custom rgb colors. - Bug #1803337 - -2007-09-27 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c src/set.c(set_encoding) src/show.c(show_encoding) - src/gplt_x11.c: - - Add "utf8" to the list of options accepted by "set encoding". - Modify "show encoding" to report the current environmental locale as - well as the encoding that gnuplot thinks it is using. Resolving any - conflict is left to the user. - - Most terminal drivers need take no special action if the encoding is - UTF-8. PostScript is a major exception. It is also useful for the - libgd-based terminals if you want to force UTF-8 encoding lookup in - the Adobe Symbol font. This patchset implements the command itself. - Actual libgd and PostScript support will be added separately. - -2007-09-24 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (do_save_3dplot): If the log scale setting has changed - for any axis, we must do a full replot rather than a shortcut during - mouse-driven rotation. This is equivalent to the replot instead of - refresh code used for zooming, so we can use the same flag (refresh_ok) - to test for it. - Bug #1797500 - -2007-09-23 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): On log scale plots with very large range, - the minitic interval can overflow integer representation. - Bug #1797500 - - * term/gd.trm (PNG_image): gdImageGetClip was introduced in libgd - version 2.0.12. Don't try to use it if GD2_VERS is less than 2. - Bug #1790171 - -2007-09-01 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.h src/datafile.c: make df_eof static rather than global. - * src/plot3d.c (eval_3dplots get_3ddata): Track return code from df_readline - directly rather than relying on a global df_eof that mirrors it. - -2007-08-31 Ethan Merritt <merritt@u.washington.edu> - - Version 2.9.? of Octave switched to piping all data to gnuplot in-line - rather than via a temporary file. This broke mouse zooming and replot. - - This patchset is an imperfect fix with several known problems: - - Clipping of zoomed 3D contour plots is not correct. - - splot volatile with image + zoom + unzoom is flaky - - plot -> zoom -> set grid -> unzoom loses the grid setting. - - you cannot toggle log scaling on/off while using refresh. - - Introduce a new command "refresh" that acts like replot except that it - does not re-read the input data. Refresh is always needed in order to - zoom or replot in-line data (input file '-'), but may optionally applied - to normal data files also by appending the attribute 'volatile'. - - * src/plot2d.c (eval_plots): This is the core change. Instead of - freeing stored data after each plot, keep it around in case of a - refresh command. The old data storage is freed at the start of the next - "plot" or "replot" command. This is parallel to what the 3D code was - already doing. Set refresh_ok = 2 at the end of a successful plot. - - * src/plot3d.c (eval_3dplots): Update comments and remove dead code. - Set refresh_ok = 3 at the end of a successful plot. - - * src/plot2d.c (refresh_bounds) src/plot2d.h - * src/plot3d.c (refresh_3dbounds) src/plot3d.h: - Provide a mechanism to recheck the INBOUNDS/OUTBOUNDS status of - existing data points after changing the current axis limits. - - * src/command.c (refresh_command refresh_request) src/command.h - src/gadgets.c src/gadgets.h src/tables.c: New command "refresh" that - acts similarly to "replot" except that it does not re-read input data. - - * src/axis.h (AXIS_UPDATE2D): Save/restore axis limits for zooming. - - * src/mouse.c (apply_zoom): Choose between refresh or replot depending - on whether the current plot contain volatile data. - - * src/mouse.c (builtin_toggle_log): Ignore 'l' and 'L' for volatile data - - * src/set.c (set_logscale) src/unset.c (unset_logscale): - Because setting or unsetting log scale changes the way input data is - stored, "refresh" cannot work if the log setting has changed. - Set a flag indicating that a full replot is necessary. - - * src/datafile.c (df_open): Accept a "volatile" keyword to indicate - that data in the input file may change. If data is input from pseudo- - device '-' or from a file marked "volatile", set a global flag so - that mousing/zooming/etc can choose to refresh rather than replot. - - * docs/gnuplot.doc configure.in - -2007-08-29 Ethan Merritt <merritt@u.washington.edu> - - * demo/all.dem demo/running_avg.dem demo/html/index.save: - Demonstrate use of new syntax operators = and , as part of a using - statement. The demo plots a running average and a sliding average. - -2007-08-27 Ethan Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_primary_expression) src/internal.c (f_pop) - internal.h eval.c eval.h docs/gnuplot.doc: - Extend expression parsing to accept ',' separating two expressions. - -2007-08-27 Ethan Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_expression parse_assignment_expression): - Extend expression parsing to accept '=' as an assignment operator. - - * src/internal.h src/internal.c (f_assign): New internal function. - src/eval.h src/eval.c: table entry for f_assign() - - NEWS, docs/gnuplot.doc: Document assignment operator '=' - -2007-08-26 Ethan Merritt <merritt@u.washington.edu> - - * config/config.cyg config/config.mgw config/config.nt config/config.os2 - config/config.oww config/config.wc config/config.dj2 configure.in - src/command.c src/datafile.c src/datafile.h src/eval.c src/eval.h - src/gp_types.h src/internal.c src/internal.h src/mouse.c src/parse.c - src/parse.h src/scanner.c src/set.c src/show.c src/standard.c src/term.c - src/util.c src/util.h - - Remove the conditional compilation flag GP_STRING_VARS. This means that - string variables are always supported. - -2007-08-26 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c src/gadgets.c (apply_pm3dcolor): Remove dead code. - - * src/plot.c src/plot2d.c src/plot3d.c src/term.c: Whitespace cleanup. - - * docs/titlepag.tex: Add URL for SourceForge site. - -2007-08-25 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Revise handling of the key title to match - the 2D code. Honor key title font, fix incomplete horizontal line in - key box if there are multiple columns of key entries. - - * term/gd.trm (PNG_vector): Better accounting of when the grid linetype - needs to be refreshed. - Bug #1780449 - -2007-08-20 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_polygon, - gp_cairo_end_polygon): Introduce a small piece of code, unused, but - illustrative of the way the "saturate" operator is used to draw pm3d - polygons without seams. - - * src/wxterminal/gp_cairo.c (gp_cairo_fill_pattern): Do not use - negative coordinates to create hash patterns. This gives corruption - with recent cairo versions (1.4.10 for example). Instead create them - with rotations and scaling. - Also scale the linewidth of the patterns with PATTERN_SIZE instead - of its inverse. - - * src/wxterminal/gp_cairo.c: - * src/wxterminal/gp_cairo.h: - * src/wxterminal/wxt_gui.cpp: - * term/cairo.trm: - Disable the use of the SATURATE operator for the cairopdf terminal, - keep using it for wxt. That way no bitmap fallbacks are used for pm3d - polygons in the pdf, however they are rendered with seams as in the - current libpdf terminal or in the svg terminal. - -2007-08-18 Daniel Sebald <daniel.sebald@ieee.org> - - * src/save.c (save_range): The output of "show <foo>range" lists the - current value in a comment. However, up until now the value listed was - not really the current value. Fix this. - Bug #1731160 - -2007-08-17 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Remove extraneous {} from entry for 'set timestamp'. - The offset must not begin with a leading comma. - -2007-08-12 Ethan Merritt <merritt@u.washington.edu> - - * src/color.c (cbtick_callback) - src/graph3d.c (xtick_callback ytick_callback ztick_callback) - src/graphics.c (xtick2d_callback ytick2d_callback): - The callback routines were testing for TC_DEFAULT in the wrong field - (colorspec.lt instead of colorspec.type). - Bug #1771240 - - * demo/electron.dem: Remove the "offset command", which is buggy, and - use a consistent x axis. Still need to fix the bug in offset, however. - Bug #1744139 - -2007-08-11 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (box_range_fiddline): Add a check to prevent auto-scaled - boxes from being cut off by a half-box width at each end of the range. - Bug #1638190 - -2007-08-06 Ethan Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_stroke): Make the dots in lt 0 - look more like dots. - - * term/cairo.trm src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h: - Add dashlength option to cairopdf terminal. - -2007-08-06 Petr Mikulik <mikulik@physics.muni.cz> - - * term/x11.trm (X11_text): Fix conditionally missing {. - -2007-08-04 Matthias Habl <mhabl@users.sourceforge.net> - - * configure.in: Allow to configure from inside an emacs script. - Bug #1741156 - -2007-08-04 Ethan Merritt <merritt@u.washington.edu> - - * missing: Nobody "really needs" makeinfo. Allow installs without it. - -2007-08-03 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_encoding) docs/gnuplot.doc: New command - `set encoding locale` attempts to query the runtime environment for - the character encoding of the current locale setting (LC_CTYPE). - -2007-08-02 Daniel Sebald <daniel.sebald@ieee.org> - - * src/hidden3d.c (intersect_line_plane intersect_line_line - cover_point_poly): New helper routines. - - * src/hidden3d.c (in_front): Replaced occlusion tests 4-9 by a more - general approach that handles all of these cases jointly. This results - in substantial code reduction, and fixes several reported cases where - occluded line fragments 'leaked through' the occluding surface. - Bugs #1718109 #1726773 #1727198 - - EAM - code reviewed and bug fixes confirmed. - -2007-08-02 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (read_line): Treat line extension consistently - for both interactive and non-interactive input paths. This is - Timothee Lecomte's version of the fix. - Bug #1753069. - - * docs/gnuplot.doc: Clarify gprintf() description. - -2007-08-01 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (fill_between): Fix clipping bug introduced by - polar filledcurve patches. - -2007-07-27 Dietmar Warning <dietmar.warning@arcor.de> - - * term/win.c (WIN_enhanced_open): Avoid compiler warning. - -2007-07-24 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/gnuplot.texi: Add a trailing blank after - "^6 origin" to suppress error from makeinfo. Update texi file. - -2007-07-24 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: Fixed misprint in "3 multi-branch". - -2007-07-24 Petr Mikulik <mikulik@physics.muni.cz> - - * term/win.trm: Document reading of wgnuplot.ini in user's %APPDATA% - directory. - -2007-07-22 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (fill_between): Calculate intersection points for - polar plots using filledcurves, split self-crossing quadrilaterals - into two pieces. - -2007-07-21 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (fill_between): For polar plots using filledcurves, - interpret "above" and "below" in terms of relative radial distance - from the origin. - -2007-07-21 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - Nuke the event list and the associated mutex and state variables. - Instead, use a pipe to transmit events from the GUI thread to - term->waitforinput. select() is called without any timeout, - which is best way to use it. - -2007-07-20 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/cairo.trm: Use cairopdf_rounded instead of wxt_rounded. The two - terminals are independant. - -2007-07-19 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_betweencurves fill_between): - Allow fill between curves to [sort of] work for polar coordinate plots. - Not implemented: "above" "below" intersecting curves, self-closure. - -2007-07-17 Ethan Merritt <merritt@u.washington.edu> - - * src/fit.c (fit_command): - Accept a string variable as the file name for "fit via <viafile>". - Bug #1755532 - -2007-07-16 Timothee Lecomte <timothee.lecomte@ens.fr> - - * term/cairo.trm: - * src/makefile.all: - * src/term.h - * configure.in: - * src/Makefile.am: - New pdf terminal based on cairo and pango. Shares most code with wxt. - Currently named 'cairopdf'. - - * src/wxterminal/gp_cairo.c (gp_cairo_stroke): more dash patterns. - - Patch #1651015. - -2007-07-16 Ethan Merritt <merritt@u.washington.edu> - - * src/internal.c (f_sprintf) docs/gnuplot.doc: - Remove limitation of 10 args max to internal function sprintf(). - Bug #1753756. - -2007-07-16 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation. - -2007-07-16 Petr Mikulik <mikulik@physics.muni.cz> - - * doc/gnuplot.doc: Minor changes. - -2007-07-12 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_histeps): The initial move was not clipped to - the canvas, which caused segfaults in the pdf terminal. Add a clipping - test. FIXME: This entire routine should be rewritten to use - draw_clip_line(). - - * src/wxterminal.c (gp_cairo_draw_point): Apply current linewidth to - the line making up a point symbol. - -2007-07-11 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: More cleanup. - -2007-07-10 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add a section for 'rgbcolor variable'. - - * docs/gnuplot.doc: Move plot style descriptions up by one major level. - - * docs/gnuplot.doc: Consistent use of '2D' and '3D'. - -2007-07-06 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.doc: There are two entries for 'ticslevel' which is a - problem for more recent 'help'. Remove one that says "see xyplane" - so that new help goes directly to 'xyplane' just like old help. - -2007-07-04 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (apply_zomm): Try an alternative path for replot after - unzoom. This may or may not fix the problem in bug report #1746902. - -2007-07-02 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) src/plot3d.c (eval_3dplots): Initialize - start_token to 0 to quiet bogus compiler warnings. - -2007-06-30 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/help.c (OutLine_InternalPager): Fix compilation when PIPES is not - defined. Thanks to Dietmar Warning for the report. - -2007-06-29 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (df_generate_pseudodata): Correct for logscale - axes in splot. - -2007-06-29 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (load_range): Revert change of 2004-03-15. This means - that we do *not* clear the RANGE_REVERSE flag after applying the - reversal. This is necessary for the upcoming "refresh" support, but - also fixes a current bug: - set xrange [*:*] reverse; plot <foo>; <zoom; zoom; unzoom> - flag is now clear, and subsequent plots are drawn backwards - - * src/mouse.c (apply_zoom): Rework the save/restore mechanism for - axis ranges during zoom operations. Preparation for "refresh" - support. - -2007-06-27 Daniel Sebald <daniel.sebald@ieee.org> - - * src/misc.c (iso_alloc): Set p_count to zero when structure is - initialized. - -2007-06-27 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Avoid a compiler warning about null bytes in a - format statement. - -2007-06-26 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxt_update_size, wxtFrame::wxtFrame): - * src/wxterminal/wxt_term.h: - * term/wxt.trm: - Add option to set the window size: 'set term wxt size width,height' - -2007-06-22 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Make sure a line beginning with a number - (i.e. a section heading) is followed immediately by a parallel entry - beginning with '?'. Not applied in the NEWS section, however. - Bug #1655632 - - *docs/gnuplot.texi: Sync to current doc file. - - * src/internal.c (f_sprintf): Apply LC_NUMERIC setting to all strings - created via a call to sprintf during expression evaluation. - Bug #1740017 - -2007-06-22 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/plot.c (inter): Cleanup: Use bail_to_command_line() instead of - LONGJMP directly. - -2007-06-21 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graph3d.h: Remove fields 'ticslevel' and 'xyplane_z' from - struct t_xyplane; replaceboth with 'z'. - - * src/tables.h src/tables.c: Added S_XYPLANE to better distinguish - between "set xyplane" and "set ticslevel", i.e., no need to move - token backward. - - * src/mouse.c src/save.c src/show.c src/unset.c: Minor mods for - variable name change and addition of S_XYPLANE. - - * src/set.c: Broke set_ticslevel into set_ticslevel and set_xyplane. - - * src/graph3d.c: Fixed bug with drawing xyplane and z-axis line. - Bug #1488168 - -2007-06-21 Ethan Merritt <merritt@u.washington.edu> - - Fix two special cases where gnuplot auto-increments the line type, but - does not check whether the user has requested user-defined line styles - instead (via "set style increment user"). - - * src/graph3d.c (do_3dplot cntr3d_lines): If the [default] option - `set clabel` is in effect then contours auto-increment over line types. - Check for prefer_line_styles at this point. - - * src/graphics.c (do_plot plot_boxes): Columnstacked histograms auto- - increment over line types. Check for prefer_line_styles at thie point. - -2007-06-21 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/readline.c (readline_ipc): Cleanup: do not use the so-called - "alternate interface" to GNU Readline, it is useless here. The only - required thing is setting rl_getc_function. - - * src/gpexecute.c (gp_exec_event): Cleanup: Use DEBUG and FPRINTF. - - * src/help.c (ShowSubtopics): Do not print the list of available - subtopics with the external pager (the one from the PAGER variable). - When using 'less' as the pager, the list was not visible any longer - at the time the user is prompted for a subtopic. - (StartOutput, OutLine, OutLine_InternalPager): Built-in pager: try to - get the screensize with the LINES environment variable. It is a UNIX - standard. Fallback to the default size (24) if there is an error. - The help text is now nice to read even with the built-in dumb pager. - -2007-06-17 Ethan Merritt <merritt@u.washington.edu> - - * src/internal.c (f_sprintf): Remove any remaining escape sequences (%%) - from the tail of the format string after all of the input variables have - been processed. - Bug #1739625 - -2007-06-17 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_tics): save [xyz]tics must not follow the "offset" - info with a bare number, because a negative number will be mis-parsed. - Bugfix. - -2007-06-12 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c: Added a cmap_struct for linked list of colormaps for - plot_struct so that a needed colormap is not discarded. - (FreeColormapList): New function to free all colormaps in linked list. - (delete_plot): Call FreeColormapList(). - (prepare_plot): Initialize plot->first_cmap_struct to NULL at first - use. Call FreeColormapList() and release no longer needed resources. - (record, case X11_GR_MAKE_PALETTE): Stored a command into the plot - buffer to indicate a palette/colormap change. Removed cruft. - (exec_cmd, case 'e'): Switched to the recorded colormap. - (RecolorWindow): Added the used colormap to the linked list so that - all colormaps for the plot are remembered. - (Find_Plot_In_Linked_List_By_CMap): Search colormap linked list. - Bug #1447277 - - * demo/multipalette.dem: Two palette multiplot script for debugging. - -2007-06-11 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_options PNG_vector): Apply current linewidth and - dashlength to dotted lines. Of course, the only dotted line support - we have at this point is linetype 0, used for the grid and axes... - Based on Mike Sutton's patchset #1659135 - -2007-06-10 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Break out "axes" into its own subsection, and add - cross-references so that people can find it. - -2007-06-09 Ethan Merritt <merritt@u.washington.edu> - - * term/wxt.trm (wxt_text_wrapper): At the end of a plot, save the final - axis scaling information so that mouse coordinates can be tracked. - - * src/wxterminal/wxt_term.h src/wxterminal/wxt_gui.h: - Define data structures that hold axis scaling information. - - * src/wxterminal/wxt_gui.cpp (wxt_update_mousecoords_in_window - mouse_to_axis wxt_exec_event): Track mouse motion for all plots. - If the plot is not active, handle status line update locally rather - than calling back into gnuplot core code. - - * demo/multiaxis.dem: Split out 3rd plot of electron.dem into a - separate file, where it can serve as a demo of using x2, y2 axes. - - * demo/html/index.save demo/html/Makefile: Update html demo set. - -2007-06-08 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxt_close_terminal_window): Send a - "Close event" to the event loop instead of using the default method - which doesn't work immediately with a threaded event loop. "set term - wxt close" now works without delay. - -2007-06-08 Ethan Merritt <merritt@u.washington.edu> - - * src/mouse.c (do_event): Explicitly ignore mouse clicks from windows - other than the current plot window. - - * src/wxterminal/wxt_gui.cpp (wxt_exec_event): Pass through events from - all plot windows. This is necessary in order for "bind all" to work. - -2007-06-07 Ethan Merritt <merritt@u.washington.edu> - - * src/unset.c (unset_label): Do not treat "unset label <n>" as a fatal - error just because label <n> is not currently defined. Bug #1732706 - - * term/post.trm (PS_load_fontfile): Add missing %. Bug #1732991 - -2007-06-06 Petr Mikulik <mikulik@physics.muni.cz> - - * doc/gnuplot.doc: Hotkey 'q' does not close the pm terminal. - -2007-06-05 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxt_atexit): Fix commit of 2007-05-23. - -2007-06-05 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes) src/graphics.h - src/graph3d.c src/plot2d.c: Remove the macros wrapping - plot_image_or_update_axes and simplify the API by removing an - unneeded parameter. This simplifies debugging. - -2007-06-04 Petr Mikulik <mikulik@physics.muni.cz> - - * term/djsvga.trm: Unify color sequence comply with other terminals. - Fix DJSVGA_set_font(fontname) for an empty fontname. - - * src/plot.c (main): Avoid printing "??Unknow" as the System welcome - message under some versions of DOS (compilation by DJGPP). - - * config/config.dj2: Define HAVE_STRINGS_H. - -2007-06-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/history.c (write_history_n): Cannot use int_error() when exiting - gnuplot. - -2007-06-03 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.amg config/config.cyg config/config.mgw: Removed - PNG_FOR_GIF. - - * config/makefile.cyg config/makefile.mgw: Removed PNG_FOR_GIF and GIF. - Write requirement for gd 2.0 and newer. Enable GIF_ANIMATION and JPEG. - -2007-06-01 Ethan Merritt <merritt@u.washington.edu> - - * INSTALL: Remove obsolete instructions for unix builds without - ./configure, old png driver. - -2007-06-01 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/command.c (read_line): Introduce a new static function - 'gp_get_string' called by read_line(), so that #ifdefs are grouped and - read_line() is more readable. - (help_command)[_Windows && NO_GIH]: trivial cleanup of #ifdef. - -2007-05-31 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Clean up the section on the 'bind' command. - - * src/mouse.c: Update the dump of current hotkeys so that it doesn't - claim to apply only to x11. - -2007-05-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): On Windows, Gnuplot always bailed to - command line after "pause mouse". - Print the message of "pause <message>" into the gnuplot terminal - unless for "pause -1 <message>" (message box). - -2007-05-30 Petr Mikulik <mikulik@physics.muni.cz> - - * src/makefile.all: Added tabulate.$(O). - -2007-05-25 Ethan Merritt <merritt@u.washington.edu> - - * term/latex.trm: Add an explicit size option; clarify documentation. - set terminal {latex | emtex} {default | {courier|roman} {<fontsize>}} - {size <XX>{unit}, <YY>{unit}} - This brings the latex terminal into line with other terminals in 4.2 - -2007-05-23 Ethan Merritt <merritt@u.washington.edu> - - * Make a concession to non-compliant svg viewers and clean up the scope - of tspan elements. Many current generation svg viewers do not implement - "em" space units. To coddle these, we back off to approximating - 1 em == 1.1 * fontsize in points. - -2007-05-23 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - Add/rewrite a few debugging messages. - (wxt_atexit, wxt_cleanup): Simplify "persist" and exit code. - -2007-05-23 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Give font sizes explicitly in pt units. - - * term/svg.trm: Subscript/superscripts position must be done using - relative offsets, not absolute offset. Otherwise it prematurely - terminates the scope of the surrounding "chunk" of text. - -2007-05-22 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): On Windows, "pause -1" does not work - if it is the 1st command in a script. Bug #1713350. - -2007-05-22 Matthias Habl <mhabl@users.sourceforge.net> - - * docs/gnuplot.doc: Clarify that all x and y axis labels may be - rotated, but only in 2D and only for terminals that support it. - -2007-05-22 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxt_sigint_restore): properly pass a - pointer to signal() - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - Introduce macros WXT_MULTITHREADED and WXT_MONOTHREADED to simplify the - code here and there. - Introduce wxtApp::SendEvent and wxtFrame::SendEvent that are wrappers - to AddPendingEvent (asynchronous) or ProcessEvent (synchronous) - respectively in the multi- or monothreaded cases. - (wxt_init, wxtApp::OnCreateWindow): Do the window creation in the GUI - thread (in the multithreaded case) by sending an event. - This is preparatory work for wxMac support. - -2007-05-19 Ethan Merritt <merritt@u.washington.edu> - - * demo/fillcrvs.dem: Add world map as demo of closed filled curves - from a file. - - * src/set.c (set_decimal): Follow POSIX standard with regard to finding - the value of LC_NUMERIC from the environment. Use the first match to - LC_ALL, LC_NUMERIC, or LANG. - Bug #1692541 - -2007-05-18 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - Cleanup the way wxExitLoop events are sent on exit. - -2007-05-17 Ethan Merritt <merritt@u.washington.edu> - - * src/win/wgraph.c (GraphClose) src/wxterminal/wxt_gui.cpp (OnClose): - Pass window close event through to event_reset(). x11 already did this. - - * src/mouse.c (event_reset): Dummy up a keystroke event containing a - synthetic keystroke GP_Cancel. Pass this through to event_keypress() - so that it will check for a user-specified binding to the window close - event. - - * src/mouse.h src/mousecmn.h: Define the synthetic keystroke GP_Cancel. - - * docs/gnuplot.doc: Document that you can now bind a window close - event just as you would a real key: bind Close 'print "\n\nAyiii!\n"' - -2007-05-16 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data) src/graphics.c (plot_lines): - Allow 2D plots "with lines lc rgb variable". This capability already - exists for points, dots, labels, impulses. - Bug #1720032 - -2007-05-16 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/plot.c (main): Properly reset Readline when we come back from - the SIGINT handler calling longjmp. This avoids having the line - edition all broken in that precise situation (arrow keys will work - instead of giving '^[[A' for example) - -2007-05-16 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (image creation): Adjust image line pad according to - image data width in XCreateImage(). Bug #1716389. - -2007-05-15 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (image creation): Add an error check for allocation of - storage via XCreateImage(). - -2007-05-14 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_set_key_title): When a key title is loaded - from a datafile columnheader, apply or don't apply enhanced text - processing based on the setting of "set key {no}enhanced". - Bug #1712560 - - * demo/histograms.dem demo/histograms2.dem: This change affects the - histogram demo, because some column headers contain an underscore. - Add an explicit "set key noenhanced". - -2007-05-14 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/command.c (fgets_ipc): Fix fgets_ipc so that it behaves like - fgets (always NUL-terminate the returned string). - Bugs #1716556 and #1673352 - -2007-05-13 Petr Mikulik <mikulik@physics.muni.cz> - - * config/config.dj2 config/makefile.dj2: Updated Makefile for djgpp - using a config.h file. - -2007-05-10 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c src/util.h src/variable.c src/variable.h - src/command.c: Move numeric_locale from variable.c to util.c. - - * src/fit.c (fit_command) src/plot2d.c (get_data) - src/plot3d.c (get_3ddata) src/datafile.c (df_reset_after_error): - Apply user-specified numeric locale just before any data is read in from - a data file. Reset it to "C" afterwards. - Bugs #1692541 #1707916 - -2007-05-09 Ethan Merritt <merritt@u.washington.edu> - - * src/color.d (ifilled_quadrangle): Initialize line style before - setting color. Bug #1715480 - - * src/misc.c (lp_use_properties): Pay attention to the point flag - even if we fall through to a default line type. Bug #1715480 - -2007-05-07 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: If the user specifies ./configure --with-plot but - gives no explicit directory then try anyway because the necessary - library may be in a standard place. Bug #1654681 - - Given how out of date the gnugraph/unixplot driver is, and the fact - that gnuplot itself supports more output formats that the gnugraph - format converter, it might be more reasonable just to drop this - driver option altogether. - - * term/aquaterm.trm (AQUA_options): Allow terminal window ID to come - from a variable. Bug #1714070 - -2007-05-06 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.h src/graph3d.h: Rearrange the order of fields in the - 2D and 3D plot structures so that all fields they have in common are - aligned in parallel. This facilitates consolidation of code that can - apply to both 2D and 3D plots. It also points up several fields that - were not in the 3D structure but should be (e.g. fillstyle). - Impact: trivial increase in the size of the 3D plot structure. - - * term/gd.trm: Remove long-dead code and associated comment. - -2007-05-05 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_image): Rearrange code slightly to facilitate later - addition of alpha channel code. - -2007-05-05 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtThread::Entry): - Fix the initialization of a sigset_t. The structure is not meant to be - known, functions are provided instead. The previous code was - completely wrong on non GNU systems. - -2007-05-04 Daniel Sebald <daniel.sebald@ieee.org> - - * term/gd.trm (PNG_image): Fixed an image clipping bug in x dimension. - -2007-05-04 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (key_sample_point_pm3d): The sample point in the key - failed to note an explicit "lc rgb 'foo'" in the plot command, leading - to a color mismatch between the plot and the key. Bugfix. - -2007-04-30 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - (wxt_put_tmptext, wxtFrame::OnSetStatusText): - Change the text of the status bar asynchronously by sending a message to - the GUI thread instead of doing it in a mutex. This particular GUI - change from a separate thread was crashing on wxMac. - (wxt_cleanup): Send an event to exit the main loop, destroying the - windows is not enough. - - * src/wxterminal/gp_cairo.c (gp_cairo_initialize_plot): - Initialize plot->rounded to satisfy valgrind. - -2007-04-29 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * man/gnuplot.1: Document environment variables and the - initialization file. Mention 3D plots and nonlinear least-squares - fitting. - -2007-04-29 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - (wxt_exec_event) Add a returned boolean, to simplify callers. - (wxt_process_one_event) Factorize some code in this new function. - (wxt_atexit) Rework the "persist" effect code, do not use threads - anymore, no more stupid loop either; this prevents gnuplot from - showing in `top` after exitting in "persist" mode, and prepares - for further improvements (wxMac included). - -2007-04-27 Ethan Merritt <merritt@u.washington.edu> - - * src/tabulate.c src/tabulate.h src/Makefile.am: Consolidate the code - supporting "set table <foo>" into a new source file. - Add support for tabular output of style LABELPOINTS in 2D and 3D. - Add support for tabular output of style VECTOR in 2D and 3D. - - * src/plot2d.c (print_table) src/plot3d.c (print_3dtable): - Moved these routines into new file tabulate.c. - -2006-04-27 Harald Harders <h.harders@tu-bs.de> - - * src/tabulate.c: For tabular output "set table <foo>", give plot - titles in a comment record. - -2007-04-25 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Correct Z coordinate of xyplane for log - scale on Z. Bug #1703370. - - * src/specfunc.c: Restore lost prototype for inverse_normal_func() - -2007-04-25 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * src/specfun.c (f_normal): call erfc instead of erf, to avoid - underflow for -38 < arg < -8. - -2007-04-24 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_text): term_reset() tries to close down all files - and pipes cleanly. But if called on exit, the pipe to gnuplot_x11 may - already be closed. Don't try to write to it. Bug #1706945. - -2007-04-19 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Fix unterminated quote that causes emacs/makeinfo - to fail. - -2007-04-17 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Fix spelling of BACKWARDS_COMPATIBLE yet again. - -2007-04-17 Ethan Merritt <merritt@u.washington.edu> - - * term/post.trm: Change the default to "blacktext" for the TeX-based - terminal variants (pstex pslatex epslatex). This is more in line with - the behaviour in versions 4.0 and earlier. In particular it means that - the default settings do not require you to include the color.sty - package. - -2007-04-17 Andrej Lajovic <natrij@users.sourceforge.net> - - * src/save.c (save_set_all): Save all key options even if - key is not currently displayed. - Bug #1695643 - -2007-04-17 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c (plot_vectors): - Fix access of uninitialized variable found by valgrind. - -2007-04-14 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * docs/gnuplot.doc: Clarify ruler documentation. - -2007-04-09 Ethan Merritt <merritt@u.washington.edu> - - * term/x11.trm (X11_filled_polygon): - Fix read beyond end of buffer found by valgrind. - - * src/datafile.c (df_tokenise): - Fix uninitialized variable found by valgrind. - -2007-04-08 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (boundary3d do_3dplot): Do not reserve space on the - canvas for a key if the key is disabled altogether. - Bug #1695643 - -2007-04-07 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c src/mouse.c src/scanner.c src/set.c src/show.c - src.unset.c src/variable.c src/variable.h: Instead of immediately - applying the locale requested by "set decimal locale {foo}", save the - requested locale string and apply it only during execution of gprintf(). - This prevents leakage of the numeric locale into terminal driver code - (Bug #1692541), and simplifies the code used in save and show. - - * src/command.c (save_command test_palette_subcommand) - src/save.c (save_set_all): Consolidate save of "set decimal locale" - into save_set_all rather than the multiple calling routines. - -2007-04-04 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: The counter for X11_GR_BINARY_POLYGON segments must - be static, so that the count continues after re-entry. Bug #1694162. - - * term/x11.trm (X11_filled_polygon): Use X11_GR_BINARY_POLYGON as - tag for all segments of a binary filled polygon. Continuation - segments were not being marked as binary. It wasn't causing obvious - problems, but... - -2007-04-01 Ethan Merritt <merritt@u.washington.edu> - - * src/util.c (gprintf): Accept the ' format specifier, which - asks for digits to be grouped and separated according to the current - locale. We just pass it on to the C library for application. - Bug #1692550 - -2007-03-31 Ethan Merritt <merritt@u.washington.edu> - - * term/wxt.trm (wxt_options) src/wxterminal/wxt_term.h - src/wxterminal/gp_cairo.c (gp_cairo_initialize_context) - src/wxterminal/gp_cairo.h src/wxterminal/wxt_gui.cpp (wxt_graphics): - Add explicit line cap and join properties for cairo output. - Allows "set term wxt {rounded|butt}" - -2007-03-29 Juergen Wieferink <wieferink@freenet.de> - - * src/eval.c src/gp_time.h src/internal.c (f_strftime f_strptime) - src/internal.h demo/stringvar.dem docs/gnuplot.doc: - Introduce two new functions 'strftime' and 'strptime', which do - essentially the same as the standard C functions with the same names, - but use seconds since 2000 instead of struct tm. - (Patchset #1199186 July 2005). - -2007-03-29 Ethan Merritt <merritt@u.washington.edu> - - * demo/4D_data.dem demo/all.dem: Rename demo so that the filename is - consistent with the demo scripts. - - * missing: If makeinfo is not found, make the resulting error message - non-fatal. Bug #1682491 - -2007-03-28 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Cross-reference 'set datafile fortran'. - - * plot2d.c (eval_plots) plot3d.c (eval_3dplots): Keep track of whether - we are in the midst of defining a parametric equation, so that the commas - separating parametric components do not trigger premature iteration of a - for [] specification. - -2007-03-25 Timothee Lecomte <timothee.lecomte@ens.fr> - - * demo/histograms.dem: Add message to 'pause -1'. - - * src/wxterminal/gp_cairo.c - (gp_cairo_draw_text, gp_cairo_draw_enhanced_text): Clear the path after - drawing a text layout since pango does not do it by itself. This is a - bug-fix for spurious 0-width lines that appear when a cairo-based - terminal is used to generate pdf files, this bug does not appear in - wxt. - - * src/wxterminal/gp_cairo.c: Fix and complete debugging messages. - -2007-03-21 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graphics.c (boundary): The change of 2007-02-25 overlooked the - 2D plots having palettes that also required setup_tics(COLOR_AXIS,). - Bug #1684789 - -2007-03-16 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c (appdata_directory): Prevent segfault if no - directory is given and the environmental variable APPDATA is not set. - -2007-03-14 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Fix bug that caused axis labels - not to be drawn in 'set view map' mode. - -2007-03-13 Timothee Lecomte <timothee.lecomte@ens.fr> - - * demo/transparent.dem: Add messages to 'pause -1' commands to avoid - guessing that gnuplot is taking a lot of time to plot while it is just - waiting for user input. - -2007-03-11 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: - * INSTALL: - Report mouse support in the features section, not as an option of the - x11 terminal, since it is in fact true for other interactive terminals - such as wxt or vgagl. - -2007-03-08 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline df_generate_pseudodata df_open df_gets): - Implement a function-plotting mode that allows 'using' options. - '+' is a pseudo-file that in 2D plots returns a stream of <samples> - values corresponding to x coordinates within the current xrange, - In 3D plots it returns a stream of x and y coordinates on the - <isosamples> grid. In either case, additional columns of data can - be attached the x and y coordinates via a 'using' specification, - just as for real data files. - - * demo/4D-data.dem demo/all.dem demo/approximate.dem demo/html/Makefile - docs/gnuplot.doc: Demos and documentation. - -2007-03-07 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_init_brush): Cleaner fix for Bug #1673316. - Consolidate duplicated code surrounding calls to PNG_init_brush() into - a single copy in the subroutine itself. - -2007-03-06 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_init_brush): Flag initial color as invalid. The first - time the brush is used, it will be synced to the current palette color. - Bug #1673316 - -2007-03-04 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_c_bars): For candlesticks whose width is equal - to a small even number of pixels, the central vertical bar is displaced - to one side or the other. This patch forces the width to be an odd - number of pixels so that the box is symmetric. Also, honor the border - linetype of the current fillstyle. - -2007-03-03 Ethan Merritt <merritt@u.washington.edu> - - * docs/titlepag.tex: Update author list and copyright information. - - * NEWS: Update - - * demo/pm3d.dem: Add "test palette" to the demo series. - -2007-02-28 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_image): libgd is sensitive to the order of the bounds - used for clipping. Swap bounding box corners if necessary. - Bugfix. - -2007-02-27 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c: The code to allow room for subscripts/superscripts - when placing the x-axis label was masked by a spurious #ifdef. - Bug #1669038 - - * src/datafile.c: Avoid double-close of data_fp in pathological cases. - -2007-02-26 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add mention of "set multiplot title <page-title>". - - * src/term_api.h term/aquaterm.c term/gd.trm term/pdf.trm: Remove cruft - (enhanced_max_height, enhanced_min_height) used only be PostScript but - exported to everyone. - - * term/estimate.trm: Keep track of string height in local variables - instead, and return the net height in term->ymax. It was supposedly - doing this already. Now it really does. - -2007-02-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/color.c (draw_color_smooth_box) src/plot3d.c (eval_3dplots): - Call setup_tics(COLOR_AXIS, 20) at the same place as setup_tics(...) - for all other axes. Until now it was called much later during color box - drawing where it could change the colour axis min or max by rounding it - to lower/upper tics step. - -2007-02-23 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.h src/datafile.c (df_reset_after_error) - src/util.c (int_error): The routines in datafile.c use local variables - to track the context of expression evaluation; e.g. expressions may - only reference data column values inside a `using` statement. But the - state of these context variables is corrupted if an error exit bails - directly to the command line, thus bypassing the normal execution path. - Therefore we provide a routine df_reset_after_error() to be called - from int_error(). FIXME: Similar error_reset routines may be needed - by other modules. - - * src/eval.c docs/gnuplot.doc: Allow "strcol(foo)" as shorthand form - of "stringcolumn(foo)". - - * src/unset.c (unset_style) src/set.c (set_nolinestyle): - Add missing command "unset style line <n>". - -2007-02-22 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/latex.trm (LATEX_fillbox): Add support for solid-fill boxes. - EAM: style parameter accepted, but density and fill patterns are limited - to solid white or solid black. - -2007-02-22 sobukus@users.sourceforge.net - - * m4/apha.m4: Fix syntax of test for gcc on alpha - -2006-02-21 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation. - -2007-02-21 Ethan Merritt <merritt@u.washington.edu> - - * src/term_api.h: Define S_ENC_UTF8 for completeness (used by gd.trm if - libgd.2.0.34 is found) even though no user command exists yet to set it. - - * term/metapost.trm: Set flag TERM_CAN_CLIP, so that the clipping - (or rather lack of clipping) is like other postscript variants. - -2007-02-18 Ethan Merritt <merritt@u.washington.edu> - - * demo/image2.dem demo/image.dem demo/macros.dem demo/rainbow.dem - demo/rectangle.dem: Change version test to look for 4.3 rather than 4.1 - -2007-02-18 Petr Mikulik <mikulik@physics.muni.cz> - - * src/pm3d.c (pm3d_plot): Use the z-averaging also for flushed - triangles. - -2007-02-17 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Updates in dgrid3d and contours sections. - -2007-02-14 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/gnuplot.texi: Fix typos that cause TeX failure. - - * tutorial/header.tex: Add \usepackage{amssymb} - -2007-02-13 Daniel Sebald <daniel.sebald@ieee.org> - - * src/graph3d.c (boundary3d): Move addition of title key title lines to - number key_rows outside conditional test. - -2007-02-13 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Do not apply log scale range checks to - colorbar and palette unless these really are used in the plot. - Bug #1659059 - - * docs/gnuplot.doc: Clarify the section on 'set log', and remove an - empty entry point for 'set log cb'. - -2007-02-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): On Windows, cannot wait for Enter - in "pause -1" in a non-interactive session without the graph window. - -2006-02-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: Sync Japanese documentation. - -2007-02-10 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm (CGM_options): Remove C++-ism. - - * src/set.c (parse_label_options) : Make sure that there is - a default point type, so that 'set label <n> point' does in fact - draw an acceptable point. - Bug #1652654 - - * term/latex.trm: Re-assign point types to match postscript and - other terminals. Additional symbols are taken from the amssymb package. - -2007-02-10 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): On Windows, wait for Enter in console - instead for a mouse click in a special window if the graph window is - not (yet) present. - -2007-02-10 Petr Mikulik <mikulik@physics.muni.cz> - - SF #1651350 win terminal: pause mouse key|any does not work - - * src/mouse.c (event_keypress): Kill pending Pause dialog. - - * src/win/wpause.c (PauseBox): Don't show "OK CANCEL" dialog when - pausing for mouse. - -2007-02-09 Daniel Sebald <daniel.sebald@ieee.org> - - * term/pdf.trm (PDF_point): Point type 1 was incorrectly drawn as a dot. - Bug #1656433 - -2007-02-10 Juergen Wieferink <wieferink@freenet.de> - - * src/plot.c (main): Flag 'interactive' not reset to FALSE after running - command "gnuplot - nonExistingScript.gp". On some platforms, gnuplot - cannot 'exit' and goes to an infinite loop after Ctrl-D. - Bug #1612995 - -2007-02-09 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot draw_3d_graphbox): Add special-case - tests to insure that the plot border is drawn either in back or - in front of the grid when splot_map is set. - Bug #1655001 - - * term/README: Confusing typo in TERM_TABLE layout. - -2007-02-09 Petr Mikulik <mikulik@physics.muni.cz> - * docs/gnuplot.doc: Add a dummy label for "3 data style" to avoid - bug in doc2gih (try "help contour"). - -2007-02-08 Petr Mikulik <mikulik@physics.muni.cz> - - * src/plot3d.c (eval_3dplots): Improved message for non-grid data. - -2007-02-08 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_vector): Grid lines (linetype 0) were always - treated as alternating black/white/black/white. Change this to - alternating current_color/transparent/current_color/transparent. - Bug #1655001 - -2007-02-07 Ethan Merritt <merritt@u.washington.edu> - - * src/command.c (test_palette_subcommand): Do not use deprecated - syntax in internally-generated commands. - Bug #1654570 - - Update a contributed patch from May 2002 SourceForge #551439 - - * src/datafile.c (df_open plot_option_index df_readascii) - docs/gnuplot.doc: Allow data blocks in input file to be indexed - by name in addition to indexing by ordinal numbers. - plot 'file' ... index '<name>' ... - The data block is found by searching for <name> in an - introductory comment record. - -2007-02-06 Ethan Merritt <merritt@u.washington.edu> - - * src/misc.c src/graphics.c: Update comments to match code handling - colorspec with "rgb variable". - - * src/save.c (save_pm3dcolor): Save/show "rgb variable" when needed. - - * src/gadgets.h src/tables.c src/tables.h src/save.c (save_set_all) - src/graphics.c (do_plot do_key_sample) src/show.c (show_keytitle) - src/set.c (set_key) : Add a textcolor field to legend_key structure. - The requested color is applied to the key title and to the plot titles - in the key. Setting the color to "rgb variable" causes plot titles to - match the linetype color of the corresponding plot (as in version 3.7). - - * demo/colorscheme.dem : New demo - - * docs/gnuplot.doc: Update section on "set key". - -2007-02-05 Per Persson <persquare@mac.com> - - * configure.in: Testing libreadline for remove_history presence - instead of readline to avoid incompatible libedit wrapper. - -2007-02-05 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (finish_filled_curve): - Fill between curves is created by a sequence of quadrangles. - Unfortunately there is a 1-pixel overlap of adjacent quadrangles. - This causes a regular artifact (vertical stripes) if the fill style is - transparent solid. This patch tests for the special case and reduces - the width of each quadrangle by one pixel so that there is no overlap. - -2007-02-04 Ethan Merritt <merritt@u.washington.edu> - - * src/util3d.c (draw3d_line_unconditional): Clip line segment. - Fixes, or at least ameliorates, a problem with (unsigned int) terminal - coordinates going negative for terminals using the code in bitmap.c - Some day I hope we can replace all terminal coordinates with signed values - Clipping/interpolation with unsigned coords doesn't work, and causes - problems all over the place. - Bug #1649887 - -2007-02-02 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in (PKG_CHECK_MODULES): - * m4/pkg.m4: - Cleanup configure.in by defining PKG_CHECK_MODULES_NOFAIL in pkg.m4 - instead of copying the default help messages by ourself. - -2007-02-02 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: - * src/Makefile.am: - Use autotools' name transformation mechanism to define GNUPLOT_X11 as - the installed name for the gnuplot_x11 program. Fix the use of - --program-prefix and friends at configure time. Bug #997481. - -2007-01-31 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (ENHGD_FLUSH): libgd 2.0.34 will allow explicit request - for Adobe Symbol font encoding. Make use of this to handle transient - use of Symbol font in enhanced text. Does not affect older gd versions. - -2007-01-29 Ethan Merritt <merritt@u.washington.edu> - - * src/axis.c (get_position_default): Because the same parsing routines - are used for both 2D and 3D positions, the trailing comma after a 2D - position can be ambiguous. For example: - plot "foo" with labels offset 1,1, "bar" with points - currently produces an error when the parsing routine tries to interpret - "bar" as a z component of the offset. This patch fixes the common case - shown above, although more pathological cases are still possible. - E.g. plot foo w labels offset 1,1, 4 with lines - -2007-01-28 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (store_label): Only store color value for each label - in a "with labels" plot if "rgb variable" has been requested. - Bugfix. - -2007-01-27 Ethan Merritt <merritt@u.washington.edu> - - * src/color.h src/graphics.c (plot_image_or_update_axes) - term/pdf.trm (PDF_filled_polygon) src/color.c (filled_quadrangle - filled_polygon_3dcoods filled_polygon_3dcoords_zfixed): - Change gpiPoints to contain signed x,y values. This is what the - explanatory comment always implied ("same as in gd.h"), but it - wasn't true. The change fixes several image and polygon clipping - problems, including segfaults in the pdf driver. Also fixes filled - curve accounting errors on 64-bit machines. - Bug #1612502 - -2007-01-27 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * docs/gnuplot.doc: Rearranged the introduction, so it discusses - command-line arguments before gnuplot commands, and command files - before interactive mode. - -2007-01-26 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc term/gd.trm: Mention that in order to use transparent - fill in png images, you must "set term png truecolor". - -2007-01-26 Petr Mikulik <mikulik@physics.muni.cz> - - * term/post.trm: Typo in docs. - -2007-01-23 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: The libreadline checks got mangled. Bad patch? - This fixes the breakage, and adds a warning if gd.h is not found. - -2007-01-22 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_image) term/pdf.trm (PDF_image) term/post.trm - (PS_image) src/wxterminal/gp_cairo.c (gp_cairo_draw_image): Implement - clipping in accordance with the bounding box passed to term->image() - via corner[2] and corner[3]. Up until now, only x11 implemented this - aspect of image rendering. Not yet implemented: aquaterm pm win - Bug #1612502 - -2007-01-22 Petr Mikulik <mikulik@physics.muni.cz> - - * configure.in: Let the GNU readline be the default instead of the - built-in readline. Improved messages for --with-readline. - -2007-01-21 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data) src/graphics.c (plot_impulses): Store and use - optional color info from 3rd column of input for style "impulses". - Example: - plot "foo" using 1:2:(rgb($3)) with impulses lc rgb variable - - * src/plot2d.c (get_data) src/graphics.c (plot_impulses): Store and use - optional color info from 3rd column of input for style "dots". - - * src/graphics.c (plot_image_or_update_axes): Don't try to optimize rare - case of rectangular image presentation in 3D except in splot_map mode. - Bug #1612502 - -2007-01-20 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (boundary3d): Fix auto-placement of the key if the user - has forced absolute placement of the plot's right margin. - -2007-01-20 Petr Mikulik <mikulik@physics.muni.cz> - - * plot3d.c (plot3drequest): Deactive splot_map when reading [y1:y2] - argument of splot. Fixes axis reversal of set view map;splot [] [y1:y2]. - -2007-01-19 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3d.dem: Better title for plots with scans forward and - backward. - -2007-01-17 Ethan Merritt <merritt@u.washington.edu> - - * src/README: Update documentation of image code fallback to using - term->filled_polygon() for each pixel if term->image() is not usable. - -2007-01-16 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h src/graphics.c src/graphics.h - src/plot2d.c src/plot3d.c src/term_api.h: Define a struct t_image to - hold properties associated with any particular image. We can put one - of these in each 2D or 3D plot structure, just as we do for other - specific plot types. This reduces the number of parameters passed - down to rendering routines; now they only need a pointer to the one - structure, in which all other relevant information can be found. - - * docs/gnuplot.doc src/misc.c (get_image_options) src/misc.h: Add an - image property "failsafe". This causes the image to be rendered with - generic rgb rectangles, bypassing any terminal-specific image code. - This is useful for debugging problems in the customized terminal code, - e.g. Bug #1612502 - -2007-01-16 Ethan Merritt <merritt@u.washington.edu> - - * term/hp26.trm (BN_create): Use gp_alloc() rather than malloc/calloc. - - * term/hp26.trm term/compact.c term/Makfile.am.in - term/makefile.amg term/makefile.dj2 term/makefile.unx: - Remove helper file compact.c from the distribution. It contains a - broken file compaction routine that results in segfaults, memory leaks, - and buffer overflows. The only caller is hp26.trm, and testing - indicates that even when the compaction works it only saves about 5%. - - Bug #1540389 - -2007-01-13 Ethan Merritt <merritt@u.washington.edu> - - * term/cgm.trm (CGM_options) term/gd.trm (PNG_options) - term/metapost.trm (MP_options) term/tgif.trm (TGIF_options): - The "set termoption font <foo>" command was intended to allow changing - only font size, leaving the current font face intact, using the form - set term <foo> font ",<newsize>" - Some terminals were not handling this correctly. - - * src/gplt_x11.c (pr_encoding) term/x11.trm share/Gnuplot.app-defaults: - Gnuplot_x11 has been using a default encoding *-* for x11 fonts. There - is a bug in xorg-7.1 that causes this to fail. So we now provide an - optional X-resource that can be used to set the default encoding to - something else. E.g.: gnuplot*encoding: iso8859-15 - -2007-01-11 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.texi docs/gnuplot.doc (line 3521): Add trailing - whitespace at end of line "^6 origin". For unknown reasons this works - around a problem with makeinfo. FIXME. - -2007-01-10 Daniel Sebald <daniel.sebald@ieee.org> - - * term/pdf.trm (PDF_SetFont): Catch error from font request, and fall - back to guaranteed font "Times-Roman". Makes font errors non-fatal. - -2007-01-10 Ethan Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (PaletteSetColor): Update current color in - plot->current_rgb when setting color from a Palette. Bugfix. - -2007-01-09 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/borders.dem: Add a "pause -1" at the end - -2007-01-07 Mike Sutton <mws116@usa.com> - - * docs/gnuplot.doc: Update descriptions of <colorspec> as used in - `set title` and `set label`. - -2007-01-07 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_init PNG_init_brush PNG_vector PNG_point): - Instead of pre-initializing a fixed number of brushes (PNG_brush[]), - make this an array of pointers and allocated/initialize brushes on - demand. This allows us to increase the maximum line width with very - little cost in pre-allocated space. Up MAXLINEWIDTH from 12 to 100. - Also increase optimization of brush coloring by making it conditional - on an actual change in color since the last use. - -2007-01-04 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Add error return check everywhere gdImageCreate is - called. This was not a useful check in earlier versions of libgd, but - apparently 2.0.34 will introduce serious sanity checking at the time of - image creation. - -2007-01-02 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c docs/gnuplot.doc: We do not support non-hidden3d - surfaces in a plot that is otherwise hidden3d (lines, points, labels, - etc are OK). So document this and do not allow this combination of plot - options. - - Bug #1531432 - - * set.c (set_command): Default to a less strict rejection of - deprecated syntax; allow "set no<foo>" instead of "unset <foo>". - -2006-12-28 Daniel Sebald <daniel.sebald@ieee.org> - - * src/datafile.c (isanumber_pn, isatuple, token2double): - Removed these functions as they repeat behavior of and somewhat - inconsistent with real_expression(). - (plot_option_array): Use : instead of , for separator between elements. - (token2tuple): Use real_expression() to get numbers - (plot_option_comma_separated): Changed "comma_separated" to - "multivalued" everywhere. Changed the separator to a : rather than a - , since the , conflicted with , separating multiple plot commands. - A colon is also more consistent with separator used in other commands - like "using". This simplifies the code. - - * demo/image2.dem: Replaced , with : in appropriate places. - - Bug #1590658 - -2006-12-27 Juergen Wieferink <wieferink@freenet.de> - - * src/parse.c src/parse.h: New int_expression() real_expression() - * src/axis.h src/command.c src/datafile.c src/hidden3d.c src/misc.c - src/plot2d.c src/plot3d.c src/set.c src/show.c src/term.c src/unset.c - term/aquaterm.trm term/dumb.trm term/emf.trm term/fig.trm term/gd.trm - term/pdf.trm term/post.trm term/svg.trm term/win.trm term/wxt.trm - term/x11.trm: - Clean up code by replacing constructs such as - struct value a; - ... - i = (int)(real(const_express(&a))); - with - i = int_expression(); - -2006-12-27 Daniel Sebald <daniel.sebald@ieee.org> - - * src/gplt_x11.c (display): Changed "if (!plot->pixmap)" - to "if (plot->pixmap == None)". - (UpdateWindow): Made similar change to above. Also defined out what - I believe is cruft and listed a date. If it doesn't fail, someday - someone will notice the message and decide to remove. - -2006-12-23 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Honor 2D setting for bmargin - in 3D plots with "set view map". - -2006-12-16 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_tokenise df_parse_string): Allow for quoted - strings in comma-separated value files. - Bug #1614424 - - * src/graph3d.c (draw_3d_graphbox): Honor 2D front/back settings - for axis, grid, and border elements in 3D plots with "set view map". - -2006-12-15 Ethan Merritt <merritt@u.washington.edu> - - * configure.in: Fix AC_DEFINE definition of BACKSWARDS_COMPATIBLE - - * demo/transparent_solids.dem: Replace deprecated syntax. - -2006-12-11 Ethan Merritt <merritt@u.washington.edu> - - * src/set.c (set_tic_prop) src/save.c (save_tics): NO_TICS is a bitmask - value, not an integer constant. All tests for NO_TICS must be masked - through TICS_MASK. - Bug #1611764 - -2006-12-10 Daniel Sebald <daniel.sebald@ieee.org> - - * src/README src/graphics.c (plot_image_or_update_axes): - Augmented sign tests for determining image pixel orientation with the - terminal scales in the x and y dimensions. - Bug #1589589 - -2006-12-10 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add section on backwards compatibility and - deprecated syntax. Remove some trailing whitespace. - -2006-12-09 Ethan Merritt <merritt@u.washington.edu> - - * demo/all.dem demo/html/index.save demo/html/Makefile demo/image2.dem - demo/image.dem: Split image demo into two pieces. - - * demo/image.dem demo/image2.dem docs/gnuplot.doc: Add emf to the list - of drivers supporting image plot styles. - - * demo/borders.dem: Replace deprecated syntax `defined(bb)` with - `exists("bb")`. - - * configure.in: Make backwards compatibility with deprecated syntax and - terminal options an explicit configuration choice. Defaults to - --disable-backwards-compatibility - This should give us plenty of time to find any bugs exposed by - dropping the deprecated code. - - * term/gd.trm (PNG_graphics): Ignore the current values of "set size" - when creating an output image. Image size is controlled only by - "set term {png|jpeg|gif} size XX,YY". - - This change brings all terminal types except PostScript into conformity - with the distinct meanings of "set size" and "set term ... size". - "set size" scales the plot; "set term ... size" changes the size of the - canvas on which the plot is drawn. - - * docs/gnuplot.doc: Document the intended distinction between - 'set size' and 'set term <foo> size' - -2006-12-08 Johannes Zellner <johannes@zellner.org> - - * docs/gnuplot.doc: added emf to the list of file formats which can do - pm3d. - -2006-12-07 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Fix use of --without-kpsexpand - -2006-12-07 Johannes Zellner <johannes@zellner.org> - - * term/emf.trm: implemented pm3d and point types according to the - suggestion in term/README. - -2006-12-07 Ethan Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): If the first data file is non-empty but - has no usable data, then auto-scaling fails. Instead of a fatal error, - just print a warning and try to read subsequent data files. - Bug #1610430 - -2006-12-04 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm (PNG_graphics PNG_FillPattern) demo/html/Makefile: - Reconcile use of truecolor and transparency options. - Fill patterns apparently must not be defined as truecolor subimages. - "set term png truecolor transparent" should produce a transparent - background. - Bug #1608488 - -2006-12-02 Ethan Merritt <merritt@u.washington.edu> - - * demo/all.dem: Refer to transparent_solids.dem by its proper name. - * demo/rgb_variables.dem: Minor update to first 2 plots. - -2006-11-30 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_impulses): Color values read from a file were - not being applied to impulse plots. Replicate the color assignment code - being used by plot3d_points. - -2006-11-29 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm src/term.c (enhanced_recursion): Re-think what is - needed to pass an escaped Unicode character to svg. In normal text - mode treat the sequence &#x... as a special case and pass it through - as is. In enhanced text mode & is already a special character, so in - this case we need to temporarily replace it with an octal value that - cannot be mistaken for something else, #xFE. - -2006-11-28 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/faq-ja.tex: Sync Japanese documentation, - SF Patch [1519215]. - -2006-11-28 Ethan Merritt <merritt@u.washington.edu> - - * demo/layout.dem: Add a 4th demo plot illustrating the creation of - stacked plots. - - * src/graphics.c (do_key_sample): If a box plot sample has zero width, - do not draw a sample at all. This avoids drawing a visible border around - a zero-width box. - -2006-11-28 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Fix bug in --{en|dis}able-wxwidgets - - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - Allow building with wxMac, in addition to wxMSW and wxGTK. - -2006-11-26 James R. Van Zandt <jrv@vanzandt.comcast.net> - - * docs/gnuplot.doc: For filledcurves, the default variant depends - on the number of columns in the input data. - -2006-11-26 James R. Van Zandt <jrvz@comcast.net> - - * term/README: tweak wording of _image documentation. - -2006-11-25 Mike Sutton <mws116@usa.com> - - * term/gd.trm (PNG_init PNG_vector PNG_point): Fix off-by-one error - in specifying brush definitions that control line width. - -2006-11-22 Ethan Merritt <merritt@u.washington.edu> - - * term/pdf.trm (PDF_graphics): The multiplier from 'set size' was being - applied twice, so the resulting plot scaled as the square of the size. - Apply it only once, to the plot, not to the canvas. - - * term/pbm.trm (PBM_graphics PBM_options): Decouple 'set size' from - 'set term pbm size XX,YY'. The latter will always yield an XX,YY image. - Keep (pre-4.2) behaviour if no explicit terminal size is given. - -2006-11-21 Ethan Merritt <merritt@u.washington.edu> - - I ran the complete set of demos through the svg terminal, and judged the - result using ksvg via konqueror. This revealed several problems, which - are fixed by this set of patches. Other svg viewers (mozilla, inkscape, - OpenOffice) worked less well. - - * term/svg.trm (SVG_PathLimit SVG_MoveForced): Avoid ridiculously - long paths by limiting total path length to 512. - Allows konqueror to handle the last plot of vector.dem. - - * term/svg.trm: Avoid opening/closing new paths unnecessarily. - This prevents creating a new group for every filled_polygon, and - drastically reduces the size of output files containing pm3d objects - or pixel images. - - *term/svg.trm: Clipping in the core code is still not perfect. - Handle y coordinate overflow gracefully. - -2006-11-19 Ethan Merritt <merritt@u.washington.edu> - - * term/fig.trm (FIG_set_color): The case of TC_LT was handled - incorrectly. - Bug #1599346 - - * src/misc.c (lp_use_properties) Remove annoying warning message. - -2006-11-18 James R. Van Zandt <jrvz@comcast.net> - - * tutorial/eg2.plt: Use \sin in title. - - * tutorial/eg4.plt: delimit one label with double quotes, for - illustration. - - * tutorial/eg7.plt: Add labels giving the equations for the tori, - using manual spacing for one and a \parbox for the other. - - * tutorial/tutorial.tex: Re-align the "verbatim" code with what's - actually used (especially: single quotes vs. double quotes). - Point out that backslashes need escaping in double quotes, and - that strings can be continued. Show two ways to handle vertical - spacing of labels in the epslatex terminal. - -2006-11-18 Ethan Merritt <merritt@u.washington.edu> - - * term/fig.trm (FIG_filled_polygon) term/tgif.trm (TGIF_filled_polygon) - term/pstricks.trm (PSTRICKS_filled_polygon): These terminals were - issuing a spurious warning message if term->filled_polygon() was called - without a color palette having been initialized. It is perfectly fine - to fill a polygon with other types of colorspec. - - * demo/margins.dem demo/html/webify.pl demo/html/index.save: Update - to current version, and make webify less sensitive to extra whitespace. - -2006-11-17 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes): Split test for terminal - capabilities into two parts, palette and rgb. This allows the emf and - other terminal drivers to handle rgbimage even if they provide no - palette support. - - * term/cgm.trm (CGM_set_color): Fix stupid typo in array bounds check. - - * NEWS: update - -2006-11-16 Ethan Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots) docs/gnuplot.doc: The documented syntax - is 'newhistogram {"<title>"} {<linestyle>}' but in fact the code was - giving an error return if no title was present. Fixed. - -2006-11-15 Ethan Merritt <merritt@u.washington.edu> - Daniel Sebald <daniel.sebald@ieee.org> - - * src/gp_types.h: Define overlaid fields in struct coordinate to hold - RGB components of IMAGE and RGBIMAGE plot styles. - - * src/graphics.c (plot_image_or_update_axes) src/plot3d.c (get_3ddata) - src/plot2d.c (get_data): Store RGB data into newly defined fields. - This enables 'splot ... with rgbimage'. - - * src/graphics. (plot_image_or_update_axes) docs/gnuplot.doc: - Remove restriction that rgb images could only be rendered as a 2D - rectangle facing the viewer. The general filled-polygon mechanism can - now be used for 3D rgbimages in arbitrary orientations. - - * demo/image.dem: Modify last plot to show rgbimage in 3D. - -2006-11-14 Ethan Merritt <merritt@u.washington.edu> - - * hidden3d.c (build_networks): Add checks in the hidden3d code to - cleanly skip empty plots. This fixes a segfault demonstrated by - running image.dem when the binary3 input file is missing. - - * graphics.c (place_rectangles): Change the order of testing for - 2D and 3D cases; needed because 'set view map' was affecting 2D plots. - Bug #1596313 - -2006-11-12 Ethan Merritt <merritt@u.washington.edu> - - * src/save.c (save_set_all): The gpsavediff script strips out lines - from a gnuplot save file if the options they describe have not changed - from the default. We can help this simplification by writing - infrequently used suboptions on a separate line. Also change saved - command to match documented command syntax 'set key nobox'. - - * src/set.c (set_tics) src/show.c (show_tics) src/save.c (save_set_all) - docs/gnuplot.doc: Allow tics to be set front/back without turning on - the whole grid. Syntax: set tics {front|back} - -2006-11-12 Ethan Merritt <merritt@u.washington.edu> - - Transparent fill styles (SourceForge patchset #1583199 - - * src/term_api.h: Define new fill styles FS_TRANSPARENT_SOLID and - FS_TRANSPARENT_PATTERN. No new terminal entry points are added. - However, routines that handle fill styles must be prepared to do - something reasonable, perhaps ignore, the new transparent styles. - - * src/graphics.c src/term_api.h src/term.c: Move routine style_from_fill - from graqphics.c to term.c and export it for general use. - - * src/color.c src/misc.c (parse_fillstyle) src/plot2d.c (eval_plots) - src/save.c (save_fillstyle) src/show.c (show_fillstyle) - - * term/aquaterm.trm term/cgm.trm term/fig.trm term/metapost.trm - term/post.trm term/svg.trm src/os2/gclient.c src/win/wgraph.c: - Insert place-holders for transparent fill styles. - - * term/gd.trm term/pdf.trm src/gplt_x11.c src/wxterminal/gp_cairo.c: - Implement transparent fill styles, with varying degrees of completeness. - - * demo/all.dem demo/transparent.dem demo/transparent_solids.dem - demo/html/index.save demo/html/Makefile: New demos for transparency. - - * docs/gnuplot.doc: Document transparency options for 'set style fill'. - -2006-11-10 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/win/wpause.c: - * src/win/wtext.c: - * src/wxterminal/wxt_gui.cpp: - * src/wxterminal/wxt_gui.h: - * src/wxterminal/wxt_plot.h: - Rework and simplify the event handling from the wxt terminal on - Windows. Remove hooks from the wxt terminal in the Windows files. - - * src/plot.c (main): - * src/plot.h: - Introduce a boolean to track the use of "-persist" on the command line. - Remove WXWIDGETS-specific code. Call term_reset() using GP_ATEXIT(). - - * src/wxterminal/Makefile.am: - * src/wxterminal/wxt_plot.h: - Remove the file wxt_plot.h, now unused. - - * src/wxterminal/wxt_gui.cpp (wxt_init, wxt_atexit): - * src/wxterminal/wxt_gui.h: - Use GP_ATEXIT() to register wxt_atexit(). - Rework "persist" behaviour on Windows. - - * configure.in: - * wxt_gui.cpp (wxt_atexit): - * wxt_gui.h: - Use fork() to make the "persist" behaviour satisfying on UNIX. - -2006-11-07 Timothee Lecomte <timothee.lecomte@ens.fr> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::DrawToDC): Draw the zoom - coordinates with the same font as the plot. - -2006-11-05 Ethan Merritt <merritt@u.washington.edu> - - * src/term.c (init_term): Normally we initialize the default terminal - immediately on program entry. However, if the default is x11 then defer - initialization until an actual plot command. This mitigates problems - if gnuplot_x11 cannot be started normally, and allows the user to select - a different driver in the case that x11 is the default but is broken. - Bug #1530601 - -2006-11-04 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Restore a few lines of code removed in - the 21-Oct-2006 patch that added absolute placement of margins. This - restores the placement of the right plot boundary in some corner - cases involving color plots with no colorbox. However, I believe that - this "fix" is only needed only to counteract errors in the colorbox - code itself. - Bug #1590363 - - * term/x11.trm (parse_driver): If this routine fails on first entry, we - must not call int_error() because the longjump has not been set up yet. - I.e. "setenv GNUPLOT_DRIVER_DIR illegal; setenv GNUTERM x11; gnuplot" - would segfault on entry. Just print a warning and hope the user notices. - -2006-11-03 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readbinary): Fix error in logic of 2D and 3D - rotation matrix initialization. - -2006-11-03 Petr Mikulik <mikulik@physics.muni.cz> - - * VERSION PATCHLEVEL src/version.c: Declare this version as 4.3 pl 0. - -2006-11-01 Ethan Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add an entry key for "help file", because otherwise - this takes you to a section on avs binary format (confusing). - -2006-10-29 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/tables.h src/tables.c: Add font to key structure. - - * src/set.c (set_key set_keytitle) src/save.c src/show.c - src/graphics.c (do_plot do_key_sample) docs/gnuplot.doc: - set key {font "<face>,<size>"} - - Add explicit font to be used for key title and key entries. If you use - a font that is very different from the default, you may have to adjust - the line spacing of the key entries. For example: - set key font "Times,18" spacing 1.5 - -2006-10-28 Ethan Merritt <merritt@u.washington.edu> - - * src/show.c (show_ticdef) src/save.c (save_tics): Handle textcolor of - tic labels correctly for cases other than a pure linetype (TC_LT). - Bug #1586427 - -2006-10-26 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/graphics.c (place_rectangles): Fix missing brace in - yesterday's change. - -2006-10-25 Ethan Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_rectangles do_plot) src/graph3d.c (do_3dplot) - src/graphics.h: Allow placement of rectangles in 3D (splot) regardless - of view angle, but only if the rectangle position is given in screen - coords. Placement in 2D and 3D "set view map" is unchanged. - -2006-10-22 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/graphics.c (plot_image_or_update_axes): Operator | is - forbidden on real C99 booleans. Use || instead. - - * src/datafile.c (df_readbinary): Operator | is forbidden on real - C99 booleans. Use || instead. - - * src/axis.c (setup_tics): Operator & is forbidden on real C99 - booleans. Use && instead. - - * config/makefile.oww (WCFLAGS): Add -za99 to enable _Bool type in - recent versions of OpenWatcom. - (default): Mark .SYMBOLIC for wmake. - (texticon.ico): Avoid endless rebuild by copying the generation - command. - -2006-10-21 Ethan Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/graph3d.c src/graphics.c src/save.c - src/set.c src/show.c src/unset.c src/util3d.c: Add option to specify - plot margins as an absolute position on the canvas (screen). - set {lrbt}margin screen <frac> - - * docs/gnuplot.doc demo/all.dem demo/html/index.save demo/margins.dem - demo/html/Makefile: Add demo illustrating use of absolute margins to - perfectly align 2D and 3D component plots within a multiplot. - -2006-10-21 Timothee Lecomte <timothee.lecomte@ens.fr> - - * configure.in: Rework the summary displayed at the end of the - 'configure' script, so that it is more complete, useful, consistent and - still readable. - -2006-10-20 Ethan Merritt <merritt@u.washington.edu> - - * src/graph3d.h src/parse.c src/parse.h src/plot2d.c src/plot3d.c: - Implement a mechanism for iteration within a plot or splot command. - {s}plot for [<var>=<start>:<end>{:<incr>}] ...rest of plot clause... - - * docs/gnuplot.doc demo/iterate.dem demo/histograms.dem demo/all.dem: - Illustrate use of iteration in plot commands. - -2006-10-20 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open) docs/gnuplot.doc: - Current syntax for using specs allows - plot foo using 1:2 title column - plot foo using 1:2 title 2 - but not - plot foo using 1:(column(N)) title N - Fix this by allowing 'title column(N)' in a `using` clause. Note that - this does not affect the general case 'title "foo"' found outside of a - `using` clause. - -2006-10-20 Bernhard Simon - - * src/color.c (make_palette): Add missing stderr parameter in - FPRINTF debugging statements. - -2006-10-19 Ethan Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readline): If the datafile we are supposedly - reading from was never opened, simply return DF_EOF. This relieves the - caller from having to check this separately before calling df_readline. - - * src/datafile.c (df_open); If the datafile cannot be opened, set - df_eof and return DF_EOF. FIXME: Having both methods is stupid; we - should just get rid of df_eof and use the return value. - - * src/graph3d.c (do_3dplot draw_3d_graphbox) src/graphics.c (do_plot): - * src/plot3d.c (eval_3dplots): - Do a better job of skipping over plots marked NODATA. In particular do - not try to scan their data for scaling or plot limits, and do not place - an entry in the key box. - - Bug #1579867 - -2006-10-17 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Back off to simpler treatment of non-ascii characters. - "set term svg raw" - pass them through unaltered - "set term svg escaped" - replace byte-by-byte with &#xNN; - - * configure.in: Print a warning if snprintf() is not found during auto- - configuration. Recommend that the user provide snprintf() via an - external version. - -2006-10-15 Ethan Merritt <merritt@u.washington.edu> - - * term/gd.trm: Switch to Unicode-compatible representation of octal - characters given as \xxx in a single-quoted test string. - Bug #1534649 - - * term/svg.trm: Only re-code utf-8 into Unicode if current encoding - is default or iso_8859_1. - -2006-10-14 Ethan Merritt <merritt@u.washington.edu> - - * term/svg.trm: Implement full (?) UTF-8 support via escaped unicode - codepoints. E.g. rather than relying on the SVG viewer to interpret - UTF-8 byte sequences, convert them to the form ꪪ where AAAA - is the hex representation of the unicode character. - - * term/svg.trm (SVG_options): Do not reset terminal options to default - values if invoked from `set termoption` rather than `set terminal`. - Bug #1534649 - -2006-10-13 Ethan Merritt <merritt@u.washington.edu> - - * term/gplt_x11.c: Place #ifdef HAVE_STRDUP protection around a code - section that uses it to send signals to the KDE konsole. - Older systems may not provide strdup(), but they also don't run KDE. - Even if they did, the code in question is hardly a required feature. - Fixes compile problem on Ultrix. - - * demo/rgb_variable.dem: Some platforms do not allow you to read a - hexadecimal constant via strtod(). This prevents reading RGB colors as - hexadecimal constants. Add a test for this, and print a warning. - Bug #1574814. - -2006-10-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/plot2d.c: Allow 2D plots to read color info from - input column. Implemented for points and labels. SF Patch #1573026 - plot ... with points linecolor rgb variable - plot ... with labels textcolor rgb variable - - * demo/rgb_variable.dem: Add 2D example plots. - -2006-10-12 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.doc: Small corrections. - - * term/post.trm (PS_encode_image): Added gamma correction for images - using a PostScript transfer function. SF Patch [1575425]. - -2006-10-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (SVG_put_text): Re-work this routine. Fix error - in the escape codes generated for octal constants. Fix control flow - for non-enhanced text strings. - Bug #1575007 - -2006-10-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (test_palette_subcommand): Fixed order of set tics - commands. - -2006-10-10 Ethan A Merritt <merritt@u.washington.edu> - - * m4/alpha.m4: Have the new macro use __alpha as the basis for the - test. Checked on Digital Unix 4.0D and Tru64 V5.1 - - * term/svg.trm (SVG_put_text): Fix bracket scope error introduced - on 3 Oct. - -2006-10-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * m4/alpha.m4: New macro GP_ALPHA. Try to auto-detect if compiler - targets DEC Alpha/AXP CPU. If so, add -mieee or -ieee flag to - CFLAGS to avoid FPU weirdness. - - * configure.in (GP_ALPHA): Call new macro. - -2006-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.h src/gplt_x11.c term/x11.trm: Code cleanup. - Assign separate protocol keys and disentangle the code supporting - binary/ascii descriptions of color and polygons passed by the x11 - driver to gnuplot_x11. Patchset #1549408 - -2006-10-08 Daniel Sebald <daniel.sebald@ieee.org> - - * src/term.c term/driver.h: Remove dead code and comments - -2006-10-08 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * docs/gnuplot.doc (set key): Fix gotcha in list of alignment - options in 'at <position>' case. - -2006-10-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (change_term): For backward compatibility, allow - "set term X" as shorthand for "set term x11". - -2006-10-04 Ethan A Merritt <merritt@u.washington.edu> - - * tutorial/eg7.plt: Make sure no local encoding is in effect, since - the corresponding TeX package is probably not going to be loaded. - - * term/post.trm (PS_vector): Fix breakage introduced by Bugfix #1542050 - The path length must not be set to 0 without issuing a stroke command, - otherwise the current path may never be flushed at all. - -2006-10-03 Daniel Sebald <daniel.sebald@ieee.org> - - * demo/borders.dem: Place all 16 plots on one multiplot. - - * demo/all.dem: Put borders.dem inside all.dem. - -2006-10-03 Petr Mikulik <mikulik@physics.muni.cz> - - * src/version.c: Changed date, version and patchlevel. - -2006-10-03 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/graph3d.c (place_arrows3d): Clip arrows even in 3D. Patch - from Harald Harders (SF #1569232). - - * term/svg.trm: Change sprintf() and fprintf() to strcpy and - fputs, all over the place. - (SVG_put_text): Fix handling of XML reserved characters in - non-enhanced text output. - -2006-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * share/LaTeX/Makefile.am: If ./configure has determined that TeX is - not installed on this machine, do not try to install gnuplot.cfg - in the TeX directory tree. - Bug #1569033 - -2006-10-02 Daniel Sebald <daniel.sebald@ieee.org> - - * docs/gnuplot.doc: Changed documentation for image to reflect fact - that uniform sampling is assumed. Fix other typos. - -2006-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.texi docs/doc2texi.el docs/gnuplot.doc: - Update version number to 4.2 and update date to 2006 - -2006-10-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * PATCHLEVEL: Changed to rc1 for first release candidate. - - * VERSION: Changed to version 4.2. - diff --git a/docs/old/ChangeLog.3 b/docs/old/ChangeLog.3 deleted file mode 100644 index b4fa8307f..000000000 --- a/docs/old/ChangeLog.3 +++ /dev/null @@ -1,4249 +0,0 @@ -This is the ChangeLog covering gnuplot development between -November 2009 (4.4-rc1) and November 2011 (split off 4.6 stable branch) -======================================================================== - -2011-11-22 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 4.6 (cvs tag -b branch-4-6-stable) - -2011-11-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/contour.c (contour): Format contour labels using gprintf rather - than sprintf so that LC_NUMERIC and "set decimal" are honored. - Bugfix. - - * term/js/gnuplot_svg.js: Try to correct for coordinate offset due to - scrollbars. The fix is unfortunately browser specific. - -2011-11-22 Peter <plotter@piments.com> - - * term/svg.trm: "standalone" option includes gnuplot_svg.js mousing - support directly in the output *.svg file rather than linking to it - as an external resource. - -2011-11-18 Daniel Leidert <dleidert@users.sourceforge.net> - - * demo/html/webify.pl demo/html/webify_svg.pl demo/html/webify_canvas.pl - Use perl5 native routine ctime() rather than perl4 external module. - - * src/datafile.c term/epson.trm term/post.trm: - Typos. - - * configure.in: Check for lua5.1.pc if lua.pc is not found. - - * man/gnuplot.1: Add some needed character escapes. - -2011-11-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp src/win/wgdiplus.h src/win/wgnuplib.h - src/win/wgraph.c src/win/wresourc.h: Antialiasing of fill patterns. - - * src/win/wgraph.c (CopyPrint): Use Print Setup dialog since the Page - Setup dialog does not offer a possibility to change printer. Do not - use antialiasing on printers. - -2011-11-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Store current - text encoding in list of drawing ops. - -2011-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c (parse_range, parse_named_range) - src/axis.c (save_writeback_all_axes check_axis_reversed) - src/fit.c src/plot2d.c src/plot3d.c src/stats.c src/unset.c: - Replace axis-related macros with equivalent subroutines. - -2011-11-14 Ethan A Merritt <merritt@u.washington.edu> - - * config/Makefile.am.in demo/Makefile.am.in m4/Makefile.am.in - tutorial/Makefile.am.in term/Makefile.am.in: - - Make sure that the generated files Makefile.am and gnuplot-tikz.help - do not end up non-writable by the owner, which caused build cleanup - problems while packaging. Bug #3419881 - -2011-11-14 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/plot2d.c (store2d_point): Fix for 4-column mode of - BOXPLOT style which did not handle log scale correctly. - -2011-11-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c - src/win/wtext.c: Localisation support for menu and help files. - Files are loaded according to current language settings from - files named "wgnuplot-LL.mnu" and "wgnuplot-LL.chm", where LL is - the abbreviation of the current language. Fall back to - "wgnuplot.mnu" and "wgnuplot.chm" if localised files don't exist. - Defaults may be overwritten by new entries "MenuFile" and - "HelpFile" in wgnuplot.ini. - Choose appropriate default fonts in Japanese environments. - - src/show.c (show_version) src/win/winmain.h: List correct names - of menu and help files on Windows. - - src/win.trm (WIN_set_color): Immediately translate palette color - values to RGB instead of passing them on. This makes it possible - to use more than one palettes in multiplots and in different - graph windows. Test e.g. with pm3dcolors.dem - - * src/win/wgraph.c src/win/wresourc.h src/win/wgnuplib.h: Add a - separate switch to toggle antialiasing of polygons. - - * src/win/wgraph.c (Draw_XOR_Text): Implement a 10 year old FIXME: - Use proper raster operation instead of double inversion. - -2011-11-12 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/README.win-ja src/win/wgnuplot-ja.mnu: Update and sync - with wgnuplot.mnu - -2011-11-12 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c (set_degreesign): Windows implementation using a Windows - API call since iconv() does not understand locales as returned by - setlocale(). - - * src/command.c (help_command): HTML help window need to occlude - the text window. - - * term/win.trm (WIN_filled_polygon): Use boxfill for filled polygons - which are actually rectangles. - - * src/win/wgnuplib.h src/win/wgraph.c: Add support in windows terminal - for toggling individual plots on/off by clicking on the corresponding - key sample in addition to toggling via toolbar buttons. - -2011-11-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_degreesign): More attempts to work around oddities in - Solaris locale handling. - -2011-11-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: Sync to docs version 1.699. - - * docs/gnuplot.doc term/be.trm term/cairo.trm term/context.trm - term/win.trm: Fix typos. - -2011-11-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/command.c src/eval.c src/gadgets.c src/graphics.c - src/internal.c src/tables.c src/unset.c src/util.c src/util.h - term/post.trm: Fix or remove some FIXMEs. - -2011-11-09 Bastian Maerkisch <bmaerkisch@web.de> - - * doc/gnuplot.doc: New terminal driver epscairo. - - * term/gd.trm: Don't use gd font pointer variables for builtin fonts. - -2011-11-08 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/set.c: Use nl_langinfo(CODESET) to find the encoding. - This hopefully works around non-standard encoding names used by Solaris. - - * src/wxterminal/wxt_gui.cpp: Toggle for "plot ... with circles" - -2011-11-08 Bastian Maerkisch <bmaerkisch@web.de> - - * doc/gnuplot.doc [New features]: Document new cairolatex and - revised windows terminal. - -2010-11-08 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * src/set.c (set_degreesign): Move include of iconv.h to top level. - -2011-11-07 Bastian Maerkisch <bmaerkisch@web.de> - - * term/fig.trm: Update help on font option. - - * term/context.trm: Avoid use of round() because MSVC is still not - C99-compliant. - - New terminal driver cairolatex, which uses the cairo EPS or PDF - backend for graphics output and LaTeX text created by functions - shared with the epslatex and pslatex terminals. - - * term/cairo.term term/post.h term/post.trm term/pslatex.trm: New - terminal driver cairolatex. - Patch #3413095 - -2011-11-06 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - Add a context terminal, which creates output suitable for ConTeXt. - - * configure.in docs/doc2texi.el docs/gnuplot.doc docs/Makefile.in - src/makefile.all src/makefile.awc src/term.h term/context.trm: - New terminal driver context. - Patches #1654807 and #1503836. Feature Request #2815867. - -2011-11-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_gui.h - src/wxterminal/wxt_term.h term/wxt.trm: - Add support in wxt terminal for toggling individual plots on/off - by clicking on the corresponding key sample. - -2011-11-04 Ethan A Merritt <merritt@u.washington.edu> - - term/wxt.trm src/wxterminal/wxt_term.h src/wxterminal/wxt_gui.cpp: - Add a term->layer() entry point for the wxt terminal. - - * src/mouse.c src/term_api.h: TERM_LAYER_BEFORE_ZOOM - -2011-11-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c src/util.h src/set.c (set_encoding set_degreesign): - Provide an internal char sequence degree_sign[] appropriate for the - current encoding. Use iconv(), if available, to translate it into the - environment's locale after `set encoding locale`. - - * src/show.c (show_decimalsign): Show the degree sign also, mostly - so that people can report problems with the encoding code above. - -2011-11-01 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wmenu.c src/win/wtext.c: Use proper dropdown menu for - Options toolbar item. - -2011-10-30 Bastian Maerkisch <bmaerkisch@web.de> - - * INSTALL: Update Windows section. - - * config/makefile.mgw: Superseded by config/mingw/Makefile. Removed. - -2011-10-30 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * config/config.nt config/makefile.nt: Windows console apps support - pipes. - -2011-10-30 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.cyg config/config.mgw config/config.nt - config/config.oww: Enable stats command. - -2011-10-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (make_palette): Fix segfault caused by initializing a - terminal with an "infinite" color palette (colors == 0) when previous - terminal had merely a large color palette (e.g. WIN_PAL_COLORS 4096). - Bug #3429772 - -2011-10-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/datafile.c src/fit.c src/mouse.c - src/plot2d.c src/plot3d.c src/save.c src/set.c src/setshow.h src/show.c - src/stats.c src/tabulate.c src/unset.c term/canvas.trm term/svg.trm: - - Change the axis structure field from TBOOLEAN axis.is_timedata to an - enum {DT_NORMAL, DT_TIMEDATE} field axis.datatype. This is preparation - for adding code to implement a new mode DT_DMS (degrees, minutes, - seconds) that tracks x and/or y as geographic coordinates. - There is no change to the behavior of the current code. - -2011-10-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Friendlier error message, add a <title> tag at the - top of the output svg document. - -2011-10-17 Christoph Bersch <cbersch@users.sourceforge.net> - - * docs/doc2texi.el: Handle presence of three nodes with the same key. - -2011-10-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c (humlik): - Re-order code to avoid accessing an unitialized variable. - - * term/emf.trm (EMF_put_text): - Re-order code to avoid accessing an unitialized variable. - - * src/command.c (else_command): An else clause might either be - processed by if_command() or else_command(). The latter was not - correctly updating c_token. - - * src/misc.c (lf_load): Tie maximum depth of load commands to - STACK_DEPTH. - -2011-10-13 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/titlepag.tex: Revise the sections that - describe function plots to mention `set samples`. Allow the table of - builtin functions to split across pagebreaks in the TeX documentation. - - * src/wxterminal/gp_cairo.c: Decrease linewidth used by pdfcairo - terminal for pattern fill. This works around what seems to be a pdf - bug in libcairo versions through at least 1.10. - - * src/fit.c (error_ex): Exit via int_error() so that it can walk - through the list of XXX_reset_after_error() routines. - -2011-10-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c: Bump default QUADTREE_GRANULARITY from 10 to 30. - At 10, 24% of the CPU time for all.dem is spent in hidden line removal. - At 30 this decreases to 12%, for roughly a 10% speed increase overall. - -2011-10-10 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c src/datafile.h src/gadgets.h src/graphics.c - src/graphics.h src/plot2d.c src/save.c src/set.c src/show.c - demo/boxplot.dem docs/gnuplot.doc: - - Add new mode for the "with boxplot" plot style. - If there is a 4th column in the using spec, the values in it it will - be interpreted as the discrete levels of a factor variable. As many - boxplots will be drawn as there are different values in the factor - column, each boxplot representing part of the dataset. These boxplots - are optionally labeled and sorted. New options "separation", "label", - and "sorted"/"unsorted" to "set style boxplot" govern the behavior of - this new mode. The demo "boxplot.dem" is extended to showcase the new - capability. - -2011-10-09 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/internal.c (f_sprintf): More complete MSVC++ snprintf() patch. - -2011-10-09 Adam Strzelecki <ono@users.sourceforge.net> - - * src/wxterminal/wxt_gui.h src/wxterminal/wxt_gui.cpp: - Work around a number of issues compiling and running wxt with wx 2.9 - using 64-bit Cocoa on OSX Lion. All changes are #ifdef __WXOSX_COCOA__. - These may not be necessary once Cocoa reaches a stable release. - (1) use wxToolbar AddStretchableSpace rather than AddSeparator - (2) wx Cocoa does not support logical operators such as wxDC inverse - (3) wx Cocoa toolbar icons are blurry unless they are 24x24 - (4) wx Cocoa does not define _Bool even though it says it does - -2011-10-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.h src/command.c src/getcolor.c src/gplt_x11.c src/save.c - src/set.c src/show.c src/tables.c src/tables.h term/post.trm - term/x11.trm demo/pm3d.dem docs/gnuplot.doc: - - New palette option "cubehelix". The is a family of palettes with the - general property of combining N cycles of a color-wheel with a monotonic - increase in overall intensity. This feature was suggested by Ingo Thies. - See: D A Green (2011) "A colour scheme for the display of astronomical - intensity images" http://arxiv.org/abs/1108.5083 - -2011-10-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/internal.c (f_sprintf): Always null-terminal a string written by - the non-ANSI compliant MSVC++ routine _snprintf(). - -2011-10-03 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_options): When searching the list of graph windows - the correct test is for window Id. - -2011-10-03 Rich Seymour <richseymour@users.sourceforge.net> - - * term/svg.trm: Look for strings " Bold" and/or " Italic" in font name - and set the corresponding properties if found. Patchset #3058920. - -2011-10-03 Bastian Maerkisch <bmaerkisch@web.de> - - * term/post.trm (PS_options): Properly contain new variable in a - block. Bug #3417716 - - * src/Makefile.maint: New target makefile.awc. - - * src/makefile.all src/makefile.awc: Regenerated to include stats.c. - -2011-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/Makefile.am src/command.c src/command.h src/show.c - src/stats.c src/stats.h src/tables.c docs/gnuplot.doc: - - New command to generate a statistical summary of the data in a file. - stats "datafile" [using col1[:col2]] [nooutput] [name "PREFIX"] - Data is read from the input file under the control of the same options - used for 'plot' commands (e.g. xrange, yrange, using, index, every). - The min/max/mean/stddev/quartiles of data from one or two data columns - are printed to the terminal and stored in named variables. These - variables can be used to modify subsequent plot commands. - This code was developed primarily by Philipp Janert and Zoltán Vörös. - - * demo/html/Makefile demo/html/Makefile.svg demo/html/Makefile.canvas - demo/stats.dem demo/all.dem: New demo to exercise stats code. - -2011-10-01 Bastian Maerkisch <bmaerkisch@web.de> - - * term/cairo.trm: Depending on the version, Cairo defaults to cropping - eps files to the minimal bounding box. This patch adds support for the - {no}crop option to the epscairo terminal. Cropping is prevented by - putting two points in background color in opposite corners, or by - directly setting the bounding box for Cairo newer than 1.11.0. - - * config/mingw/Makefile: Include epscairo terminal. - -2011-10-01 Christoph Bersch <cbersch@users.sourceforge.net> - - * term/post.trm term/pslatex.trm: New options `background` and - `nobackground` for terminals postscript, epslatex, pstex and pslatex. - Patch #3415158 - -2011-09-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c src/graph3d.c src/graphics.c: User-specified axis tick - labels should override auto-generated tick labels in 3D plots just as - they already do in 2D plots. - - * src/plot2d.c: In `plot with labels`, skip labels for which the x,y - coordinates are UNDEFINED. - Bug #3415454 - - * term/js/gnuplot_mouse.css: Opera is picky about missing units. - -2011-09-27 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm term/fig.trm term/metapost.trm term/tgif.trm: - Prefer the new syntax set term ... font "<name>,<size>" in the - documentation. This does not change the terminal input, only the docs - and the options string echoed back by "show term". - - * term/canvas.trm: Implement set term canvas ... font "<name>,<size>". - Currently the name is ignored. - -2011-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/plot2d.c: Defer interpretation of newhistogram - linetype until the histogram itself is drawn. - -2011-09-21 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/borders.dem: Use loop instead of `reread`. - - * demo/image2.dem: Explicitely `reverse` axes. - - * src/win/wgraph.c (drawhraph) [W_filled_polygon_draw]: Transparent - pattern fill actually fills with white background since 2011-05-15. - Fixed. - - * src/win/wgnuplib.h src/win/wgraph.c (WndGraphProc) term/win.trm - (WIN_options, WIN_update_options): Update term options on changes via - graph window/menu. Track font face and size as read from ini-file. - - * src/stdfn.c|h (gp_basename) term/pslatex.trm (PSTEX_common_init): - Move code from pslatex.trm to new function gp_basename which takes - two different directory separators into account and does not change - its argument. - -2011-09-16 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.lua: Modify the commands used for rgb color - selection so that they are compatible with context as well as tikz. - Bug #3401068 - -2011-09-16 Oliver Jennrich - - * term/lua/gnuplot-tikz.lua: Update syntax used for setting line join - properties. - Bug #3410554 - -2011-09-12 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Fix building gnuplot.ps and gnuplot.pdf. - Include figures in gnuplot.pdf. Define new targets 'console', 'windows' - and 'pipes' to build different versions of gnuplot. Use separate - file extensions for each version. Let 'make all' build all versions. - Match 'install' target to Tatsuro Matsuoka's packages. - -2011-09-09 Ethan A Merritt <merritt@u.washington.edu> - - * docs/doc2tex.c docs/titlepag.tex: Tweak format of TeX documentation - (no section numbers in table of contents, text width appropriate for - paper size). - -2011-09-09 Bastian Maerkisch <bmaerkisch@web.de> - - src/win/wgnuplib.h src/win/wgraph.c src/win/wresourc.h term/win.trm: - Add a toolbar to the graph window. Currently, it offers icons for Copy, - Print, Save and Options. Additionaly, plot elements can be temporarily - hidden, ie. without a `replot`. This is much like what can be done - using canvas and svg terminals and is implemented using term->layer. - -2011-09-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes): "with image" from a - function may not make sense, but at least it should not segfault. - Bug #3406642 - -2011-09-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_sum_expression): Simplify construction of summation - action table. - - * src/command.c (undefine_command) src/eval.c (del_udv_by_name): - Break out the guts of undefine_command into a utility routine that can - be called internally. - - * src/hidden3d.c (build_networks): Valgrind found a test against an - uninitialized field. - -2011-09-06 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: cairo_ps_surface_set_eps is only supported by cairo - version 1.6.0 or later. - -2011-09-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c term/canvas.trm: Allow canvas and svg terminals to provide - mousing even if gnuplot itself is built without USE_MOUSE. - - * src/gplt_x11.c src/Makefile.am: gnuplot_x11 --version - -2011-09-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c (fn_completion, tab_completion, isdoublewidth) - src/win/screenbuf.h (sb_calc_length) src/win/wcommon.h (open_printer, - close_printer) src/win/wgraph.c (UnicodeText) src/win/winmain.c - (ShutDown, CheckMemory) src/win/wmenu.c: Add missing prototypes, - make local functions static. - - * src/alloc.c src/alloc.h src/ansicheck.h src/command.c src/command.h - src/plot.c src/scanner.c src/stdfn.c src/syscfg.h src/term.c: - Remove conditional code for Atari Pure C and Borland C compilers. - - * src/axis.c src/command.c src/datafile.c src/getcolor.c src/misc.c - src/pm3d.c src/variable.c: Remove unused variables and prototypes. - -2011-09-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm term/canvas.trm term/js/gnuplot_mouse.js - term/js/gnuplot_svg.js: Add support for time coordinates to the mousing - code used by svg and canvas terminals. In this initial implementation, - only the primary X axis is checked, and there is no provision for a - user-supplied format. - -2011-09-02 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in term/cairo.trm: Check for the presence of cairo-ps.h - before trying to build the epscairo terminal. - -2011-09-02 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/makefile.ami docs/old/README.ami docs/old/README.win - src/gnuplot.prj src/linkopt.ztc: Removed. - - * config/makefile.unx docs/Makefile.in src/Makefile.am: Remove - references to obsolete files. - -2011-09-01 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Yet another rewrite of the installation path rules for - TeX files. - Bug #3401370 - - * configure.in: Remove some obsolete status messages. - -2011-09-01 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm (EMF_put_text): Use iconv to handle Shift_JIS encoding. - -2011-08-31 Ethan A Merritt <merritt@u.washington.edu> - - * m4/apple.m4: Revert change of 2011-07-23 (aquaterm LIBS) - - * configure.in: Rewrite the installation path rules for TeX files. - Bug #3401370 - -2011-08-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/winmain.c (_WIN32_IE): MinGW64 headers require IE >= 501. - Bug #3398189 - -2011-08-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c src/stdfn.h src/getcolor.c: Make "assert" statements - trigger int_error() rather than abort(), so that debugging is easier. - -2011-08-28 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: sync to docs version 1.688 - -2011-08-28 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/plot2d.c (get_data): Revert yesterday's change to this file - because it broke stringvar.dem. - -2011-08-27 Ethan A Merritt <merritt@u.washington.edu> - - * PORTING src/makefile.all src/makefile.awc src/term.h configure.vms - config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2 config/config.oww config/makefile.unx configure.in: - Remove obsolete mgr terminal driver. The mgr window system offered a - terminal sort of like xterm+graphics in the era of Sun3 (i.e. early-mid - 1990s). Source for the mgr server has apparently disappeared from the - net. Gnuplot's mgr.trm supported only text and vector commands, so - even if an operational installation of mgr could be found, features - added to gnuplot since about version 3.7 would be irrelevant. Let it go. - -2011-08-27 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c (expect_string) src/eval.c src/eval.h docs/gnuplot.doc: - Add patch #3397007 to complete the support for named columns with the - "labels" style. The following now works: - plot 'data' using "A":"B":"labels" with labels - Update the documentation. - - * src/datafile.c (f_timecolumn) src/plot2d.c: - Track the current using spec to ensure that the timecolumn function - gets the right timeformat. (fixes part of bug #3163386) - - * demo/timedat.dem: Remove the relative date demo because it was - misleading and incorrect. - - * src/set.c (set_tics): For some options set_tics() - didn't act on all axes. - - * src/graphics.c (boundary): Fix (?) boundary calculation for - "set xtics rotate". - -2011-08-25 René Haber <renehaber@users.sourceforge.net> - - * term/cairo.trm: New terminal epscairo using the shared cairo/pango - code to produce and export an eps surface. - - * term/term.c: Allow "set term eps" as short for "set term epscairo". - - * term/cairo.trm: Test for and skip empty vectors. - -2011-08-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/command.h src/win/winmain.c: "raise/lower <id>" - command for windows terminal. - - * src/command.c (rlgets): Restore code for builtin readline which was - deleted by accident. - -2011-08-23 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c (f_stringcolumn) docs/gnuplot.doc: - Implement 'stringcolumn("string")' in using specs to allow named columns - for the "labels" style too. The more natural - plot 'data' using "A":"B":"labels" with labels - still doesn't work: document this fact. - -2011-08-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (rlgets): Removing duplicate entries trashes command - line history when using editline. Just suppress adding the same command - to history repeatedly. - * src/history.c (history_find_all): editline's version of - history_set_pos() does not work, so traverse history list manually. - History indices are reversed compared to GNU readline. Fixes history ?. - Patch #3186010 - - * term/emf.trm (EMF_put_text): Use iconv (if available) to convert - UTF-8 encoding to UTF-16 and store using wide characters. - Bug #3021779 - - * config/config.mgw config/mingw/Makefile: add support for libiconv - -2011-08-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Honor 'set key maxrows N' in 3D plot key. - Bug #3396501 - -2011-08-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/commands.c src/misc.c docs/gnuplot.doc: - The old-style if/else syntax cannot be mixed with the new syntax using - { and } to enclose blocks of commands, possibly spanning several lines. - Add stronger warnings to the documentation and issue an error message - if an old-style if statement is encountered inside a bracketed clause. - Bug #3393631 - -2011-08-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (WndGraphProc): Restore text window on space key: - also show terminal window if it is currently minimized. - - * src/command.c (pause_command) src/win/wgnuplib.h (GW) src/win/wgraph.c - src/win/winmain.h src/win/winmain.c term/win.trm: Support multiple - graph windows. All state variables of graph windows were contained - in a single struct already. Replace all references to this struct - (graphwin) by pointers and dynamically allocate new instances when - required. Do not pass on mouse and key events from inactive windows. - Note: Since a single number passed to `set term win` is now interpreted - as window identifier, the old and fontsize options are no longer - supported and the `font` keyword is now required. This is consistent - with other terminals (e.g. x11 and wxt). - - * src/win/wgnuplib.h src/win/wgraph.c: Make GraphChangeFont static. - -2011-08-15 Reinier Heeres <rheeres@users.sourceforge.net> - - * src/win/pgnuplot.c: Detect termination of wgnuplot. Slightly enhanced - version of SF patch #2373741. - -2011-08-09 Ethan A Merritt <merritt@u.washington.edu> - - * PORTING config/config.cyg config/config.dj2 config/config.mgw - config/config.nt config/config.os2 config/config.oww - config/makefile.unx configure.in configure.vms docs/Makefile.in - docs/doc2texi.el docs/gpcard.tex src/Makefile.am src/makefile.all - src/makefile.awc src/rgipgnu src/term.h term/rgip.trm - - Remove code specific to the rgip terminal (Redwood Graphics Interface - Protocol). The company (uniplex) supporting this protocol no longer - exists. The terminal itself no longer compiles cleanly, and valgrind - shows many buffer overflows and alloc/free errors. - 19 files changed, 13 insertions(+), 841 deletions(-) - -2011-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * docs/plotstyles.gnu docs/gnuplot.doc term/be.trm term/canvas.trm - term/cgm.trm term/ai.trm term/aquaterm.trm term/cgi.trm: - Documentation updates - - * src/wxterminal/wxt_gui.cpp (OnCreateWindow): It is not acceptable - to have every new plot window occlude the center of the screen. - -2011-08-01 Micha Wiedenmann <mw-u2@gmx.de> - - * src/eval.h src/eval.c (get_udv_by_name free_at) src/show.c (disp_at) - src/internal.h src/internal.c (f_sum) src/parse.c (parse_sum_expression) - docs/gnuplot.doc demo/bivariat.dem: - - New expression type for summation: - sum [<var> = <beg> : <end>] <something> - -2011-07-30 Stefan Reiser <stefanreiser@users.sourceforge.net> - - * src/win/wgraph.c (WriteGraphIni): Fix spelling of "Antialiasing" - field. Bug #3382732 - -2011-07-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_impulses): Skip UNDEFINED points. - Bug #3382469 - -2011-07-28 Bastian Maerkisch <bmaerkisch@web.de> - - *src/win/wgraph.c (GraphEnhancedOpen, GraphEnhancedFlush): Fix sign - error in placement of rotated enhanced text with sub-/superscripts. - -2011-07-27 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Handle multiple overprint characters, albeit not - the way people probably expect. - Bug #3371782 - -2011-07-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Remove size limit on svg plot dimensions. - -2011-07-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp: Fix MSWin breakage from yesterday's patch - due to conditional code block damage. - Bug #3376861 - - * src/datafile.c (df_readbinary): Allow "using ... xticlabels()" for - binary files as well as ascii files. Only string-valued functions - are valid in this case, as no string can be read from the binary - datafield itself. - - * src/graph3d.h src/hidden3d.c src/misc.c src/misc.h src/plot3d.c: - Re-work assignment of color and line type to top/bottom hidden3d - surfaces. Keep the user-requested linetype in a new field of the - splot structure, since otherwise linetype definitions would overwrite - it. - -2011-07-23 Adam Strzelecki <ono@users.sourceforge.net> - - * src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_gui.h m4/apple.m4: - OSX support for wxt terminal. For OSX, switch to using single-threaded - hybrid GUI & console event loop at wxt_waitforinput(). - Add -framework ApplicationServices to the apple-specific - configuration flags. - -2011-07-23 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * m4/apple.m4: Replace -laquaterm with -Wl,-framework -Wl,AquaTerm - which is supposed to make the Macports version of aquaterm install - properly. - -2011-07-22 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/parse.c src/parse.h plot2d.c plot3d.c set.c unset.c command.c: - Revise iteration-over-plot mechanism to handle edge cases of nested - iteration correctly. - -2011-07-20 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.lua: Point types 10 and 11 were upside down. - Bug #3368877 - - * fill paths now have a pensize > 0 to have slight overlap of tiles to - avoid rendering artifacts - - * path building was broken and showed interrupted lines on certain plots - e.g. plot '+' u 1:($1**2):($1**2) with lines palette lw 3 title '$x^2$' - - * a new terminal option (tightboundingbox|notightboundingbox) is added - -2011-07-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Allow binary data for plot style fillsteps - Bug #3371199 - - * term/gd.trm: Prevent infinite loop on unrecognized terminal option - -2011-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxes): Correct positioning of bars in clustered - histograms when some values are missing. - Bug #3360882 - - * src/datafile.c (df_open plot_option_using df_readascii f_column) - src/datafile.h src/parse.c (create_call_column_at extend_at) src/parse.h - src/eval.c src/eval.h src/plot2d.c src/plot3d.c docs/gnuplot.doc: - - Implement column selection based on matching a leading substring of the - column header. - plot 'foo' using (column("A")):(column("B")) - plot 'foo' using "A":"B" - plot for [value in "Weight Height"] 'foo' using "Age":value - -2011-07-12 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/command.c src/term.c: Fix crash of 'test' after an - unsuccessful 'set term' - Bug #3347683 - - * src/parse.c src/parse.h docs/gnuplot.doc: Add nested iteration in plot - and other commands: constructs like 'plot for [i=1:5] for [j=1:5] foo' - are now valid - - * src/axis.c src/axis.h src/color.c src/graph3d.c src/graphics.c - src/save.c src/set.c src/show.c src/unset.c docs/gnuplot.doc: - Allow explicit justification for tic labels, e.g. set xtics right - -2011-07-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_steps): Don't pass negative heights to t->fillbox - Bug #3358185 - -2011-07-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (term_apply_lp_properties): Handle the case where - LT_COLORFROMCOLUMN is passed through as a linetype along with a color. - Bug #3350570 - -2011-06-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (draw_edge): Do not apply the default top/bottom - colors to line segments belonging to the plot border. - Bug #3344103 - -2011-06-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Pattern-fill definitions must initialize both fill and - stroke style; otherwise the most recent setting may bleed through. - Bug #3334216 - -2011-06-28 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: sync to docs version 1.677 - -2011-06-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics (plot_histeps): Fix range-checking of log-scaled y. - Bug #3323828 - -2011-06-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/getcolor.c term/x11.trm src/gplt_x11.c: - Remove a set of routines in getcolor.c used only by the x11 terminal - to pass a color gradient description through the pipe to gnuplot_x11. - They packed four doubles (value; RGB color) into 8 bytes, losing - precision and failing to round. Now we instead use 12 ascii characters - "0.1234RRGGBB". - Bug #3322975 - -2011-06-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/misc.c src/misc.h src/parse.h - src/scanner.c src/scanner.h src/tables.c src/util.c docs/gnuplot.doc: - - Extend the line input processing to include blocks of commands enclosed - by curly braces, possibly spanning multiple lines. This syntax is used - by new commands: - if (<cond>) { ... } else { ... } - do for [...] { ... } - while (<cond>) { ... } - -2011-06-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/gplt_x11.c src/plot2d.c src/set.c src/util.c: - Remove dead code sections. Most of these have been commented out for - many years. - - * src/command.c (do_line): Macro expansion must be done before calling - scanner() to identify specific tokens. - - * src/command.c src/command.h: Export string_expand_macros(). - - * src/command.c (read_line): Prepare for block-structure work by adding - a parameter to allow extending, rather than replacing, the input line. - -2011-06-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/getcolor.c (quantize_gray)): Remove a possible discontinuity at - the boundary of defined palettes with a small number of segments. - Bug #3317746 - -2011-06-17 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/time.c (gstrptime): The correction for the difference in epochs - (2000 - 1970) was incorrect when reading times in %s format. - Bug #3163386 - -2011-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c (z2cb): If cb is log-scale, then limit result to positive - values. - Bug #3316616 - -2011-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_histeps): Allow data points with y=0 even if log - scaling is active. - Bug #3316112 - -2011-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Reset line and text colors at the start of each plot. - - * config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2 config/config.oww config/makefile.dj2 - config/makefile.emx config/makefile.unx config/makefile.vms - docs/doc2texi.el docs/Makefile.in docs/term-ja.diff - src/makefile.all src/makefile.awc src/show.c src/term.c src/term.h - configure.in configure.vms INSTALL PORTING NEWS - term/gnugraph.trm term/unixplot.trm: - - Remove obsolete terminal drivers gnugraph and unixplot. The underlying - gnu plotutils library is itself more than 10 years out of date (last - release July 2000) and the terminal drivers haven't been upgraded for - longer than that. In any event, current gnuplot has better native - terminal drivers for the devices supported by unixplot/gnugraph. - -2011-05-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open df_determine_matrix_info): - Add a keyword '[s]plot ... nonuniform matrix' - This provides an ascii input option parallel to 'binary matrix'. - nonuniform matrix: ascii; y coords in row 1, x coords in column 1 - binary matrix: binary; y coords in row 1, x coords in column 1 - matrix: ascii; uniform grid of x/y coords - binary general: binary; uniform grid of x/y coords - - * docs/gnuplot.doc: Reorganize the description of data file contents. - More reorganization is still wanting. - -2011-05-25 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/windows/doc2html.c: Encoding of gnuplot.doc is UTF-8. - -2011-05-24 Christoph Bersch <usenet@bersch.net> - - * term/cairo.trm: PDF documents normally behave as if they had a - transparent background. Modify the pdfcairo terminal to do this by - default, but also to accept the keywords {no}transparent. - -2011-05-24 Harald Koenig <h_koenig@users.sourceforge.net> - - * src/Makefile.maint: Use dd rather than head to update last-modified - date since not all platforms support "head -c". - -2011-05-24 Ethan A Merritt <merritt@u.washington.edu> - - * docs/titlepag.tex, docs/gnuplot.doc: Add Peter Juhasz, - Bastian Maerkisch, and Shige Takeno to the list of contributors. UTF-8. - -2011-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * parse.c (check_iteration next_iteration empty_iteration) parse.h - plot2d.c plot3d.c set.c unset.c: Rather than using a single set of - global iteration bookkeeping variables, require that each iteration - user pass in a structure for bookkeeping. This allows nested - iteration, so long as two different iteration structures are used. - - * command.c (do_line): Strip trailing comments from input lines as - they are read, since there is no point in storing what we are going - to ignore later. Minor cleanup of #ifdef nesting. - -2011-05-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c (humlik): Initialization would fail whenever y = -1. - -2011-05-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_fillbox): Width of filled - box was off by one unit. - - * src/win/wgraph.c (GetMousePosViewport): Window size is zero for - minized windows on Vista. Fixes crash when closing plot window in - minimized state e.g. via taskbar. - - * src/win/wgraph.c (drawgraph): [W_boxfill] Fix inversion of - transparency. [W_filled_polygon_draw]: Fix transparency in case of - aliased solid white polygons. - -2011-05-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/gadgets.c src/gadgets.h src/graphics.c - src/hidden3d.c src/internal.c term/README: Fix incomplete and incorrect - initializers found by gcc. - -2011-05-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph) [W_image]: Clip images as requested. - - * src/win/wgraph.c (WndGraphProc) [WM_KEYDOWN]: Handle VK_CONTROL key - events again. Fixes ctrl-mousedrag rotation of splots. - - * src/mouse.c (event_keypress): MinGW's toupper() masks out high bits - required for special keys. Only call for 8bit characters. Fixes - accelerated rotation with keys (e.g. shift-left) for wxt and windows - terminals. - - * src/win/wgdiplus.c|h src/win/wgraph.c: Extend support for - antialiasing of line segments and point symbols. Omit border of - non-antialiased solid filled polygons. - -2011-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Avoid use of round() because - MSVC is still not C99-compliant. - -2011-05-13 Allin Cottrell <cottrell@wfu.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_convert): Make the WIN32 font - work-around (2009-11-06) conditional on cairo < 2.10. Needs more - testing. - -2011-05-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (WndGraphProc): Cycle through mouse-modes by - clicking on status bar. Suggestion by plotter@piments.com - - * src/plot.c (main): Print messages concerning codepages only in - interactive sessions. - - * src/win/wgnuplot.rc: Give the MSVC compiler a chance to create the - manifest itself. - - * src/win/wgraph.c (drawgraph): Fix image regression. - - * term/win.trm: Help text for antialiasing. - -2011-05-12 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/set.c src/mouse.c: Update documentation for the - mouse format modes, which has been incorrect since approximately forever - (predates CVS repository). - -2011-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (expand_df_column): Provide a shared routine for - dynamic allocation of space to hold input data lines. This replaces - three separate instances, only one of which did proper initialization. - - * src/graphics.c (finish_filled_curve): Consolidate duplicated code. - - * src/graph3d.c (draw_3d_graphbox) src/set.c (parse_label_options) - src/gadgets.h src/show.c src/save.c - docs/plotstyles.gnu docs/gnuplot.doc: - The X-axis and Y-axis labels in 3D plots can be aligned parallel to the - respective axis using the command `set [xy]label rotate parallel`. - -2011-05-10 Bastian Maerkisch <bmaerkisch@web.de> - - * term/gd.trm (PNG_options): Init font pointers before using them. - -2011-05-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/eepic.trm: New terminal option {size XX,YY} - Bug #3170746 - - * src/graphics.c (boundary): Add a sanity check to make sure that the - plot size is not so small that the boundary limits go negative. - Implemented as int_warn(), but maybe it should be int_error(). - Bug #3154401 - - * src/term_api.h src/term.c src/util.c src/util.h: Remove dead code. - -2011-05-07 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (help_command) src/win/wgraph.c (WndGraphProc) - src/win/winmain.c (WinExit, WinMain) src/wxtterminal/wxt_gui.cpp - (wxtPanel::RaiseConsoleWindow, wxt_atexit): For console gnuplot on - Windows, remove dependency on struct textwin, which represents the - non-existant text window. Fixes e.g. overwriting of text window - settings in wgnuplot.ini. Console gnuplot no longer depends on wtext.c - and screenbuf.c. - - * src/standard.c (fn_asin, fn_asinh): Fix calculation for complex - arguments. Make sure that asin(sin(z))==z. Bug #2879772. - - * config/README: Update to current status. - - * config/config.mgw config/config.oww: Sync with config.h created - by autoconf tools. - -2011-05-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/graph3d.c: Make "notitle" suppress contour line key entries in - addition to the surface key entry. This makes it possible to draw any - combination of surface, contours, and key entries. - -2011-05-06 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * docs/plotstyles.gnu docs/gnuplot.doc: Add an illustration of the - 'newhistogram' command. - -2011-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * INSTALL: Update the description of readline options and mention - the ./prepare script. - -2011-05-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * config/makefile.nt: Add missing support for GDI+. Bug #3298244 - -2011-05-06 Bastian Maerkisch <bmaerkisch@web.de> - - * config/msvc/Makefile: New file for Microsoft Visual C++. Builds - out of tree. Intended to eventually replace config/makefile.nt. - - config/Makefile.am.in (Makefile.am): Add new Makefile. - -2011-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.h src/datafile.c src/plot2d.c src/plot3d.c: - Change prototype of df_set_key_title_columnhead() to match that of - df_set_key_title(). - -2011-05-05 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_set_font) src/win/wgraph.c (drawgraph): Defer - determination of default font name and size. Fixes bug addressed - by change of 2010-02-22, but without the need for do_string_replot() - - * src/win/wgraph.c (drawgraph): New variable fill_color to track - color of fills. Use cached color brush for transparent solid fills - instead of creating a new one. - - * src/win/wgraph.c (drawgraph) src/win/wgdiplus.c|h: Add support for - antialiased solid filled (transparent) polygons. - - * src/win/wpause.c (WndPauseProc): Use default dialog font instead of - fixed width font for pause dialog. - - * src/readline.c (readline): Tab is a printable character in some - locales, ie. isprint(TAB)>0. - - * src/win/wgraph.c (MakeFonts): Reduce size of tics and point symbols - by 20%. - -2011-05-04 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Build support for lua tikz related TeX files. - Use Makefile.maint to update version.c. Update install target to match - directory layout of distribution and include share/lua/, share/LaTeX/, - contrib/, demo/, README, NEWS, Copyright and ChangeLog. - -2011-05-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/variable.c (locale_handler): If built-in readline character input - is to recognize UTF-8 characters via wcwidth(), it is necessary to - initialize the CTYPE locale on entry. "set encoding utf" is not - sufficient. - -2011-05-02 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c (tab_completion, fn_completion, readline) NEWS: - Cycling variant of filename tab-completion for builtin readline. - - * src/stdfn.c|h (strnlen, strndup) configure.in config/config.nt - config/config.mgw config/config.oww: Support functions used by - tab-completion code. - - * src/stdfn.c|h (opendir, closedir, rewinddir): Add Kevlin Henney's - POSIX directory browsing functions and types for Win32. - - * src/readline.c (mbwidth, isdoublewidth) configure.in: Determine - on screen width of utf8 encoded characters with wcwidth() if - provided by the system. - - * src/readline.c (delete_previous_word): Overprint with exact - number of spaces, add NUL at eol. - -2011-04-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/readline.c (clear_eoline): More efficient clear line algorithm. - -2011-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (apply_zoom): Prevent double-free of custom font for tic - labels. - Bug #3294915 - -2011-04-28 Bastian Maerkisch <bmaerkisch@web.de> - - Support for (optional) antialiasing in windows terminal via GDI+. - - * config/config.mgw, config/config.nt: Compilers have support for - GDI+: define HAVE_GDIPLUS. Note: OpenWatcom might not support GDI+ - * config/mingw/Makefile: Include new files wgdiplus.h|cpp in build, - add library gdiplus. - * src/win/wgdiplus.cpp src/win/wgdiplus.h: New files. C interface - to Windows GDI+ library. Currently supports polylines and circles. - * src/win/wgnuplib.h src/win/wgraph.c src/win/winmain.c - src/win/wresourc.h: Implement antialiasing for lines and and most point - shapes. Add option to LPGW, wgnuplot.ini and popup menu to toggle - antialiasing on and off. Default to oversampling off now that we have - proper antialiasing. Wrap all GDI+ code in #ifdef HAVE_GDIPLUS. - - * src/win/wgraph.c (drawgraph) [W_fillstyle, FS_PATTERN]: Fix cycling - of pattern styles. - - * src/wxterminal/gp_cairo.c|h (gp_cairo_default_font) - src/wxterminal/wxt_gui.c: New function to determine default font. - Default is "Sans" on all systems but Windows where this alias might - not work work in all cases. - -2011-04-27 <wtf3@users.sourceforge.net> - - * src/graphics.c: The autotitle option for column-stacked histograms - should honor "set key maxrows N". - Bug #3281635 - -2011-04-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (help_command) src/win/winmain.h src/win/winmain.c - (WinExit, ShutDown, WinCloseHelp, WinMain): Work-around for apparently - well known html help bug, which causes spurious crashes on exit. Keep - track of help window handle and try to close the window as soon as - possible. New function WinCloseHelp. - - Extensive update to color, linetype and fillstyle handling in windows - terminal. Fixes several bugs and implements new options. - - * term/win.trm (WIN_id, WIN_opts, WIN_options): Add options "solid", - "dashed", "background", "fontscale" and "linewidth". Call new function - GraphInitStruct to initialize graphwin. Inlcude font in term_options. - * term/win.trm (WIN_point, WIN_filled_polygon): Handle dashed lines - in drawgraph, not here. (WIN_filled_polygon): Use generalized - W_fillstyle call, shared with WIN_boxfill. (WIN_boxfill): Pass second - corner as parameter, not width and height. Fixes spurious rounding - errors during translation to graph coordinates. (help text): Document - new options. - * src/win/wgnuplib.h (GW): Reorder entries according to function. - * src/win/wgraph.c (pattern_bitmaps): Fix double cross-hatch. - (GraphInitStruct): New function. (MakePens, DestroyPens): Account for - linewidth and sampling and create an additional "null" pen which is - used for filled polygons and boxes. (MakeFonts, GraphEnhancedOpen) - Account for fontscale. (draw_new_pens, draw_new_brush) New functions - to (re)create brushes and pens. Always create a "solid" partner for - the possibly "dashed" pen. Called by drawgraph. - * src/win/wgraph.c (drawgraph): Reorder variables according to - function. [W_line_type]: Save last LOGPEN instead of pen index. Make - use of draw_new_pens. Select background brush for line-type <= - LT_NODRAW (fix by Shigeharu Takeno, Bug 3192205). [W_fillstyle]: Unify - code for filled boxes and polygons. Use draw_new_brush. [W_boxfill]: - Fillstyle is now set by previous call to W_fillstyle. Change interface - from relative (width, height) to absolute position to avoid off by one - rounding errors. Deselect brush use for transparent fill before - deleting it. [W_line_width] Scale by linewidth option. [W_setcolor] - Use save LPOGEN to create pens with new color. Use draw_new_brush and - draw_new_pens to recreate brushes and pens. [W_filled_polygon_draw] - Fillstyle is now set by previous call to W_fillstyle. Use "null" pen - to avoid drawing a border around filled area. [W_image] Avoid static - variables. [W_plus,...] Use solid pen. Fixes point symbols drawn with - dashed lines. Adresses Bug 1952364. - -2011-04-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/readline.c: Revise the built-in readline code to handle UTF-8 - encoded character input. The revised code is only active if the user - has explicitly done "set encoding utf8" or "set encoding locale", but - probably it should be the default in a UTF-8 locale. - - * src/readline.c (clear_line): More efficient clear line algorithm. - -2011-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c (main) src/misc.c (load_file): Initializing c_token to an - illegal value is not a good idea. - Bug #3292512 - -2011-04-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: sync to docs version 1.664. - * docs/Makefile.in (wxhelp/doc2html.o): Add missing space. - -2011-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/readline.c docs/gnuplot.doc: Built-in readline did not recognize - the character sequence produced by the DEL key on many keyboards. Trap - this sequence for interpretation as "forward delete", which is what the - same key does under windows and gnu libreadline. This does not affect - keyboards or xmodmap configurations where the DEL key produces another - sequence entirely. - -2011-04-22 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c: The behavior of ^W was not consistent with the - documentation. Change it to match gnu libreadline (delete previous - partial or full word). - -2011-04-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Most of the messages passed via the title bar - of the X Display window are controlled by #ifdef TITLE_BAR_DRAWING_MSG. - Do the same for the "allocating colors..." message. - -2011-04-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/Makefile.am.in (Makefile.am): Additional files to become - part of the distributed tarball. Reindented. - -2011-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_columnhead df_set_key_title) src/datafile.h - src/eval.c src/plot2d.c (eval_plots) docs/gnuplot.doc: - - New function columnhead(N) that returns a string containing column N - from the first line of a data set. 'plot ... title columnhead(i)' - was previously implemented as a keyword; making it a function instead - allows, for example, - 'plot for [i=3:6] ... title "Results of ".columnhead(i)' - -2011-04-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/Makefile.in (wxhelp/doc2html, gnuplot.htb): Ooops. - Yesterday's directory name change to windows was wrong. Undoing - it. - -2011-04-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/Makefile.am.in: Use $< where applicable. - ($(srcdir)/lua/gnuplot-tikz.help): Make workable outside the - source tree. Use $< and $@ where applicable. - - * docs/Makefile.in (CLEANFILES): Fix broken directory name; - indent. - (gnuplot.htb): Fix broken directory name. Make workable in - out-of-source builds. - (windows/wgnuplot.html, windows/doc2html.o, windows/doc2html): Fix - wrong directory name. - - * Makefile.maint (amfiles): Missing semicolon. - -2011-04-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Fractional solid fill based on SF - Patch 2905570 by Shigeharu Takeno. Remove halftone brushes. - Eliminate static variable to keep track of pm3d brushes. - -2011-04-17 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Use $^ and $< where applicable. Patch by - Benjamin Lindner, SF Patch 2468650. Set TARGET only if it's not - already defined. GNUPLOT_LUA_DIR was included twice in - TERMOPTIONS. GNUPLOT_PS_DIR is required by show.c. [wgnuplot.chm] - Avoid changing directory via shell which seem not to work reliably - on all systems. - -2011-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * config/Makefile.am.in: Fix package-build breakage. - -2011-04-17 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - Building the three different types of executable for Windows - was quite cumbersome (change make variable, make clean, build, - all that thrice). Compiling to three different object file name - extensions helps with that. - - * config/watcom/Makefile (VARIANT): New macro to choose among - targets. - (TARGETS_PLAIN, EXTRA_CPPFLAGS_PLAIN, TARGETS_PIPES) - (EXTRA_CPPFLAGS_PIPES, TARGETS_CONSOLE, EXTRA_CPPFLAGS_CONSOLE): - New macros for settings particular to one variant. - (DEFAULT_TARGETS): Changed definition to use new per-variant - macros. - (ALL_TARGETS): New macro listing all things that can be built. - (all): New target building all variants without the need to make - clean in between. - (WIN_EXTRA_INPUTS): Removed $(WINOBJS) - (OBJS): Add $(WINOBJS) here instead. - (CONSOLE_OBJS, PIPE_OBJS): Copies of $(OBJS) with different object - filename extension. - Use $(O) in favour of fixed .obj, to allow renaming trick. - (.EXTENSIONS): Add .cobj and .pobj to list of recognized file name - extensions. - (.c.cobj): New implicit rule to compile sources for the console build. - (.c.pobj): New implicit rule for pipe-enabled build. - (wgnuplot.exe): $(WINOBJS) is contained in $(OBJS) now. - (wgnuplot_pipes.exe): Use $(PIPE_OBJS) instead of $(OBJS) - (gnuplot.exe): USE $(CONSOLE_OBJS) instead of $(OBJS) - (term.cobj): New explicit rule to compile term.c for the console build. - (term.pobj): New explicit rule to compile term.c for the pipe build. - (.c): Added windows source subdirectory to VPATH search list. - (w*.obj): Removed unnecessary explicit rules for Windows-specific - files. - (clean): Remove object files with new names. - - * config/watcom/.cvsignore: Add new file name extensions to ignore. - -2011-04-17 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.cyg config/makefile.mgw config/makefile.unx - cygwin/Makefile mingw/Makefile: Remove dependencies on - wgnuplot.def and wgnuplib.def. - - * src/wgnuplib.def: Removed - -2011-04-16 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.amg config/makefile.msc config/term.pc.h - config/makefile.win config/makefile.ztc src/win/wgnuplot.def - src/win/wgnupl32.def: Remove build files for no longer supported - platforms DOS16, WIN16, Amiga and compilers. - - * src/ansicheck.h src/command.c src/eval.h src/stdfn.h - src/syscfg.h src/term.c src/term.h src/makefile.all - src/makefile.awc docs/Makefile.in term/fg.trm : Remove suport for - the Zortech compiler and the no longer available Flash Graphics - library. - -2011-04-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_steps) src/gp_types.h src/graph3d.c - src/tables.c docs/gnuplot.doc docs/plotstyles.gnu: - New plot style "with fillsteps" is identical to "with steps" except - that the area between the stepped line and the baseline at y=0 is - filled using the currently active fill style. - - * src/graphics.c (plot_fsteps, histeps_vertical) - (histeps_horizontal): Simplify the code to use clip_line() rather - than lots of in-line tests. - - * term/dumb.trm docs/gnuplot.doc: Updates - -2011-04-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c (msdos_getch, readline), src/win/winmain.c - (ConsoleGetch): Don't quit on DEL on an empty line. Map DEL key to del - character 127 instead of ^D, but keep old behaviour of deleting current - character on platforms Windows, MSDOS and OS/2. SF Bug #3285571 - -2011-04-13 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.lua: Fix "charsize" option. - -2011-04-13 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/gd.trm term/svg.trm term/x11.trm src/misc.c: - Stricter checks that the red component of RGB colors stays in range. - -2011-04-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (WndGraphProc), src/win/wtext.c (WndTextProc): - Enable access to popup menu via status bar and keyboard. - -2011-04-12 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c (WndParentProc) [WM_SIZE]: Ignore requests to set - window size to 0,0. Fixes crash on Vista if Windows-D is pressed. - -2011-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_common.js: Fix the clipping of filled rectangles - when zoomed. - -2011-04-11 Petr Mikulik <mikulik@physics.muni.cz> - - * src/config/mingw/Makefile: Fixed relative directories in RCFLAGS. - -2011-04-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/term/win.trm, src/win/wgraph.c, src/win/wgnuplib.h: Renew text - handling: Process enhanced text in drawgraph(), new functions - GraphEnhancedOpen(), GraphEnhancedFlush(), revised GraphGetTextLength(). - This most notably fixes behaviour when resizing the graph window. Collect - static variables used for the internal state of enhanced text processing - into a struct. Move code out of main loop of drawgraph: New functions - draw_put_text(), draw_text_justify(), draw_enhanced_text(). Fix baseline - alignment of normal and enhanced text. Text position was moving in wrong - direction for rotated enhanced text (fix replaces change dated - 2011-02-11). Remove unused function GraphGetFontScaling(). Fix text - positioning of enhanced text with oversampling. - - * term/win.trm (WIN_graphics): Update character and window size. - * src/win/wgraph.c (WndGraphProc): Remove another Win16 relict. - * term/win.trm, src/win/wgnuplib.h, src/win/wgraph.c: Remove LPGW.resized, - rename commands no longer exclusively used for pm3d. - * src/win/wgraph.c (UnicodeText): Add codepage 1250. - * term/win.trm (WIN_Init), src/win/wgraph.c (GraphInit): Move loading of - icon. - * term/win.trm (WIN_scale): Removed. - * term/win.trm (WIN_options), src/win/winmain.c (WinMain): Eliminate need - for static variable WIN_gtitle. - * term/win.trm (WIN_set_pointsize), src/win/wgraph.c (drawgraph) - [W_pointsize]: Don't pass size as string. - * src/win/wgraph.c (drawgraph) [W_line_type]: Only init LOGBRUSH lb - if it is used. - * term/win.trm, src/win/wgraph.c: Various small code cleanups. - -2011-04-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm term/js/gnuplot_svg.js: Draw all grid lines with - attribute class="gridline". Add an icon to toggle on/off lines with this - attribute. Move both this icon and the mouse coordinate tracking box to - the end of the output *.svg file so that they cannot be occluded by plot - elements. - - * term/svg.trm (SVG_PathClose): Firefox 3.x fails to render purely - vertical lines. This is particularly noticeable because all vertical - grid lines are missing. Work around this by adding 0.01 to the final - x coordinate. - -2011-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Adjust enhanced text placement, removing some kludges - that appear not to be necessary with the current generation of browsers. - - * term/svg.trm term/js/gnuplot_svg.js: Implement mouse tracking - framework. - -2011-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.h term/svg.trm demo/html/webify_svg.pl demo/html/Makefile.svg - demo/html/Makefile.svg: Add bitmap image handling to the svg terminal - using the same mechanism of external png files used by the canvas and - tikz terminals. - - * term/svg.trm(SVG_init): Konqueror (KDE 4.5) crashes if the xlink to - gnuplot_svg.js fails to load. Work around this by adding a test for the - presence of gnuplot_svg before initializing. - -2011-04-06 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm, src/win/wgnuplib.h, src/win/wgraph.c: Use UINTs - instead of DWORDs in struct GWOP. - - * src/win/wgraph.c, src/win/wgnuplib.h: Move static flag for - unsupported encodings to struct LPGW. This ensures that errors - are reported only once. - -2011-04-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graphics.c src/term_api.h: Add layering flags - for BEGIN/END KEYSAMPLE. - - * term/js/gnuplot_svg.js term/svg.trm: Elementary mousing support for - the svg terminal based on Patches #2477391 #2478169 (yeah, those are - from 2 years ago). Toggle plot on/off in response to mouse click on - the corresponding key entry. - - * demo/html/Makefile.svg demo/html/index.svg demo/html/webify_svg.pl: - Revise the svg demo set to use mousing. - - * src/graphics.c (do_plot) src/term_api.h (TERM_LAYER_RESET_PLOTNO) - term/svg.trm term/canvas.trm: The "set key opaque" option was causing - mismatched begin/end plot pairs in output from the svg and canvas - terminals (begin/begin/end). Revise this so that the plot and the key - sample numbering is out of sync. - -2011-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (ifilled_quadrangle): See note in the code. For some - reason this fixes rendering of pm3d surfaces in the svg terminal. - -2011-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm demo/html/mousebox.template term/js/gnuplot_mouse.js: - Incorporate the plot name (from 'set term canvas name "foo") into the - flag used by the toggleVisibility() routine so that plots in other - canvas elements on the same page are not affected. - -2011-04-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c src/term.h term/Makefile.am.in term/lua.trm - term/write_png_image.c: Move the routine write_png_image() out of - lua.trm so that it can be shared by other terminal drivers. - It requires support from either libgd or cairo, and provides bitmapped - image support to the lua terminals and (in prospect) to the HTML5 - canvas terminal. - - * src/save.c: Echo most recent range of autoscaled axes on "show" but - not "save". This simplifies the output of gpsavediff in most cases. - - * gnuplot-cvs/term/js/gnuplot_mouse.js term/js/gnuplot_common.js - gnuplot-cvs/term/canvas.trm (CANVAS_image): - Implement support for image handling in the canvas terminal using the - HTML5 canvas primitive drawImage(). Image data is written to a png file - in parallel to generation of the main plot. The png image can then be - loaded from the javascript handler for the plot it belongs to. - - * demo/html/Makefile demo/html/Makefile.canvas demo/html/index.canvas - demo/html/mousebox.template: Update the demo collection to show the new - image handling. - - -2011-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm demo/html/webify_canvas.pl: - Add HTML5-conformant doctype and meta-information to output html. - - * src/graph3d.c: - Wrap pm3d surfaces and hidden3d ensembles in BEFORE_PLOT/AFTER_PLOT - flags via term->layer(). This allows them to be toggled on/off like - other plots in HTML canvas output. - - * src/term.c(null_layer) src/graphics.c src/graph3d.c: - Provide a null_layer() routine for all terminals that do not provide - term->layer(). This allows us to remove explicit checks for support by - the current terminal. - -2011-03-30 Ethan A Merritt <merritt@u.washington.edu> - - * demo/html/index.canvas demo/html/Makefile.canvas - demo/html/mousebox.template demo/html/webify_canvas.pl: - Separate make targets for 2D and 3D plots. Add buttons for toggling - individual plots. Default to mousing enabled for all demo plots. - - * term/canvas.trm: - Wrap each component plot in a test for (gnuplot.hide_plot_N). - Add plot-toggling buttons to the standalone mousebox. - Report gnuplot version in each plot generated. - - * term/gnuplot_common.js term/gnuplot_mouse.css term/js/canvas_help.html - term/gnuplot_mouse.js (popup_help(URL) toggle_plot(N)): - Add version number to shared javascript code modules. - Add support for linking help button to plot-specific URL. - Add support for toggling individual component plots on/off. - -2011-03-30 Bastian Maerkisch <bmaerkisch@web.de> - - * term/gd.trm: Don't try to reuse names of gd font pointers for - local variables. Fixes build with MinGW and DLL version of libgd. - - * config/mingw/Makefile: Optionally, use pre-built DLL version - of libgd. Use environment variable PROGRAMFILES to access help - compilers. - -2011-03-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.rc, src/win/wgnuplot.rc, src/win/wresourc.h: - Use standard dialog font. Remove obsolete DS_3DLOOK. - - * src/win/winmain.c (WinMain): Sync About Dialog box with - output of "show version". - - * src/win/wmenu.c (SendMacro), src/win/wgnuplot.mnu: Add - About dialog to Help menu. - - * src/win/wmenu.c (SendMacro), src/win/wgnuplot.mnu: Add - Options menu to toolbar. - -2011-03-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): Fix array bounds underflow if every - point in a data file is invalid. - Bug #3254653 - -2011-03-28 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c: Always update complete lines of text instead - of drawing single characters, since character boxes might - overlap when using ClearType. - - * docs/README: Document recent changes to Windows help. - - * src/win/wgnuplib.h, src/win/wcommonh.h, src/win/wtext.c: - Continue to make more stuff module-local. - - * src/win/wgnuplib.h, src/win/wmenu.c: Move definition of - SHELL_DIR_DIALOG. - - * config/config.nt: Sync with config.h created by autoconf. - -2011-03-26 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/gd.trm (PNG_put_text ENHGD_FLUSH gd_iconv): Invoke the - SJIS/UTF8 conversion for both enhanced and non-enhanced text. - EAM - and collapse the shared code into a subroutine. - -2011-03-26 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Add missing paths to wxt/cairo/pango - files. Update build instructions. WX_LOCATION is no longer - required since gnuplot has its own manifest file now and the one - supplied by wxWidgets is no longer included. htmlhelp.lib is - included in LDLIBS not TERMFLAGS. Replace '=' by ':=' for shell - commands. Filter out drive specifications "c:" in results from - pkg-config which would confuse make. - -2011-03-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c docs/gnuplot.doc: Allow pm3d plots to use the fourth - column of data as "rgb variable" rather than "palette z". - -2011-03-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.c: Make more stuff module-local. Resolve several - signedness conflicts introduced by functions in new screenbuf.c - module. - -2011-03-25 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c (main), src/win/winmain.c (WinMain, WinExit), - src/win/wcommon.h: The code which changes the codepages for - console gnuplot is only compiled in if CONSOLE_SWITCH_CP is - defined. Otherwise gnuplot will only display a warning if - codepages differ. Handle the case when codepages already match. - -2011-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/Makefile.maint: Fill in the "last modified" date from the most - recent entry in the ChangeLog rather than the using the current date, - and only then if the VERSION or PATCHLEVEL has been changed. - Caution: tested only under linux with gnu make. - -2011-03-22 Bastian Maerkisch <bmaerkisch@web.de> - - * src/graphics.c (do_plot, plot_points): Test wether the terminal - actually supports set_color. Fixes crashes with terminal dumb. - -2011-03-21 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (WIN_image): Fix regression: rotation of images - with reversed axis was not working since rev. 1.92. - -2011-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (equals): Test here for token index in range, rather than - trusting all callers to get it right. - - * src/command.c src/parse.c: Token index range test is now redundant. - - * docs/gnuplot.doc: Document that ^D from an empty line acts as EOF. - -2011-03-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.c|h, src/win/wgraph.c, src/win/winmain.c, - src/win/wmenu.c, src/win/wpause.c, src/win/wtext.c: FAR pointers are - no longer required. - - * src/win/winmain.c (WinExit): Explicitly close help window on exit. - Fixes hangs of gnuplot when it is closed via the Windows taskbar - and help window and graph window open. - - * src/win/wmenu.c (LoadMacros), src/win/wgnuplot.mnu ([Button]): Add - icons to the text-window toolbar. - - * docs/windows/doc2html.c (process_line): Don't include '=' items in - index. This avoids duplicate entries which caused wgnuplot to stall - when an e.g. 'set term png; help "png"' was issued. - -2011-03-18 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wtext.c (TextCopyClip): Fix copying of last line of a - marked region in case the marking exceeds the length of that - line. - - * src/win/wgnuplib.rc, src/win/resourc.h: Remove dialog resource - which was only used on Win16. - - * term/gd.trm (PNG_init): On Windows, set GDFONTPATH to %windir%\Fonts - if not set previously. - - * src/plot.c (main), src/win/winmain.c (WinMain, WinExt): Always use - the ANSI codepage (instead of OEM) to ensure sure that the console - of gnuplot.exe and the graph window use the same codepage. Warn - users that raster fonts won't display all characters correctly and - restore the codepage on exit. - -2011-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * axis.c(gen_tics): Make sure the axis tic label format string is - long enough to hold enhanced text markup. Fixes buffer overflow. - -2011-03-16 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (UnicodeText): new function to convert a string - to UTF-16 - - * src/win/wgraph.c (drawgraph, GraphGetTextLength) NEWS: support - "set encoding" for all currently defined encodings - - * src/win/wtext.c (ReadTextIni): select default font according to - the Windows version. Avoid font "Terminal" since it might not - contain all glyphs of the current character set. - - * src/win/wgnuplib.h, src/win/wgraph.c, term/win.trm: use child - window for status bar, allow right button mouse click on status - bar to activate the `graph-menu` popup. Change name of - GW.statuslineheight for consistency with TW. - -2011-03-15 Ethan A Merritt <merritt@u.washington.edu> - - * axis.c(copy_or_invent_formatstring): If the default tic format has - insufficient precision to distinguish the two extremes of the axis - range, increase the precision. - -2011-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Auto-placement of the left margin of the plot - was failing to allow room for "set key outside left". - - * term/post.trm: Add a %%Page statement in *.eps files, as current - versions of standard tools seem to expect it. - Bug #3046700 - -2011-03-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplot.rc, src/win/wgnuplot.exe.manifest: add new - manifest for wgnuplot to enable visual styles - - * src/win/wmenu.c, src/win/wtext.c: remove unused variables to - make compiler happy, avoid C++ style comments - - * src/win/wtext.c (TextInit), src/win/wmenu.c, src/win/wgnuplib.h, - src/win/wresourc.h: add a statusbar to the text window, - reduce size of text area accordingly - - * src/win/wtext.c (WndParentProc): [WM_GETMINMAXINFO] use active - font to calculate minimum window size; take menu, toolbar and - statusbar into account - -2011-03-13 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/cygwin/Makefile (LDLIBS): Add newly needed library. - -2011-03-13 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.nt, src/alloc.c, src/alloc.h, src/command.c, - src/eval.c, src/fit.c, src/gpexecute.c, src/plot.c, src/syscfg.h, - src/win/wcommon.h, src/win/wgnuplib.c, src/win/wgnuplib.h, - src/win/wgnuplot.mnu, src/win/wgnuplot.rc, src/win/wgraph.c, - src/win/winmain.c, src/win/wmenu.c, src/win/wpause.c, - src/win/wprinter.c, src/win/wtext.c, term/win.trm: - Remove Win16 support. - - * src/win/winmain.c (WinMain): init common controls - * config/mingw/Makefile, config/magefile.mgw, config/makefile.nt, - conig/watcom/Makefile: add library comctl32 - - * src/win/wmwenu.c (LoadMacros, CloseMacros, MenuBottonProc): use - common controls toolbar, remove MenuBottonProc - * src/win/wgnuplib.h (MW): add handle for toolbar, remove pointer - to MenuBottonProc - * src/win/wresourc.h: add ID for toolbar - * src/win/wtext.c (WndParentProc): [WM_SIZE] forward msg to toolbar, - [WM_PAINT] remove completely - - * src/win/wingraph.c (UpdateStatusLine, DisplaySatusLine): use common - controls - - * src/win/winmenu.c (IShellFolder_BindToObject), - (IShellFolder_GetDisplayNameOf): protect definition by #ifdef, - (SendMacro) use newer variant of directory dialog - -2011-03-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/makefile.nt: implement suggestions by Shigeharu Takeno: - Do not use "+=" to be compatible with Visual C++ 2005; add/update - links wo libgd and wxWidgets; add a scheme to easily select options - [GDLIB, PDFLIB, WXT]; use linker option files for compilation of - wgnuplot.exe and gnuplot.exe - -2011-03-11 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Check for iconv library and iconv.h, since gd uses iconv - to convert between UTF-8 and SJIS encodings if it is available. - - * term/svg.trm: Demarcate plot elements using the svg <title> and - <g id=foo> elements rather than <a xlink:foo> - Bug #3205257 - - * src/misc.c src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h - src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h term/cairo.trm - term/canvas.trm term/cgm.trm term/emf.trm term/gd.trm term/svg.trm - term/wxt.trm term/x11.trm: - Add option to specify a background color in "set term". - NB: Not yet implemented for terminals: win post qt pm - -2011-03-11 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/gd.trm: libgd can be customized for Japanese use such that - it prefers SJIS encoding rather than UTF-8 encoding. Add code to - check which encoding the local libgd prefers, and convert strings - to that encoding if necessary. - -2011-03-10 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c (test_palette): tmpfile() always fails on a modern - Windows. Open a file in the user's temp directory instead. - - * src/win/winmain.c (WinExit): add missing void parameter - - * src/win/wgraph.c (drawgraph): add missing init - -2011-03-09 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: add chm help (update of SF patch 3191892 by - Shigeharu Takeno), (HCWPATH, HHWPATH) use PROGRAMFILES variable - instead of hard coded path - -2011-03-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/cygwin/Makefile (WINOBJS): Add new object file screenbuf. - (screenbuf.$(O)): Rule for new object file. - -2011-03-08 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.nt: fix copy/paste errors - -2011-03-07 Bastian Maerkisch <bmaerkisch@web.de> - - revised implementation of Windows text window, SF patch 1973569, - Feature Request 992352 - * src/win/screenbuf.c|h: new files, implement dynamic buffer to - hold screen contents - * src/win/wtext.c: use data structures and methods from - screenbuf.c|h; optionally wrap long lines which don't fit on - screen [TextWrap]; add menu item to toggle this setting; save/load - size of text buffer to/from wgnuplot.ini [TextLines]; avoid - erasing the window area to avoid flicker during window resize; - coloured output is not yet implemented. - * src/win/wgnuplib.h: change definition of struct TW accordingly - * src/win/wresourc.h: new menu item "Wrap long lines" - * term/win.trm: update help texts on `text-menu` and `wgnuplot.ini` - * config/makefile.nt, config/makefile.mgw, config/mingw/Makefile: - include screenbuf.c|h in build process - -2011-03-07 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/Makefile.in: add new target 'htb' to create help file - compatible with wxWidgets help viewer - - * docs/windows/doc2html.c (main): change command line options, - (convert, header, footer) optionally split html files manually - [SPLIT_FILES] (Note: this will produce ~500 files!), optionally - create index file manually [CREATE_INDEX], always use hard-coded - links as none of the open source viewers seem to support k-links - - * config/makefile.mgw, config/watcom/Makefile, config/mingw/Makefile: - change command line accordingly - -2011-03-06 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/watcom/.cvsignore: Set up list of files to be ignored. - - * config/watcom/Makefile (clean): Remove GIF help files. - - * config/watcom/Makefile (wgnuplot_pipes.exe, gnuplot.exe): Add - missing library msimg32. - -2011-03-05 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/makefile.nt (OPTIONS, LDFLAGS, TERMFLAGS): Grouped for - easier disabling of optional terminals (gd, pdf, wx). - (gnuplot.exe): Change name of console gnuplot to the common one. - Drop wgnuplot_pipes.exe in the process. - (pgnuplot.exe): Re-use this name for the original program that had it. - (HCWPATH): New. Help compiler need not be on PATH. - ($(HELPFILE)): USE $(HCWPATH). - (CC): Remove /c option. Put that into calls that only compile, - instead. Allows to use $(CC) instead of verbatim "cl" in more - places. - (LDFLAGS): Remove /subsystem option. Put it into calls instead, - because it's different for different builds. - (CBASEFLAGS): Adapted to current version of MSVC. - (O): Missing macro needed for makefile.all. - (linkopt1.msw, gnuplot.exe): Add recently needed library msimg32. - -2011-03-03 Peter Hedwig <peter@affenbande.org> - - * term/lua.trm: If the cairo terminal is not available to make a - bitmap image, use libgd instead. - -2011-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu: Add a polar-mode example - to the set of plotting style figures (even though it is not really - a "plot style"). - -2011-02-28 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/xref.c (refs): Only emit start and stop strings if we - write any items at all. - - Request by Mojca Miklavec - * docs/windows/doc2html.c: Include list of subtopics. Optionally - use hard links instead of index lookup (HTML_HARDLINKS). - - Feature Request #874572 - * term/win.trm src/win/wgraph.c src/win/wgnuplib.h - src/win/wresourc.h: Add double buffering to the windows terminal - to avoid flicker on redraw. Add a poor man's version of antialiasing: - draw on a bitmap twice the size of the window on screen, then - scale down using halftone mode. Both settings are optional and can - be changed via the `graph-menu` and `wgnuplot.ini`. - -2011-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/Makefile.am.in: Don't try to install TeX files for lua - if we didn't build lua support. - -2011-02-26 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile, config/cygwin/Makefile: New files. Work - like config/makefile.cyg and config/makefile.mgw, respectively, - but without spilling files into the source tree. - - * config/makefile.oww: Dropped. Superseded by - config/watcom/Makefile. - -2011-02-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): handle the case of transparent - fill with color from linetype: save color to variable last_color - on all changes and create solid brushes when required - -2011-02-25 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_image, WIN_filled_polygon) src/win/wgraph.c - (drawgraph: W_boxfill, W_pm3d_setcolor, W_pm3d_filled_polygon) - (W_image): support transparency and alpha channel for boxes, - images and polygons. Use memory bitmaps to draw and then use - AlphaBlend() and TransparentBlt() to copy to the screen. Fix - clipping of images. - - * config/makefile.mgw(LDLIBS): additional GDI library file - - * docs/gnuplot.doc: update `set style fill transparent` - - * term/win.trm: update and reformat windows help text - -2011-02-24 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc: sync to docs version 1.651 - -2011-02-24 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.lua term/lua.trm: Make full bitmap - support conditional on HAVE_CAIROPDF. Necessary in order to - build lua without the cairo terminals. - -2011-02-24 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * share/LaTeX/Makefile.am (${lua_files}): Missing $(top_srcdir) - broke out-of-source-tree build. - -2011-02-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua/gnuplot-tikz.lua term/lua/gnuplot-tikz.help: - Fix redundant definitions that broke TeX-based documentation. - - * term/Makefile.am.in: Regenerate term/lua/gnuplot-tikz.help - -2011-02-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: correct typos; revive some "html" anchors - -2011-02-23 Bastian Maerkisch <bmaerkisch@web.de> - - * docs/gnuplot.doc: add link from `rand` to `random` and use - proper table format in random section - - * term/lua/gnuplot-tikz.help term/lua/gnuplot-tikz.lua: balance - backquotes in gnuplot help. - - * src/win/wgraph.c: reorder entries of the graph popup menu - - * src/win/winmain.c(IsWindowsXPorLater) src/win/wcommon.h: add a - function to detect if gnuplot is running on Win XP or later. - - * src/win/wtext.c(TextMakeFont) src/win/wgraph.c(Makefonts): - select ClearType or Proof quality depending on OS version to - improve rendering quality - -2011-02-21 Peter Hedwig <peter@affenbande.org> - - * term/lua/gnuplot-tikz.help term/lua/gnuplot-tikz.lua - term/lua/NEWS term/lua/README term/lua/TODO term/lua.trm: - Re-work the lua terminal to support ConTeXt and plain TeX in addition - to TikZ. Requires TikZ >= 2.0 - - * share/LaTeX/Makefile.am: Regenerate the lua terminal *.tex and *.sty - files from the Makefile rather than keeping them in cvs. - -2011-02-21 Bastian Maerkisch <bmaerkisch@web.de> - - Windows HTML help, SF patch set #3186000. - * docs/gnuplot.doc: changes for windows html help: update - titlepage, comment out old html anchor definitions and links, and - add html replacements for tables - - * docs/plotstyles.gnu: new variable winhelp used to switch between - PDF output for "make pdffigures" and PNG output for windows html - help - * docs/windows/doc2html.c: New help file format converter derived - from docs/doc2rtf.c and docs/doc2html.c (Attic) - - * docs/windows/wgnuplot.hhp: New file. HTML help project file. - - * docs/windows/wgnuplot.hhk: New file. HTML help stub index file. - - * docs/windows/wgnuplot.stp: New file. HTML help negative list for - search index generation. Caution: maximum size 512 bytes. - - * src/command.c (help_command): issue error message if helpfile - could not be opened, fix table of contents command ("help") - - * src/win/winmain.c (WinExit) [WITH_HTML_HELP]: no need to close - help window - - * config/makefile.mgw: Optionally modify settings to build and use - HTML help [HTML_HELP]. - - SF patch set #3186010. - * history.c (write_history_list history_find history_find_all): - use ANSI C definitions - - * command.c (history_command): mention editline in message for - missing history support - - * readline.c(getc_wrapper): generalize code used for editline - -2011-02-20 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Revised configuration tests for lua support. - - Variable arrowstyle for vector plots. - * src/gadgets.c src/gadgets.h src/set.c src/term_api.h: - Add tag field to arrow_style_type - * src/misc.c (arrow_parse) src/misc.h (arrow_use_properties): - Parse "arrowstyle variable", export a routine to apply it. - * src/plot2d.c (get_data): Allow 5 column "with vectors" style. - * src/graphics.c (plot_vectors) src/graph3d.c (plot3d_vectors): - Check for arrowstyle variable, apply to each vector if needed - * demo/arrowstyle.dem: Modify last plot to show arrowstyle from column - -2011-02-20 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/config.oww [WITH_HTML_HELP]: Change helpfile name. - - * src/command.c [WITH_HTML_HELP]: Include <htmlhelp.h>. - (help_command) [WITH_HTML_HELP]: Use HTML help instead of classic - WinHelp32 helpfile system. - - * config/watcom/Makefile (HELP_EXT, HHC_DIR, HHC, WD, HHP_PROJ) - (HHP_CONTENT, HHP_INPUT, HHP_OUTPUT): New variables. - (HELPFILE, CPPFLAGS, LDLIBS) [HELP_EXT==chm]: Optionally modify - settings to build and use HTML help. - (wgnuplot.chm, $(HHP_OUTPUT), $(HHP_INPUT) $(HHP_CONTENT)) - (doc2html.exe) [HELP_EXT==chm]: New targets. - (clean, realclean): Delete files generated for HTML help. - - * term/win.trm (WIN_enhanced_flush): Replace C99-ism by simpler cast. - -2011-02-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/text.c(DragFunc): Support drag and drop of directories - onto the windows terminal emulator. - - * plot.c(main): init rl_library_name before first call to - editline, otherwise .editrc does not work - -2011-02-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_calln): Limit recursion depth for multi-variable - functions in the same manner as for single-variable functions. - Bug #3184671 - - * docs/gnuplot.texi: This file is generated from gnuplot.doc. The copy - in cvs is perennially out of date, so remove it. "make gnuplot.texi" to - regenerate it when needed. - -2011-02-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Add missing TERM_ALPHA_CHANNEL flag for pdfcairo - -2011-02-11 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/win.trm(WIN_enhanced_flush) src/win/wgraph.c(GraphGetTextLength): - Adjust position of enhanced text to account for terminal aspect ratio. - -2011-02-10 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/win.trm (WIN_set_font) src/win/wgraph.c (GraphChangeFont): - Do not initialize to an empty font name. - Bugfix - -2011-02-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua.trm (LUA_set_color): Initialize rgb_color for the case TC_LT. - term/lua/gnuplot-tikz.lua: Work around failure to handle LT_NODRAW - and LT_BACKGROUND. This prevents a freeze, but is not a complete fix. - - * src/save.c (save_linetype): save/show variable linecolor correctly. - - * src/misc.h src/misc.c (parse_colorname): Split out color name - interpretation into a separate routine. - - * src/graphics.c (filter_boxplot) src/graphics.h - src/plot2d.c (boxplot_range_fiddling): - Sort and filter points contributing to a boxplot at the point we pick - the auto-range limits rather than waiting till when we draw it. - Bug #3155750 - -2011-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm (EMF_filled_polygon): Explicitly set a zero-width - same-color border for filled polygons, otherwise it inherits a border - line style. - Bug #3165902 - -2011-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_encoding): Check result of "set encoding locale" - to see if we have just loaded an sjis (codepage 932) locale. - -2011-01-25 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/term.c src/term_api.h term/post.trm term/svg.trm NEWS - docs/gnuplot.doc: - "set encoding sjis" allows characters in Shift-JIS Japanese encoding to - survive enhanced text processing by the postscript and svg terminals. - -2011-01-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (xtick_callback ytick_callback ztick_callbacke): - Revert change made 2011-01-20 because it breaks hidden3d. - - * src/util3d.c (map3d_xy_double): Instead revise the map3d_xy() code - path to share the coordinate transformation used by map3d_xyz(). - Bug #3157712 - -2011-01-22 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgraph.c: Fix typo in previous definition of _WIN32_WINNT. - -2011-01-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxplot): Handle some corner cases - (all points have the same value, fewer than 4 valid points). - Bug #3162872 - -2011-01-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (xtick_callback ytick_callback ztick_callbacke): - Gnuplot uses two different pathways to convert 3D coordinates in user - space into 2D coordinates in the terminal coordinate space. One of - these goes via map3d_xyz() and TERMCOORD(); the other uses map3d_xy(). - Unfortunately it seems the two paths can differ by +/- one pixel in the - final terminal coordinates. This discrepancy is particularly - noticeable in the grid and axis tic placement of 3D plots after - "set view map" (Bug #3157712). - This patch switches the tick_callback() routines to use the map3d_xy() - pathway, which fixes the problem case described by the bug report. - It would be to make both pathways share the same underlying code - so that the discrepancy doesn't occur in other conditions. - Bug #3157712 - -2011-01-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_raxis): If the polar axis maximum is autoscaled, - draw the raxis all the way to that maximum value. - Bug #3153406 - - * term/post.trm: Replace a use-once character array by a literal string. - -2011-01-18 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/wxterminal/gp_cairo.c: Cast size_t arguments to (int). - -2011-01-17 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgraph.c: Pass mouse wheel events through to the core - mousing code so that interactive pan/zoom works from the windows - terminal. - -2011-01-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_logscale set_autoscale) src/unset.c (unset_autoscale) - src/axis.h docs/gnuplot.doc: Remove macro INIT_AXIS_ARRAY. - "set logscale" should not affect pseudo-axes. - Bug #3159062 - -2011-01-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Minimum value of polar axis always - auto-scales to 0 (already documented but implementation lacked). - -2011-01-10 David Kuehling <dvdkhlng@gmx.de> - - * term/linux.trm: Makes linux.trm work with all SVGAlib video modes, - not only 16 and 256-color modes. - - * src/term.c (init_terminal): Correct the auto-selection of terminal - type vgagl or linux. Only select vgagl if lib3dkit is present. - -2011-01-08 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/internal.c (f_time): Don't use a local variable of the same - name as a function you're trying to call. - -2011-01-07 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/unset.c (reset_command): - "reset" didn't restore default for "set raxis" - -2011-01-03 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/internal.c (f_time) src/stdfn.h docs/gnuplot.doc: - Fix breakage caused by the previous update - -2011-01-02 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/internal.c (f_time) docs/gnuplot.doc: - Modified time() so that type of result depends on type of argument - -2011-01-01 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/eval.c src/internal.c src/internal.h: - New time() function to get the current system time - - * docs/gnuplot.doc demo/timedat.dem: - Documentation and demo for time() - -2010-12-29 Daniel Sebald <daniel.sebald@ieee.org> - - * src/specfun.c (ranf): Place more restrictions on seed values - used by rand(seed). - - * docs/gnuplot.doc (rand): Updated documentation of rand() - function with details about algorithm and allowable seeds. - -2010-12-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c: Make all the numerical routines f_whatever() - retrieve their argument via pop_or_convert_from_string(). - - * src/specfun.c (ranf): Disallow fractional seed values since - truncation to an integer produces an invalid seed value of zero. - -2010-12-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Use t->set_color() rather than t->linetype() to - set the fill color for pointinterval < 0 and for opaque key. - Needed for windows terminal [any others?]. - -2010-12-17 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/win.trm: (WIN_point WIN_filled_polygon): - Always draw point symbols using a solid line, even if the current - line type is dashed. Unfortunately this fix is limited to monochrome - mode. - Bug #1952364 - - * src/win/wgraph.c (drawgraph): Selecting linetype 16 caused - corruption of the color and pen assignments in mono mode. - -2010-12-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/watcom/Makefile, config/watcom/config.h: New version of - Makefiles for OpenWatcom that builds outside the src tree. - - * config/config.oww (pclose, popen): New defines need to compile - pipe-enabled version on OpenWatcom. - - * docs/Makefile.in (pdffigures): Make indirect target depending on - pdffigures.tex, to avoid unconditional rebuild. - (pdffigures.tex): New, renamed copy of previous target pdffigures. - (figures): Set loadpath for demos; allow this to work from - out-of-source builds. - - * docs/gnuplot.texi: Regenerated. - - * docs/gnuplot.doc: Clean up blank-only lines. - - * src/win/wtext.c, src/win/wprinter.c, src/win/wpause.c, - src/win/wmenu.c, src/win/winmain.c, src/win/wgraph.c - {HAVE_CONFIG_H}: Add "config.h" include. - - * src/syscfg.h {MSVC}: Add missing include (was hidden in MSDOS - section, which the Win32 build doesn't touch). - - * src/makefile.awc (COREOBJS): Add missing entry for tabulate.c - - * term/PostScript/prologues.h (): Regenerated. prologue_cp1251_ps - was missing completely, among other lapses. - -2010-12-13 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * term/emf.trm: Create special point types 70-74 to be filled polygons, - just as they are for the postscript terminal. - -2010-12-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Honor "set key tc <foo>" in 3D plots. Bugfix. - -2010-12-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to gnuplot.doc rev 1.641 - -2010-12-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.x (fit_command): Do not use axis_array[SECOND_Z_AXIS] as - temporary storage, because leaving junk in it can cause an erroneous - free() operation later on. - Bug #3130115 - -2010-12-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/save.c src/set.c src/show.c src/tables.c - src/tables.h src/unset.c docs/gnuplot.doc: 'set pointintervalbox'. - -2010-12-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Casting to a float may have been clever, but - we can't afford the loss of precision (fails for time coordinates). - - * src/pm3d.c (pm3d_depth_queue_flush): Restore deleted code needed for - extended color support. (There are still some svga users after all!) - - * term/emf.trm: - Use the EMR_ELLIPSE primitive to draw point types 6 and 7. - Make point types 4 and 5 slightly larger (looks better on MSWin). - Switch to using linecap=flat and linejoin=miter by default, - but add option "rounded/butt" to toggle this. - -2010-11-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_decimalsign): Possible fix for problem with - numeric locales on Windows. Bug #3120819. - -2010-11-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/graphics.c demo/dashcolor.dem: - Fix breakage to the pointinterval property that was caused by - opaque key support. Add a demo plot illustrating pointinterval. - -2010-11-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm demo/html/webify_canvas.pl - term/js/gnuplot_common.js term/js/gnuplot_dashedlines.js: - Add support for dashed lines and rounded/butt line properties. - -2010-11-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/js/gnuplot_common.js term/js/gnuplot_mouse.js: - Revamp the javascript support for the HTML5 canvas terminal. - Move all global variables into a single object "gnuplot" declared in - gnuplot_common.js. This revision also adds polar mode mousing support. - - * demo/html/Makefile.canvas demo/html/index.canvas - demo/html/mouseable.dem demo/html/mousebox.template - demo/html/webify_canvas.pl: - Revamp the demos and build scripts to use the new javascript syntax. - - See tracker item #3058147 - -2010-11-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_common.js: Rotated text should be zoom-able also. - - * term/js/gnuplot_mouse.js: Konqueror (webkit?) implementation of ctx - does not like negative values of width or height. - - * src/eval.c (fill_gpval_axis) term/canvas.trm: - Export polar axis limits and logscale status for external mousing. - -2010-11-20 Casey Carter <ctcarter@users.sourceforge.net> - - * demo/html/index.canvas demo/html/index.save demo/html/index.svg - term/canvas.trm: syntax error in link record of standalone mode. - -2010-11-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/command.c src/eval.c src/graphics.c - src/misc.c src/mouse.c src/plot2d.c src/save.c src/set.c src/setshow.h - src/show.c src/tables.c src/tables.h src/unset.c - demo/polar.dem demo/poldat.dem docs/gnuplot.doc: - - Improved support for polar coordinate mode. - The polar axis gets syntax and properties equivalent to the x/y/z axes. - - set/unset raxis (always drawn through the origin) - - set rrange controls the extent of the axes and of the plot itself; - the xrange and yrange are set to match, but can be changed afterward - - set rtics (drawn to right of origin; optionally mirrored to the left) - - set log r (does not affect scaling on x or y) - - polar coordinate readout from mousing - - filledcurves bounded by constant r - - polar.dem (turn off rtics so the demo output remains as before) - poldat.dem (add a plot showing raxis, rtics, and log scaling on r) - - * src/set.c (set_grid): Clean up the option parsing for set grid. - - * src/save.c: save output for "set view" could not be read in. - -2010-11-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c (clip_line): When draw_clip_line() was made into a - wrapper for clip_line() in May 2000, they differed in a single test. - The version of the test from clip_line() was kept. But this broke - the case clip_line(x, ymin, x, ymax+eps), which clipped to ymin,ymin - rather than to ymin,ymax. I do not know if there were any callers of - clip_line() at the time that needed the variant test, but if so they no - longer exist. There is now only one other caller of clip_line(). - Restore the test to the version that is correct for draw_clip_line(). - - * src/graphics.c (place_grid xtick2d_callback plot_impulses) - src/term.c (do_arrow): Simplify these routines to use draw_clip_line(). - -2010-11-13 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in INSTALL src/Makefile.am src/term.c src/term.h: - The copyright notice in bitmap.c is more restrictive than the gnuplot - license. The new configuration option --without-bitmap-terminals - omits this code from the gnuplot executable and also disables all - terminals that depend on it. These are: - epson.trm hp500c.trm hpljii.trm hppj.trm pbm.trm - This affects HP deskjet-era printers, but not HPGL or PCL5 printers. - - * src/set.c: Replace unnecessary memcpy() calls with direct assignment. - - * docs/Makefile.in: Add gnuplot.pdf to the distributed package. - Install it in the same directory as gnuplot.gih. - -2010-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc command.c (help_command) util.h: - "help" was collapsing all text to lower case, which broke "help 3D". - Remove a vestigial call to lower_case(). Also make sure it is indexed. - -2010-11-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/set.c src/unset.c: - Re-arrange the order of axes in the axis_table[] array so that all the - parametric axes are at the end. This makes it easy to iterate over only - those axes that make sense for the "set/unset logscale" commands. - Previously, commands like "set logscale tuv" were silently accepted, - leading to strange internal state. - - * src/plot2d.c: Issue an error message if the user tries to plot in - polar mode with a style that is not supported. - Bug #3072150 - - * src/axis.h (AXIS_INIT2D) src/set.c (set_logscale): - Keep AXIS.log_base in sync with AXIS.base. - Otherwise calls to AXIS_DO_LOG or AXIS_UNDO_LOG prior to the first plot - command cause divide-by-zero or other math errors. - -2010-11-07 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c (df_readascii): The "labels" style did not work with - pseudocolumns (e.g. "using 1:2:0"). Now it correctly handles pseudocolumns - 0, -1, -2. - - * term/cairo.trm: Documentation fix: the section on the default size - for the pngcairo terminal was incorrect. - -2010-11-06 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/plot3d.c src/plot3d.h src/set.c src/show.c src/save.c - docs/gnuplot.doc demo/kdensity2d.dem: New option "kdensity2d" for - "set dgrid3d" to create two-dimensional kernel density plots. - -2010-11-03 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: typos - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to gnuplot.doc rev 1.633 - -2010-11-02 Michael Murphy <murphy-md@users.sourceforge.net> - - * share/LaTeX/gnuplot-lua-tikz.sty: Change the tikz default linetype 0 - axis style from dashed to dotted, and the color from black to 35% black. - Tracker item #3098162 - -2010-10-31 Petr Mikulik <mikulik@physics.muni.cz> - - * demo/pm3dcolors.dem: Added first page with multiple palettes. Show - color ranges in [0:1]. - -2010-10-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxes): Prevent out-of-range boxes from creating - degenerate invisible boxes in the output file. Can reduce file size for - vector format output. - Bug #3096750 - - * src/axis.c: The custom routine dbl_raise() was failing to handle NaN - correctly, causing an infinite loop from e.g. set yrange [*:NaN] - Replace it with a call to the C library routine pow(). - -2010-10-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_fillstyle): Allow "border" as a keyword without - necessarily having an immediately following linetype or color. - - * src/plot2d.c (eval_plots): fillcolor was not taking into account - user-defined linetypes. - - * src/plot3d.c src/misc.c: Simplify calls to load_linetype() - - * lisp/gnuplot.el: Emacs 24 does not have make-local-hook - contributed patch #3095458 - - * ChangeLog.2: Split off ChangeLog at the point 4.5 was tagged. - - * docs/gnuplot.texi: regenerate from gnuplot.doc v 1.633 - -2010-10-23 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: The AC_CHECK_LIB macro apparently always appends - to LIBS (despite what the documentation says). We want to accummulate - readline-associated libraries in TERMLIBS rather than LIBS, - so save and restore LIBS around the checks. - -2010-10-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (boxplot_range_fiddling): trap and report an error - if the x coordinate of a boxplot is undefined. - Bug #3092435 - - * src/plot2d.c (get_data): Up until now this routine has returned - the number of lines from which data were read, including lines - containing undefined points. Change this to return the number of - well-defined data points. That way a file of junk is recognized as - empty if read with either 'using 1:2' or 'using ($1):($2)'. - Bug #3092435 - -2010-10-20 Graham Reed <greed@users.sourceforge.net> - - * configure.in src/alloc.c: Test at configuration time whether the - local implementation of malloc(0) returns 0 rather than a pointer. - If so, work around it in gp_malloc(). Replaces alpha-specific fix - of 2010-10-04. - -2010-10-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (box_range_fiddling) src/graphics.c (plot_boxes): - Catch a couple of corner cases of "plot ... with boxes". - Bug #3075938 - -2010-10-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): A smart (or maybe that's dumb) compiler may - optimize out our tests for step size less that the machine precision. - Try to forestall this by marking the steps as (float)(volatile double). - Bug #3085168 - -2010-10-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c: Reduce the size of the pm3d surface quadrangle structure - by removing a redundant copy of the vertex coordinates. Add a pointer to - track the current plot's line color. - Bug #2997853 - -2010-10-11 James R. Van Zandt <jrvz@comcast.net> - - * src/specfun.c src/specfun.h src/eval.c docs/gnuplot.doc: Adding - support for the exponential integral E_n(x) as gnuplot function expint(n,x). - -2010-10-10 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * src/stdfn.c (not_a_number): Bit-pattern definition of NaN for MINGW - -2010-10-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua.trm (LUA_options): Null-terminate the "set term lua ..." - command string at the first semicolon before passing it to lua. - - * src/fit.c src/fit.h src/set.c docs/gnuplot.doc: - New option "set fit quiet" prevents fit information sent to the log - file from being echoed also to stderr. - Bug #2355210 - -2010-10-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Protect against the case that the x11 colormap is not - partitioned identically to the palette. - -2010-10-06 Marco Cammarata <marcocamma@users.sourceforge.net> - - * docs/psdoc/ps_symbols.gpi: "set angle radian" - -2010-10-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c src/pm3d.c src/pm3d.h set.c show.c docs/gnuplot.doc: - Simplify the syntax for "set pm3d hidden3d". A linestyle is no longer - required. If no linestyle is given, the line properties are taken from - the plot command line. - Bug #2997853 - -2010-10-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/getcolor.c (quantize_gray) src/getcolor.h src/gplt_x11.c: - Continuation of defined palette revamp (2010-10-01). Break out the - new code into a separate subroutine that can be shared with gnuplot_x11. - - * src/color.c (draw_inside_color_smooth_box_bitmap): - Assign colors to component colorbox rectangles by rounding the pixel - coordinate up rather than down. This empirically gives better results - in gd.trm, and doesn't seem to hurt other terminals. - - * term/post.trm term/pslatex.trm term/svg.trm term/PostScript/cp1251.ps - src/term_api.h src/term.c docs/gnuplot.doc: Add support for codepage 1251, - an alternative 8-bit Cyrillic encoding. - -2010-10-04 Matthew Biggar <biggarm@users.sourceforge.net> - - * src/Makefile.am src/alloc.c: Architecture (Alpha) specific work- - around to insure that gp_malloc() does not fail on error if 0 bytes are - successfully allocated. - -2010-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/stdfn.c (not_a_number): Although DJGPP version 2.04 is reported - to support atod("NaN"), this version is not universal. Switch to using - an explicit bit pattern for NaN. - -2010-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (cp_free): Prevent use-after-free error if a plot - structure containing dynamically allocated data is reused for a later - plot. - - * src/color.c (make_palette) src/getcolor.c (rgb1maxcolors_from_gray) - docs/gnuplot.doc: - Revamp the interaction of `set palette maxcolors` and defined palettes. - Up until now, `set palette maxcolors N` meant both "allocate N colors" - and "divide the color range into N equal parts". This meant that a - user-defined palette that used unequal divisions of the total range - interacted badly with a limited number of palette colors. Now we - guarantee that in the case of defined palette ranges, a gray value is - never mapped to a color outside its proper range even if the ranges - are very unevenly spaced. If more color ranges are defined than the - value of maxcolors, this may (or may not) result in increasing the - effective value of maxcolors. Outboard terminals that enforce maxcolors - (e.g. x11) do not yet benefit from this change. - - * configure.in src/datafile.c src/eval.c src/plot.c src/show.c - term/lua.trm: Remove conditional flag HAVE_ISNAN. - Apparently we have been getting along OK with an unprotected call - to isnan() since Oct 2009. That would seem to be good evidence - that we can remove the #ifdef protection elsewhere as well. - -2010-09-30 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/plot2d.c (store_label eval_plots): Fix bug introduced by my patch - of 2010-09-08 (references to uninitialized variables were found by - valgrind). - -2010-09-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (draw_inside_color_smooth_box_bitmap): - The color box is constructed from 128 segments. If any of these - straddles a boundary within a defined palette, split it into 2 segments - so that discrete color transitions are described with pixel accuracy. - This does not fix imprecision in the palette itself, which can result - if too few colors are allocated (set palette maxcolors). - -2010-09-28 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/titlepage.ipf docs/titlepage.tex: Years updated. - -2010-09-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_image_or_update_axes): Add support for log-scale - transformation of 2D image data. - - * src/hidden3d.c: Disentangle variable color from the direction of - arrows. Bug #3074212 - -2010-09-28 Volker Dobler <vdobler@users.sourceforge.net> - - * src/axis.c (load_one_range load_range) src/axis.h - src/parse.c src/parse.h src/save.c src/set.c src/unset.c src/util.c - demo/all.dem demo/autoscale.dem docs/gnuplot.doc: - - Introduce a mechanism for constraining the axis limits chosen during - autoscaling. For example: - set yrange [* : 100<*<200] - constrains autoscaling on y such that the upper range limit must fall - between 100 and 200. - -2010-09-27 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c (f_stringcolumn): The stringcolumn function didn't - recognize columns 0, -1, and -2. Now it treats them the same as the - column function does. - -2010-09-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (apply_head_properties): Simplify the arrowhead code. - - * src/graph3d.c src/hidden3d.c src/util3d.c src/util3d.h: Provide a - 3D wrapper apply_3dhead_properties() that dummies up an x-axis scale so - that the 2D routine apply_head_properties() can be shared by 3D code. - Bug #3074212 - - * src/term.c (do_arrow): To do proper foreshortening of 3D arrowheads - would require a new approach. As an approximation, assume that any short - arrow with a big arrowhead is the result of foreshortening. - This affects 2D arrows also, but the visual effect is not bad. - -2010-09-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (replotrequest): Once we have started to replot, the - previous data no longer exists. Therefore we must set refresh_ok = 0. - -2010-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (axis_checked_extend_empty_range): When extending from - an empty range, don't invert the axis direction by accident. - Bug #3074365 - -2010-09-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (store2d_point): Allow the use of "with circles" in - polar coordinate mode. - - * src/plot2d.c (get_data): The combination of smoothing and variable - color cannot work in general. Disable variable color for all smoothed - curves. Later we may add back support for the case of lc palette z. - Bug #3063366 - - * src/graphics.c (fill_between): Fix filled curve clipping error. - Bug #2963485 - -2010-09-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (edge_intersect): If for some reason we fail to find - find the intersection points of a vector both of whose ends are out of - range, issue a warning, pick an edge, and continue. - I can't see any good reason to treat this as a fatal error. - Bug #2824879 - - * docs/gnuplot.doc: Clarify the section on linetypes and linestyles. - -2010-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c src/internal.c src/internal.h docs/gnuplot.doc: - New function value("X") returns the value of a variable named X. - A = "foo" - value("A") returns "foo" - value(A) returns NaN, because there is no variable named foo - value(2) returns 2 (numeric expressions have a natural value) - Among other things, this allows you to read variable names from - a data file and use the current value of those variables in a plot. - - * src/util.c (gprintf): Handle formats x/X/o/O for values that - overflow (int) by switching to llx/llX/llo/llO and (long long). - NB: This does _not_ extend the representation of negative numbers - to 64 bits unless the representation overflows 32 bits. - -2010-09-16 Ethan A Merritt <merritt@u.washington.edu> - - * tutorial/eg2.plt tutorial/eg6.plt tutorial/test_tikz.plt - tutorial/Makefile.am.in tutorial/header.tex tutorial/tutorial.tex: - Update the LaTeX tutorial a bit. More could be done. - -2010-09-15 Ingo Thies <ingo.thies@gmx.de> - - * src/graph3d.c src/graph3d.h src/mouse.c src/set.c src/unset.c: - Switch the middle button left/right mouse zoom behaviour in 3D plots - so that the zoom response is logarithmic. - -2010-09-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/gd.trm: As of libgd 2.0.36 you can now specify a TrueType font - using either Fontconfig syntax or using the font file name directly. - But switching from one form to the other was only possible as an - option of "set terminal". This patch enables us to specify these two - forms of the font name in "set title", "set xlabel", and so on. - -2010-09-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/term.c (strlen_tex): Add a special-case routine to - estimate the true number of output characters in a LaTeX string - containing markup. This is not a real LaTeX parser, but even a poor - estimate is better than just calling strlen(). - Bug #1603348 and others - - * term/latex.trm term/lua.trm term/pslatex.trm: Set flag TERM_IS_LATEX - so that strings passed to these terminals are sent to strlen_tex() - rather than the normal enhanced text string length estimation. - -2010-09-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): When calculating the horizontal space - required for x axis tick labels, we must ignore ticks that are outside - the current axis range. - - * src/mouse.c (apply_zoom): Tick labels generated by - 'using xticlabels(N)' may have changed while the plot was zoomed, so we - must preserve them when un-zooming. - -2010-09-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_close): Free matrix data that was stored in memory - during input. Otherwise we leak memory after every plot of matrix data. - - * src/color.h src/gadgets.c src/gadgets.h src/misc.c src/term.c - src/term_api.h: Repair some lp_style_type definitions and initializers - that were incorrect or incomplete. - -2010-09-08 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/plot2d.c (store_label eval_plots): Extend variable color support - for LABELPOINTS style by allowing "with labels tc X lc Y" where X, Y is - one of "lc variable", "lc palette z", or "lc rgb variable". - - * src/misc.c (lp_parse): Revert the patch of 2010-07-08 because - it accidentally disabled the coloring option "lc N". - * src/graph3d.c (key_sample_line_pm3d key_sample_point_pm3d): - More correct fix to bug #3026477: the functions above failed to call - the simpler key sample routines in case of plots with coloring option - "lc N" and "lc rgb 'color'". - -2010-09-06 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to gnuplot.doc rev 1.623 - -2010-09-04 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/set.c (set_logscale): Removed arbitrary limitation for log base - (was >= 1.1, now > 1.0) - -2010-09-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/readline.c (readline): Fix Windows breakage (failure to - recognize ^M as newline) caused by error in OSK code removal. - -2010-08-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/os2/gnupmdrv.rc: Removed menu item Commands to clipboard. - - * src/gpexecute.c (gp_execute): Removed bSend2gp and call to - TextToClipboard. - - * src/mouse.c (alert): Use DosBeep under OS/2. - - * os2/gclient.c: Removed unused #define GNUPMDRV. - -2010-08-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (conv_text): - Until now, the "show" and "save" commands have replaced all non-ascii - characters with a byte-by-byte octal escape sequence. This makes any - labels, variables, titles, etc not human-readable if they contain UTF8 - encoded characters. Now we simply pass them through as-is if the current - encoding is UTF-8. I think this is the correct thing to do for other - 8-bit encodings as well, but I can't test those easily. - -2010-08-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Allow "fc <colorspec>" as an in-line - option to the plot command for plot styles that use a fill. - -2010-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: The gnuplot_x11 side of Shige's fix. - -2010-08-14 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/x11.trm: The last font used inside an enhanced text string was - not being cleared on exit. - -2010-08-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/ansichek.h src/gplt_x11.c src/plot.c src/readline.c src/show.c - src/stdfn.h src/syscfg.h term/x11.trm: Remove conditional code for - another obsolete platform (OSK/OS9, used for example on TRS-80). - -2010-08-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c: OSX history command could segfault if there was no - previous history file. - - * docs/gnuplot.doc: Reorganize documentation for binary files. - -2010-08-09 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/plot.c: More work to enable autoconfigue on OSX. - -2010-08-08 Olivier Mehani <shtrom@users.sourceforge.net> - - * src/util.c docs/gnuplot.doc: Add ISO-IEC-80000 prefixes - (ki Mi Gi etc) as gprintf format specifiers %b and %B, which are - respectively the mantissa and exponent. Also fix an out-of-range - formatting bug. - -2010-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Do not create a data record for a blank line at the end - of the input stream. - Bugfix. - - * src/plot2d.c (eval_plots): Update GPVAL_DATA values after plot in - tabulate mode just as for normal plotting mode. - Bug #3041233 - - * docs/gnuplot.doc src/gadgets.h src/graphics.c src/save.c src/set.c - src/show.c src/tables.c src/tables.h: - New option "set key opaque". If requested, the code makes two passes - over each 2D plot command. The actual graph is drawn during the first - pass, and the key box with plot samples is drawn during the second pass. - -2010-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/command.c src/history.c src/mouse.c src/plot.c - src/show.c: - - Finally a work-around for the broken libreadline on OSX, which is really - a wrapper for some version of libeditline. Test for each potentially - missing function in configure and deal with it if it's missing. There - may still be an issue with autoconfiguring support for the history - functions. - Bug #1839048 and others - -2010-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/eval.c src/fit.c src/gp_types.h - src/plot.c src/readline.c src/stdfn.c src/syscfg.h src/term.h: - Remove vestigial tests for DOS16 or DOS386 - -2010-07-29 Allin Cottrell <cottrell@wfu.edu> - - * src/term.c src/term_api.h term/emf.trm term/svg.trm docs/gnuplot.doc: - Add support for codepage 950, which is Microsoft's version of Chinese - Big5 encoding. Only the emf terminal (and maybe svg) do anything useful - with it. "set encoding cp950" - -2010-07-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/estimate.trm: Always estimate escaped characters as requiring - one character width. - Bug #3036010 - -2010-07-27 Tim Mooney <enchanter@users.sourceforge.net> - - * configure.in: If lua.pc is not present but liblua.so is found - anyhow, then set HAVE_LUA and LUA_LIBS explicitly. - Bug #3035608 - -2010-07-26 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/win.trm src/win/wgraph.c: Yet another windows terminal font fix. - Bug #2972307 - -2010-07-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: "set term canvas fontscale <fs>" - - * src/graphics.c (do_plot do_key_layout): Separate out the code that - allocates space for the graph legend, and collect the key sample code - into a single place. - -2010-07-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: typos - * docs/term-ja.diff docs/gnuplot-ja.doc: - Sync Japanese documentation to gnuplot.doc rev 1.617 - -2010-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c: Remove magic number -3 and the test (foo>=-2) in - favor of LT_NODRAW and test (foo!=LT_NODRAW). - - * src/hidden3d.c: #define PT_ARROWHEAD and PT_BACKARROW - * src/hidden3d.c (make_edge draw_edge build_networks) src/util3d.c - (draw3d_line_unconditional): - Handle arrow heads and other arrow style parameters in hidden3d mode. - For surfaces, edge.style indicates whether this edge is seen from the - top or the bottom. Coopt this flag for VECTOR plots to indicate - whether the vector points up (positive z) or down (negative z). - Separate flag is needed because the end points are sorted on z. - -2010-07-11 Peter Juhasz <juhaszp@users.sourceforge.net> - Ethan A Merritt <merritt@u.washington.edu> - - * src/util3d.c (draw3d_point_unconditional): Remove incomplete local - color handling; the shared code in term_apply_lp_properties now does a - more complete job. - - * src/graph3d.c (do_3dplot): Simplify the key sample code for contour - plots with style "points". Set a default color sequence for contours - belonging to a surface drawn with "lc variable". - -2010-07-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Fix bug introduced by patch of 23-Mar-2010. - If the linetype of a 3D surface used "lc ..." then all contours of the - surface were stuck with that same coloring rather than incrementing - through successive line types. - -2010-07-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (term_apply_lp_properties): Yet another bandaid fix for - problems with "lc var". If the higher level code has failed to resolve - LC_COLORFROMCOLUMN (or LT_DEFAULT) into an actual color, use LT_BLACK. - Bug #3026477 - -2010-07-08 Ingo Thies <ingo.thies@gmx.de> - - * src/gadgets.h src/mouse.c src/set.c: Allow continuous rotation of 3D - plots when mousing; i.e., do not limit rotation angle to 0<rotx<180 - -2010-07-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): The coloring option "lc N" should not set a - use_palette flag. I think the option "lc variable" shouldn't either. - Bug #3026477 - -2010-07-07 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c src/gadgets.c src/gadgets.h src/gp_types.h - src/graph3d.c src/graphics.c src/graphics.h src/plot2d.c src/save.c - src/set.c src/show.c src/tables.c src/tables.h src/unset.c: - - * docs/gnuplot.doc docs/plotstyles.gnu demo/all.dem demo/ellipses.dat - demo/ellipses_style.dem demo/orbital_elements.dat demo/orbits.dem - - New plot style "with ellipses". Demos and documentation to match. - -2010-07-07 Ethan A Merritt <merritt@u.washington.edu> - - * term/PostScript/prologue.ps: Add a default definition - /g {setgray} def - so that a missing palette initialization will result in normal - grayscale rather than an invalid PostScript file. - Bug #3026477 - -2010-07-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (boundary3d): Prevent infinite loop or divide-by-zero - if the requested plot is so small that x or y dimension goes to zero. - Bug #3026145 - -2010-07-05 Akira Kakuto - - * term/win.trm: More fixes to font initialization. - Bug #2972307 #2993504 - -2010-07-02 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/win.trm: Explicitly initialize font. - Bug #2972307 - -2010-07-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readbinary): Regardless of the current timefmt - setting, if we are reading time data from a binary file it will come in - as a floating point value rather than as a string. So we can treat it - like any other binary value. - Thanks to Thomas Sefzick for pointing this out. - - * src/datafile.c (df_readbinary): In binary mode, string-valued - functions were silently ignored. Fix this, thus allowing binary files - to be plotted "with labels". For example: - plot 'foo' binary format='%double' using 0:1:("A") with labels - -2010-07-01 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/axis.h src/command.c src/datafile.c src/gp_time.h - src/internal.c src/time.c: - - Track time coordinates to sub-second precision. - - Time data read using the %S format specifier in "set timefmt" is now - treated as a floating point number rather than an integer. This affects - data read from an input file ("set xdata time"), the axis range and tic - locations given for an axis using time coordinates ("set xrange", - "set xtics"), and time conversions performed via calls to strptime(). - - Time data output formats ("set format" strftime()) now accept a - precision modifier to the %S format. For example, "%H:%M:%.3S" will - print hour, minute, seconds to a precision of milliseconds. - gnuplot> print strftime("%Y %D %H:%M:%.3S", 12345.6789) - 2000 01/01/00 03:25:45.679 - - The maximum precision allowed for output is 6 digits (microseconds). - 6 digit accuracy is possible for absolute dates through the year 2550. - - -2010-06-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): Add back the rather useless code that handles - four columns of data for styles LINESPOINTS and POINTSTYLE, even though - the variable color handling no longer needs it. It is still called - (foolishly) if the plot command is issued with no using spec at all. - -2010-06-29 Peter Juhasz - - * docs/gnuplot.doc: Document variable color for plot styles that were - not previously supported. - - * src/plot2d.c: The final piece of "with labels tc variable" - -2010-06-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (parse_label_options) src/plot2d.c (store_label) - src/pm3d.c (set_plot_with_palette): - Finish variable color support for text color in LABELPOINTS. - -2010-06-28 Peter Juhasz - - * src/graphics.c demo/varcolor.dem: Finish variable color support - for plot style CANDLESTICKS. Expand the demo. - -2010-06-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.h: New flag TC_VARIABLE (only used for textcolor) - - * src/misc.c (parse_colorspec) src/set.c (set_key) - src/graphics.c (do_key_sample): Accept "set key tc variable" - -2010-06-27 Peter Juhasz - - * src/graphics.c src/plot2d.c: Remove dead code supporting the old way - of handling variable color. Make "lc palette z" work. - Since the new variable color mechanism frees up space in struct - coordinate, use this to clean up the data storage for "with circles". - - * demo/varcolor.dem: General demo and debugging tool for the expanded - support of variable color across almost all plot styles. - - * src/graphics.c src/plot2d.c: Implement variable color for - *ERRORBARS, *ERRORLINES, FINANCEBARS, CANDLESTICKS - -2010-06-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.h src/graphics.c plot2d.c: Maintain a dynamically- - allocated array of per-datapoint color values in the header of each 2D - plot. The array is allocated only if the plot uses variable color. - - * src/plot2d.c: Store variable color data in the plot->varcolor[] array - for plot styles VECTOR CIRCLES BOXES LINES DOTS IMPULSES POINTSTYLE - LINESPOINTS XYERRORLINES XYERRORBARS BOXXYERROR LABELPOINTS BOXERROR - - * src/graphics.c (check_for_variable_color): Convert this routine to - check and load variable color using the new mechanism. - Add variable color support for BOXXYERROR, BOXERROR - -2010-06-26 Peter Juhasz - - * src/plot2d.c: In plots style "with circles", let a negative value for - the radius indicate that the default radius should be used. - -2010-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/gadgets.h src/graphics.c src/plot2d.c src/save.c - src/set.c src/show.c src/tables.c src/tables.h src/unset.c - docs/gnuplot.doc: - - New style element "set style circle radius <R>" specifies a default - radius for function plots or 2-column data plots drawn "with circles". - -2010-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Function plots should not be affected by - the current setting of "boxwidth" unless they really do contain boxes. - Bugfix - -2010-06-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Do not allow xticlabels(foo) in association with - style BOXPLOT, since there are no x coordinates. - - * src/gadgets.h: Add in missing fields of object initializers. - -2010-06-11 Peter Juhasz - - * src/graphics.c (boundary): More correct fix for distorted - vertical size of subplots in a multiplot. - -2010-06-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Fix a type that can distort the - vertical size of subplots in a multiplot. - -2010-06-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (need_fill_border): The fillstyle border color was not - taking account of linetype redefinitions. - -2010-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Document recently added %s time format - (seconds since start of 2000). - -2010-05-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): Remove a restriction that limited depth- - sorting of pm3d surfaces to those which were adjacent in the splot - command. If there was a reason for the original restriction, that - reason is now not remembered. - Bug #3004793 - -2010-05-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Revise the enhanced text mode, especially text rotation. - -2010-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm (CANVAS_graphics ENHCANVAS_FLUSH): - Fix a bug in applying the baseline of rotated enhanced text. - Provide a dummy gnuplot_init() routine if a standalone html - file with no mouse support is created. - -2010-05-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/estimate.trm (ENHest_writec strlen_utf8) - src/term.c (estimate_strlen): - - Teach estimate_strlen() to handle UTF-8 encoded strings. The estimate - is imperfect, but then again the estimate is already imperfect for any - proportional font. To truly do this more accurately would require - customized implementations for each terminal type. Any unicode code - point below 0x3000 is treated as requiring one character width; code - points above 0x3000 are treated as requiring two character widths. - -2010-05-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (draw_edge): Add support for coloring lines in - hidden3d mode using 'lc variable' or 'lc rgb variable'. - -2010-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_options): The "noenhanced" option was - broken by the patch of 2009-07-03. Fix it. - - * term/cairo.trm (cairotrm_put_text): Enhanced text was applying - the fontscale twice. Fix it. - -2010-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (magnitude): Optimize for the predominant case - (no imaginary component). - -2010-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm (PS_set_font): set ... font ",size" was not working - for non-enhanced text. Now it is. - - * src/plot2d.c (parametric_fixup) src/plot3d.c (parametric_3dfixup): - Delete vestigial code for auto-generation of a parametric plot title. - -2010-05-09 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/eval.c (magnitude): Yesterday's change breaks if the complex - argument is {0,0}. - -2010-05-08 Hans-Bernhard Broeker <broeker@physik.rwth-achen.de> - - * src/eval.c (magnitude): Make implementation robust to overflows - and underflows. - -2010-05-06 David Marx <itsdmarx@users.sourceforge.net> - - * src/syscfg.h: Tweaked version of _bool support for Sun/Solaris - -2010-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairotrm_graphics): Handle the special case of - streaming pdfcairo output to stdout. (Requires cairo version >= - 1.2) Bug #578311 - -2010-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm src/term.c: Move a global declaration out of post.trm so - that gnuplot can be built without including the postscript terminal. - -2010-05-02 Thomas Sefzick <thse@users.sourceforge.net> - - * src/gadgets.h src/graphics.c src/save.c src/set.c set/show.c - src/tables.c src/tables.h docs/gnuplot.doc: - - New options "set key maxcolumns N maxrows M" to manually adjust the - automatic layout of items in the figure legend. Implemented for 2D - plots only. - -2010-05-02 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/save.c src/set.c src/show.c src/unset.c src/fit.c - src/fit.h docs/gnuplot.doc config/config.os2 config/config.wc - config/config.nt config/config.dj2 config/config.oww config/config.cyg - config/config.amg config/config.mgw: - - Remove conditional flag GP_FIT_ERRVARS, default to "set fit errorvar". - Tracker item #2985752 - - * src/misc.c (lp_parse): "lc variable" was being lost in some cases. - Bugfix - -2010-04-24 Ethan A Merritt <merritt@u.washington.edu> - - * config.mgw config.cyg config.os2: Enable HIDDEN_QUADTREE by default. - Tracker item #2990173 - -2010-04-20 John Naylon <jpbn@users.sourceforge.net> - - * src/gp_types.h src/interpol.c src/plot2d.c src/tables.c - docs/gnuplot.doc: New option "smooth cnormal", equivalent to - "smooth cummulative" with automatic normalization to the range - [0:1]. - -2010-04-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm: Correct a typo that leads to serious problems with - font size and placement (introduced by the fontscale code). - -2010-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: The cairo terminals were forgetting fontscale - after the initial application. - Bugfix - - * src/wxterminal/gp_cairo.c term/cairo.trm: Use-after-free error caused - a segfault on certain enhanced text strings. - Bug #2947223 - -2010-03-28 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: State explicitly that the timefmt %y interprets - a 2 digit year number as being in the range 1969-2068. - -2010-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/tgif.trm (text_angle): Handle text rotation -270 same as +90. - Bugfix - -2010-03-23 Guy Mann <guydmann@gmail.com> - - * term/js/gnuplot_mouse.js (mouse_update): - Repaint current canvas before each incremental update of the zoom box. - -2010-03-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Re-write the lp_parse() routine to prevent the - loading of a user-defined linetype from undoing other linestyle - properties given earlier in the same command. - - * src/util3d.h src/util3d.c (draw3d_line_unconditional) - src/hidden3d (draw_edge draw_line_hidden): The code was passing in - top and bottom colors for the hidden3d routines as integer linetypes. - But loading a whole linetype lost any line properties given explicitly - in the splot command. Change this so that the top and bottom colors are - passed as t_colorspec structures instead. - -2010-03-21 Tommaso Vinci <ilbibi@users.sourceforge.net> - - * Provide Humlicek's approximation to the Voigt/Faddeeva function - voigt(x,y) = \frac{y}{\pi} \int{\frac{e^{t^2}}{(x-t)^2+y^2}}dt - -2010-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * NEWS src/hidden3d.c src/plot3d.c src/graph3d.c docs/gnuplot.doc: - - Add support for 'with impulses' in hidden3d code. Previously the manual - said 3D impulses were drawn "from the xy plane" but the code did not - follow this, drawing instead from zmin. Now the 3D code always draws - impulses from z=0 just as the 2D code always draws from y=0. - -2010-03-18 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add index entries and update description of mouse - scrolling and hotkeys. - -2010-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * plot.c (main): Initialize c_token to a legal value at the start of - interactive input. - - * docs/gnuplot.doc src/set.c src/term_api.h src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_term.h term/cairo.trm term/emf.trm term/gd.trm - term/pdf.trm term/post.h term/post.trm term/wxt.trm: - - New terminal option "fontscale <scale>". This scale factor is applied - to the nominal font size before use, so that you can scale the font - size up or down in parallel with scaling the output page up or down. - This is mostly relevant for hardcopy output or embedded figures. - -2010-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * INSTALL config/README config/makefile.amg config/makefile.ami - config/makefile.dj2 config/makefile.unx config/term_pc.h configure.in - docs/Makefile.in docs/README docs/gnuplot.doc src/Makefile.am - src/Makefile.maint src/amiga.c src/command.c src/command.h src/graph3d.c - src/graphics.c src/graphics.h src/makefile.all src/makefile.awc - src/plot.c src/scanner.c src/stdfn.c src/stdfn.h src/syscfg.h src/term.c - src/term.h src/variable.c term/amiga.trm: - - Remove code specific to amiga platforms. - 30 files changed, 43 insertions(+), 1941 deletions(-) - - * config/makefile.dj2 config/makefile.unx config/term_pc.h - configure.in docs/doc2texi.el src/eval.c src/eval.h src/makefile.all - src/makefile.awc src/plot.c src/syscfg.h src/term.c src/term.h - term/apollo.trm term/gpr.trm: - - Remove code specific to support of Apollo workstations. - The final gnuplot version in the apollo archives was gnuplot 2.0 (1996). - 15 files changed, 16 insertions(+), 1211 deletions(-) - - * src/pm3d.c src/tables.c src/term.c term/gd.trm term/pm.trm - term/post.trm: Remove bits of dead code. - -2010-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * config/makefile.286 config/makefile.msc config/makefile.msw - config/makefile.tc config/makefile.wc config/makefile.unx - src/Makefile.am src/alloc.c src/alloc.h src/eval.c src/gnuplot.def - src/graph3d.c src/help.c src/hidden3d.h src/misc.c src/plot.c - src/plot2d.c src/set.c src/show.c src/syscfg.h src/term.c - src/term_api.h src/unset.c src/util3d.c term/cgm.trm: - - We have not supported 16-bit DOS or WIN since version 4.0. - Remove the old cruft that was wrapped in conditional flags - DOS16 WIN16 DOSX286 LITE - 23 files changed, 11 insertions(+), 324 deletions(-) - -2010-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (getusername): Fix segfault if neither USER or USERNAME - are present in the environment. - -2010-03-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c (preset): Fix compilation error if XAPPLRESDIR is not - externally defined. - -2010-03-08 Ethan A Merritt <merritt@u.washington.edu> - - * docs/README docs/Makefile.in docs/pdffigures.tex docs/titlepag.tex: - Split out dependence on the packages graphicx and picins into a separate - file (pdffigures.tex) that is only needed by target "make pdffigures". - -2010-03-07 Ethan A Merritt <merritt@u.washington.edu> - - * share/Makefile.am: Give up on figuring out a universally agreed on - place where x11 app-defaults files should be installed. Place ours in - ${PREFIX}/share/gnuplot/4.5/app-defaults - -2010-03-06 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * INSTALL config/makefile.mgw config/makefile.cyg: - Consolidate the instructions for building using mgw and cygwin into - their respective makefiles. - -2010-03-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): Both curves in 'with filledcurves' must - use the same y axis properties. - Bug #2941257 - - * src/util.c configure.in config/config.cyg config/config.dj2 - config/config.mgw config/config.ntconfig/config.os2 config/config.oww: - Remove the test for pwd.h, the configuration flag HAVE_PWD_H, and the - conditional code that copies GECOS information from the password file - into the header of PostScript and PDF output files. This addresses - reported issues of privacy and reported problems with building a static - executable. - -2010-03-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (eval_reset_after_error f_call) src/internal.h - src/util.c (int_error) eval.h (STACK_DEPTH): - Add a recursion depth limit for calls to a user-defined function. - Bump the maximum depth from 100 to 250. - Bug #2954383 - -2010-03-05 Christoph Junghans (ottxor) - - * src/Makefile.am: Fix broken target "make clean" - -2010-03-04 Thomas Sefzick <thse@users.sourceforge.net> - - * src/svg.trm: Make sure to reset ENHsvg_string_state after each use. - -2010-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Remove requirement that the 'size' option must be the - last option given. - -2010-02-27 Ethan A Merritt <merritt@u.washington.edu> - - * graph3d.c (check_for_variable_color) plot3d.c (get_3ddata) - plot3d.c (plot3d_impulses plot3d_lines plot3d_points): - The presence of variable color was being tracked by a shared variable, - rgb_from_column, but it was not being updated in some circumstances. - Get rid of the variable and test the plot header directly when needed. - - * term/emf.trm: Tweak empirical corrections for character widths. - Additional thin character -, really thin chars i,.:;|! - -2010-02-24 Peter Juhasz - - * src/save.c: The 'save' command was not correctly handling plot styles - circles, image, or rgbimage. - Bug #2958235 - -2010-02-24 Alexander Taschner <tachna@users.sourceforge.net> - - * src/command.c src/win/wgraph.c term/win.trm: Move declarations to - conform with ANSI C. - -2010-02-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/cgm.trm (find_nearest_color): When looking for RGB colors, check - both the user-loaded colors and the default set of colors. Otherwise - RGB fails if the user has loaded no colors. - - * term/gd.trm: Documentation for the mechanism for setting line colors - in the 'set term' command is out of date, and anyhow the mechanism is - needed only for the terminal background. Line colors can now be handled - in terminal-independent commands. Revise the docs accordingly. - -2010-02-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c (ibeta) docs/gnuplot.doc: - The approximation used for the function ibeta(a,b,x) was taken from - Abramowitz & Stegun. However we failed to document that it is only - usable on the domain x < (a-1)/(a+b-2). Add this warning to the docs - and make sure that the function itself returns a consistant error - value (-1) if the domain or range is invalid. - Bug #2957184 - -2010-02-22 Don Taber <dtaber@topaflyers.com> - - * src/win/wgraph.c (SelFont): After a font change, call - do_string_replot("") so that it is immediately visible. - -2010-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Use dynamic allocation for all font names. This prevents - buffer overflow problems for very long font names. - - * term/post.trm: Truncate over-long font names rather than allowing - buffer overflow. - -2010-02-17 Christoph Junghans (ottxor) - - * configure.in plot.c: New configuration option to add local packager to - list of contacts for bug reporting. - Bug #2951583 - -2010-02-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (do_arc): Avoid calling trunc() because some compilers - are still back in the dark ages (pre C99). - - * configure.in: Change default installation directory for x11 resources - to /etc/X11/app-defaults. - Bug #1953742 - -2010-02-17 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/plot.c (interrupt_setup): Ctrl+C crashes windows console build. - SF Patch #2848002 - -2010-02-16 Peter Juhasz - - * src/graphics.c src/plot2d.c src/term.c docs/gnuplot.doc - demo/circles.dem demo/energy_circles.dat: Extend plot style - "with circles" to allow optional start and end values for each arc. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Add the option - "close" to the windows terminal driver. Update documentation - accordingly. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/win.trm: Fix for windows terminal ignoring explicit fontname and - size for labels. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/wmenu.c (SendMacro): Bugfix in call to _getcwd. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * term/win.trm: Add the options "size" and "position" to the windows - terminal driver. Update documentation accordingly. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/wgraph.c src/win/wresourc.h: Add the possibility to - save the current graph window as EMF file. Add a Ctrl+S shortcut for - the graph window and add an entry to the window's system menu. - - * term/win.trm: Update documentation accordingly. - -2010-02-15 Benjamin Lindner <lindnerb@users.sourceforge.net> - - * src/win/wgraph.c: Update code to copy to clipboard as enhanced - metafile, add Ctrl+C shortcut for graph window. - - * term/win.trm: Update documentation accordingly. - -2010-02-15 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/gadgets.h src/graphics.c src/save.c - src/set.c src/show.c: New style option (candlesticks or - financebars) for 'with boxplots'. Apply the current setting of - 'set bars' to boxplots drawn in candlestick style. - -2010-02-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_obj): Sanity check start and end angles of arc. - -2010-02-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxes): Amazingly old bug that fails to apply - absolute boxwidth in the case where previous point was undefined. - -2010-02-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.598 - -2010-02-07 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Clarify the documentation for xticlabels(). - * docs/Makefile.in: Use htlatex to generate html docs - -2010-02-07 Christoph Junghans (ottxor) - - * configure.in share/Makefile.am src/Makefile.am src/gplt_x11.c - src/variable.c: Configurable X11 application resource path. - Bug #2931287 #219323 - -2010-02-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boxplot_range_fiddling) src/plot2d.c (plot_boxplot): - Make boxplot handling ignore any undefined points in the data set. - -2010-02-06 Ethan A Merritt <merritt@u.washington.edu> - - * NEWS docs/gnuplot.doc src/save.c src/set.c src/show.c src/tables.c - src/tables.h src/term_api.h src/unset.c src/variable.c term/post.trm: - - Revise the search order for PostScript prologue files - 1) directory given by 'set psdir' [new command] - 2) directory given by environmental variable GNUPLOT_PS_DIR - 3) built-in header if present, otherwise default system directory - 4) loadpath [pretty useless, but that's what it did before] - -2010-02-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_boxplot): Fix off-by-one error in calculating - quartile boundaries. - -2010-02-03 Christoph Junghans (ottxor) - - * share/LaTeX/Makefile.am: Fix a logic error in testing the need - to call texhash. - -2010-02-03 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * src/command.c (pause_command): Loop of waitforinput() for "pause -1" - in console mode of Windows. - -2010-02-02 Christoph Junghans (ottxor) - - * configure.in share/LaTeX/Makefile.am: - kpsexpand was used in share/LaTeX/Makefile.am even if it was not - installed. Add --texdir=DIR option to configure - Bug #2934829 - -2010-02-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (test_term): Iniitialize linetype structure before loading - dynamic linetypes. - Bug: points all showed as dots if user linetypes were not defined - - * src/syscfg.h: Attempt to fix build problem under Sun Studio (no - definition for _Bool). - Bug #2915835 - -2010-02-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Fix typo in javascript output. - Bug #2943778 - -2010-02-01 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): Use the default message for Windows - pause dialog. - -2010-01-31 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * src/command.c (pause_command): Fixes for pause on Windows with wxt. - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): Fix for Windows. - -2010-01-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/scanner.c (scanner): There was no scanner rule covering a token - starting with '.'. This caused ambiguity in the interpretation of '.E1'. - Is it a strange representation of 0, or concatenation of a string - variable E1? Resolve this with a new rule that a number with an initial - '.' must continue with a digit. - Bugfix - -2010-01-28 Petr Mikulik <mikulik@physics.muni.cz> - - * src/command.c (pause_command): Fix "pause mouse" for gnuplot.exe on - Windows. - -2010-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * INSTALL: Add section explaining the libreadline problem on OSX. - -2010-01-25 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/wgraph.c (drawgraph pattern_bitmaps): Synchronize fill - patterns of the Windows terminal with other terminals. - -2010-01-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/variable.c (loadpath_handler): Have "show loadpath" also list - the environmental variable GNUPLOT_PS_DIR. - Bug #2933345 - -2010-01-15 Christoph Junghans <ottxor@users.sourceforge.net> - - * configure.in src/Makefile.am demo/Makefile.am.in: - "make check" needs help if we did ./configure --program-suffix=FOO - In this case make a temporary symlink so that 'make check' can find - gnuplot_x11. - Bug #2926141 - -2010-01-12 Alexander Täschner <taschna@users.sourceforge.net> - - * src/win/winmain.c (MyVFPrintF): Microsoft Visual C does not use - va_copy() and va_end(). - -2010-01-12 <ottxor@users.sourceforge.net> - - * configure.in share/Makefile.am: Do not install LaTeX support files - if there is no latex on the system. Add configuration option - --without-latex - Bug #2928310 - -2010-01-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/pdf.trm: Always start a new path with a moveto. - Bug #2930705 - - * src/plot2d.c (eval_plots): In generating points for a function plot, - only x and y were guaranteed to be initialized. Now to be safe we - initialize all fields. - Bug #2930705 - - * src/plot2d.c (store2d_point): steps, fsteps, and histeps were - incorrectly auto-scaling to yhigh (which is really variable color). - Bug #2929314 - -2010-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/plotstyles.gnu demo/boxplot.dem - src/datafile.c src/gadgets.c src/gadgets.h src/gp_types.h - src/graph3d.c src/graphics.c src/plot2d.c src/save.c - src/set.c src/show.c src/tables.c src/tables.h src/unset.c: - - New plot style "with boxplot" and corresponding "set style boxplot". - -2010-01-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync Japanese documentation to gnuplot.doc rev 1.595 - -2010-01-10 <ottxor@users.sourceforge.net> - - * share/Makefile.am: Do not install x11 appdefaults file if no - X11 support is selected. Bug #2928271 - -2010-01-06 Alexander Täschner <taschna@users.sourceforge.net> - - * config/config.nt src/datafile.c src/eval.c src/plot.c src/stdfn.c - src/stdfn.h: Define a generic function not_a_number() in which we can - hide platform-specific implementations. Add a support for initializing - NaN and GPVAL_NaN on Windows. - Bug #2925544 - -2010-01-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Further revision to maintain the old - behaviour of the string variables demo. The demo uses a very unusual - method to read time strings from the input file, but let's not break - it unless necessary. - -2010-01-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Time format "%s" should be able to - handle any numeric input. Convert input of the form 'using ($1)' or - 'using (f($1))' to a string so that it can be passed to gstrptime(). - Bug #2899511 - -2010-01-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/PostScript/prologue.ps term/PostScript/prologues.h: - Update version in PostScript headers. - Define a user-configurable flag SuppressPDFMark. - - * term/post.trm: Re-arrange stuff in the prolog so that users can either - set SuppressPDFMark to true in an individual file or make a permanent - change by setting it in the shared prolog file. - -2009-12-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/gadgets.c src/gadgets.h src/graph3d.c src/graphics.c - src/misc.c src/plot2d.c src/plot3d.c src/set.c src/show.c src/tables.c - src/tables.h src/term_api.h src/term.c src/unset.c src/util3d.c - demo/tango_colors.gp docs/gnuplot.doc: - - Allow the user to redefine the properties of basic linetypes. - The redefinitions are persistent; i.e. they are not affected by "reset". - The command options are identical to those for "set style line". - New command: - set linetype N {various line properties} - set linetype cycle M - - The new line colors and widths can be set to cycle after going through - M linetypes. E.g. for M=8, the color of linetypes 9, 17, 25 ... are the - same as that of linetype 1. - -2009-12-30 Peter Kalinin <pkalinin@users.sourceforge.net> - - * term/metapost.trm (MP_options): - The metapost terminal sets the line thickness for plots via drawoptions, - then uses 'draw GPtext ...' to place the text. The draw inherits options - from drawoptions, which results in altered thicknesses of lines. - Replace 'draw GPtext' with 'addto currentpicture also GPtext'. - -2009-12-30 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: - Monochrome option of win terminal seems to have no effect. - set term win mono - plot x - draws a red line. I think the timing of calling ReadGraphini() is not - correct. This should be done only once on first entry before setting - the terminal options. - -2009-12-30 Thomas Sefzick <thse@users.sourceforge.net> - - * src/graph3d.c: Fix incorrect color assignment of contour lines when - 'set style increment user' is set. - -2009-12-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c (get_data) src/graphics.c (plot_c_bars) - src/tabulate.c (print_table) docs/gnuplot.doc: - - Allow an optional 6th column in CANDLESTICKS style that specifies the - width of each individual candle. - -2009-12-24 Thomas Sefzick <thse@users.sourceforge.net> - - * src/tabulate.c src/time.c: - Support the "%s" format specifier to strftime as per the unix man page. - If the output format string is exactly "%s" then 'output_number()' in - 'src/tabulate.c' returns the number of seconds since the beginning of - the epoch as a number. All other cases ("%s" in combination with any - other character) are treated in 'time.c'. - -2009-12-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate: Fix buffer overflow. - - * configure.in: The cross-compilation patch causes a recursive - definition of CC in docs/Makefile. I have attempted to fix this by - revising the definition of CC_FOR_BUILD, but I don't know if this - will break cross-compilation again. - -2009-12-24 Robert Schwebel <r.schwebel@pengutronix.de> - - * configure.in docs/Makefile.in: - When cross compiling gnuplot, build the documentation generation tools - in docs/ with CC_FOR_BUILD (host compiler), not with the cross compiler. - -2009-12-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/win/wgraph.c (drawgraph: W_line_type): Change initial line - template for LT_BACKGROUND to 0 (lt -1) rather than 1 (lt 0). - Possible fix for bug #1952287 - -2009-12-19 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c, src/command.h, src/misc.c, src/misc.h - (lf_push, lf_pop): Save if-state. - - * src/command.c, src/command.h, src/misc.c, src/misc.h - (lf_push, lf_pop, load_file, do_string): - Refactor duplicate code from load_file() and do_string() into lf_push() - - * misc.h, misc.c: Add field cmdline to LFS to allow correct - deallocation. Check for infinite recursion. - - * src/misc.c (prepare_call, expand_call_args, load_file): - Refactor code related to the call command out of load_file(). - - * src/command.c (history_command): Use do_string() now that it can - detect recursions. - - * command.c, command.h, plot.c: - Remove eval_depth and reset_eval_depth(). The new recursion detection - in lf_push() should supercede this. - -2009-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/tables.h src/tables.c src/show.c src/save.c src/graph3d.h: - Move all the DGRID3D_* options into a shared table. - - * src/set.c: Replace the set_dgrid3d() routine with a version that uses - a shared option table and handles input values contained in variables. - - * docs/gnuplot.doc: bring dgrid3d syntax into line with the code - -2009-12-12 Ethan A Merritt <merritt@u.washington.edu> - - * docs/plotstyles.gnu demo/bldg.png demo/barchart_art.dem Makefile.am.in - New demo showing - a) input of png image using binary filetype=png - b) rescaling rectangular images to act as plot elements - -2009-12-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Tweak auto-placement of plot borders so - that it is closer to what was used prior to version 4.2.4. This makes - the right margin slightly wider than in 4.2.6, and the left margin - slightly narrower. - -2009-12-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm (ENHemf_put_text): Left/right/center justification of - enhanced text was not taking into account the text angle. Now it does. - Bugfix. - - * src/breaders.c (gd_filetype_function): Make load of jpeg or gif image - conditional on support by the installed libgd. - - * src/unset.c (reset_command): Reset options to plot style filledcurve. - Bug #2911203 - -2009-12-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (undefine_command): - 'undefine A* B' should not affect BFOO. - Bugfix. - - * src/internal.c (f_mult): Check for integer overflow when performing - internal integer multiplication. - Bug #2908270 - -2009-12-04 Tatsuro Matsuoka <tmacchant3@yahoo.co.jp> - - * config/makefile.mgw config/makefile.cyg: Create installation - directories $(DESTDIR)/$(GNUPLOT_PS_DIR) $(DESTDIR)/$(GNUPLOT_LUA_DIR) - -2009-12-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_open): The variables that track matrix and binary - data input (df_matrix, df_num_bin_records) must be re-inititialized - for every file. - -2009-12-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_margin): Limit range of set ?margin at screen <foo> - to 0 < foo < 1. - - * src/datafile.c (f_stringcolumn) src/plot2d.c (eval_plots): - Enforce restrictions on which plot types can accept matrix data. - -2009-12-01 Ethan A Merritt <merritt@u.washington.edu> - - * config/makefile.cyg config/makefile.dj2 config/makefile.mgw - config/makefile.os2 src/Makefile.am term/lua.trm term/Makefile.am.in: - Install the script gnuplot-tikz.lua under $pkgdatadir rather than under - $pkglibexecdir. - Fixes build problems under cygwin and mingw. - Thanks to Tatsuro Matsuoka. - - * docs/gnuplot.doc: Provide an example of using 'set palette defined' - to approximate default MATLAB coloring. - Thanks to Mike <mws115@usa.com> - -2009-11-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Remove unused global df_binary. - -2009-11-16 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c (do_string_and_free) src/misc.c (load_file): Fix memory - issues of patch 2009-10-30 (SF Patch #2898455 and Bug #2895620). - -2009-11-16 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Fix support web page URL. - - * src/show.c (show_version): Less info help lines. - -2009-11-14 Philipp K. Janert <janert@ieee.org> - - * src/command.c (undefine_command): Added support for wildcards in - variable names. - - * docs/gnuplot.doc: Associated documentation. - -2009-11-12 Thomas Sefzick <thse@users.sourceforge.net> - - * term/canvas.trm: Fix initialization failure on non-unix platforms. - -2009-11-11 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/gnuplot.doc: Updated introduction. - -2009-11-06 Allin Cottrell <cottrell@wfu.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_convert): Work around a font - problem in the win32 backend for pango/cairo character rendering. - Conditional on WIN32 and libpango > 1.21, request rendering by freetype - rather than win32. Fix suggested by cairo developer Behdad Esfahbod. - -2009-11-04 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c (enhanced_recursion): Replace in-line warnings sent to - stderr by instead calling int_warn(). - -2009-11-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/breader.c: Give df_libgd_get_pixel() a valid return value even - if it's only a dummy function because there is no png support. - -2009-11-01 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.dj2 config/makefile.cyg config/makefile.mgw - config/makefile.nt config/makefile.os2: Added GNUPLOT_JS_DIR. - - * term/canvas.trm (CANVAS_graphics): Fix // vs \ and / for jsdir and - Windows. - -2009-10-31 Petr Mikulik <mikulik@physics.muni.cz> - - * src/show.c (show_version): Fit width of welcome messages into 80 - characters. - -2009-10-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.h src/util.h: Tell gcc that routines bail_to_command_line(), - int_error(), graph_error(), and os_error() do not return. - #ifdef __GNUC__ ... __attribute__((noreturn)); - This avoids spurious warnings about uninitialized variables from - call sites like: - int foo; - if (END_OF_COMMAND || !(foo = try_to_get_string())) - int_error(c_token,"missing string"); - baz = foo; - -2009-10-30 Juergen Wieferink <wieferink@freenet.de> - - * src/command.c, src/command.h (do_string, do_string_and_free): - Use to different functions depending on whether the command string has - to be freed. Don't reset screen_ok. - - * src/command.c, src/command.h (do_string_replot), src/fit.c - (fit_interrupt): Use do_string() instead of do_line(). - - * src/command.c, src/misc.c, src/mouse.c, src/plot.c src/term.c: - Adjust calls to do_string(). - - * src/plot2d.c src/graph3d.c src/gplt_x11.c term/lua.trm term/latex.trm - src/wxterminal/gp_cairo_helpers.c: - Silence gcc -Wall warnings. - - * src/misc.c: Remove latin1 char. - - * term/x11.trm: Silence valgrind warning. - - * demo/vector.dem, demo/fit.dem: Add closing quotes. - -2009-10-30 Petr Mikulik <mikulik@physics.muni.cz> - - * src/win/winmain.c (MyFPrintF MyVFPrintF MyPrintF): Workaround for - vsnprintf(NULL,0,...) returning zero (MingW 3.4). - - * docs/gnuplot.doc: Document "linetype <n>" option of linecolor and - textcolor. - -2009-10-28 Ethan A Merritt <merritt@u.washington.edu> - - * term/luz.trm term/lua/gnuplot-tikz.lua: Remove conditional tests - for gnuplot version 4.3. We're past that now. - -2009-10-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_fillstyle): Repair missing brackets in if/else. - -2009-10-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/axis.c src/term.c: Replace in-line warnings sent - to stderr by instead calling int_warn(); - -2009-10-24 David Marx <itsdmarx@users.sourceforge.net> - - * src/wxterminal/wxt_gui.cpp: The pieces of a concatenated string - literal must be wrapped in wxT() to satisfy the Sun Studio CC compiler. - Bug #2883574 - -2009-10-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c (make_palette): Remove useless warning message. - - * src/internal.c (f_power): Check for integer overflow from i**j and - return a real value (well, actually a complex value) if it is needed. - Bug #2881789 - -2009-10-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): The mechanism for flagging "lc variable" - was not being triggered for plot types VECTOR, CIRCLES, BOXES. - Bug fix - -2009-10-22 David Marx <itsdmarx@users.sourceforge.net> - - * src/wxterminal/wxt_gui.cpp: _T() macro has been deprecated in favor - of wxT(). - Bug #2883574 - -2009-10-18 Ethan A Merritt <merritt@u.washington.edu> - - * VERSION FAQ.pdf src/version.c - config/makefile.mgw configure.in docs/doc2texi.el docs/titlepag.tex - - Bump version of CVS development tree to 4.5 diff --git a/docs/old/ChangeLog.4 b/docs/old/ChangeLog.4 deleted file mode 100644 index 18e5328e7..000000000 --- a/docs/old/ChangeLog.4 +++ /dev/null @@ -1,6315 +0,0 @@ -2014-08-20 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 5.0 (cvs tag -b branch-5-0-stable) - -2014-08-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: Distinct empirical scale factors for - dashlength used by pngcairo, pdfcairo, and wxt. - * term/emf.trm: Scale dashlength with current linewidth. - -2014-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_arrows) src/graph3d.c (place_arrows3d): - Only invoke the arrowheads only code if there really is an arrowhead. - -2014-08-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile (VPATH): Drop $W from VPATH. Necessary to - avoid circular dependency on wgnuplot.mnu - (%.$(O)): Use pattern rule instead of VPATH to build Windows - source files. - (VERSIONING): Avoid inverted logic in makefile conditional. - (console, windows, pipes): Simplify by letting the default rule in - the sub-make handle things. - (default, all): Versioning is really needed by $(TARGET) rule, - so let that handle constructing it. - ($(TARGET)): Do VERSIONING first, drop dependencies on icon files. - (%.o): Use pattern rules to build Qt source files. Much simpler - than spelling it out long hand for every single source file. - -2014-08-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/bf_test.c src/Makefile.am src/binary.* (removed) - config/makefile.os2 config/makefile.dj2 config/makefile.cyg - config/cygwin/Makefile config/mingw/Makefile config/msvc/Makefile: - Remove bf_test dependence on all other gnuplot files and libraries. - This makes binary.c and binary.h superfluous. - Bugs #1412 #1451 - - * src/makefile.all src/makefile.awc: Remove mention of binary.o - - * config/*/Makefile: Remove alloc and binary from bf_test dependencies - - * src/graphics.c (place_objects) src/set.c (set_obj): - Apply default rectangle style at the time of a "set object rect" - command rather than waiting until the rectangle is drawn. This prevents - the default style line/dash settings from overriding explicit rectangle - commands. - Bug #1460 - - * src/save.c (save_linetype): Bugfix - dashtype was being saved only if - there was also a point type. - - * src/gadgets.c (apply_pm3dcolor): Don't clobber current dashtype by - calling term->linetype(LT_BLACK). Call term->set_color(BLACK_COLORSPEC) - instead. - - * src/graphics.c (place_arrows) src/graph3d.c (place_arrows3d): - Force solid lines for arrow heads. - -2014-08-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/gplt_x11.c: For single byte fonts gnuplot_x11 uses a list of - previously used fonts to speed up the search for a new target font. - Now we add an equivalent for multi-byte font search. - -2014-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_rectangle) src/graph3d.c (map3d_position_r) - demo/rectangle.dem: Fix y extent and clipping of rectangles with - negative y coord or inverted axes. - Bug #1462 - -2014-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_buttonpress): Remove extraneous event_reset. - -2014-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_colorspec): Apply user-defined line colors - to text color also. - Bug #1452 - - src/misc.c src/save.c src/set.c src/term.c src/term_api.h: - Store custom dashtype string as a constant length character array - rather than a dynamically allocated string. This fixes memory - leakage that happened whenever a linetype using dashes was discarded. - -2014-08-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_buttonpress): Trap mouse button click on - press rather than on release so that "pause mouse {button1|any}" - takes precedence over a key binding to the mouse button. - Bugfix - -2014-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm: Remove misleading mention of -noevents. This is a - command line option for gnuplot_x11, not for gnuplot itself. - - * src/datafile.c docs/gnuplot.doc demo/heatmaps.dem: - New text input matrix keywords `columnheaders` and `rowheaders`. - These handle reading matrix data from a csv file in which the first - row and/or column contains labels rather than data. - - * src/eval.c (update_plot_bounds): Provide a user-visible copy of - the current terminal scale (oversampling, etc) as GPVAL_TERM_SCALE. - Bug #1291 - -2014-07-28 Allin Cottrell <cottrell@wfu.edu> - - * src/syscfg.h: Report 32/64 bit Windows build in version string - -2014-07-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: Do not pass a linewidth of zero to the - cairo library. The linewidth of LT_AXIS is now set in the core code, - do not further reduce it in gp_cairo_stroke(). - -2014-07-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Scale x11 dashlength with linewidth. - -2014-07-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/mouse.c src/mouse.h src/set.c src/show.c docs/gnuplot.doc: - New command 'set mouse zoomfactors <xfactor>,<yfactor>' - -2014-07-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/plot2d.c (store2d_point): - INRANGE/OUTRANGE refer to points that are inside/outside the plot - boundaries as defined by xrange, yrange, etc. They fail to handle - points that are outside theta range limits given for polar data. - That is, a point may be outside of trange [pi/2:pi] even though it - would lie well inside the plot boundaries if drawn. - Add a new category EXCLUDEDRANGE for such points. - - * src/graphics.c (plot_impulses): Test for EXCLUDEDRANGE data points - so that set trange [theta_min:theta_max] actually does something. - Bug #1439 - - * demo/poldat.dem: Make sure trange includes the whole plot. - -2014-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in: Do not create a symlink to GNUPLOT_X11 in the - build directory during "make check". This was probably intended to - handle the rare case of ./configure --program-suffix=foo but it breaks - the more common case of configuring on a system without x11 support - and then running "make check" twice. - Bugfix - -2014-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/save.c src/set.c src/gadgets.h: - Continue to recognize "set style increment user" even though it has - been deprecated in favor of "set linetype". - Bug #1411 (not really a bug) - -2014-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (check_for_iteration): Fix failure to detect some loop - [start:end:increment] combinations that should be executed only once - or not executed at all. - Bug #1441 - -2014-07-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_dummy): More sanity checks on "set dummy" syntax. - Bug #1442 - -2014-07-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (load_tic_user): "set Xtics ()" should clear the list - of user-specified tics rather than setting tic generation to auto. - -2014-07-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc docs/term-ja.diff docs/gnuplot-ja.doc - man/gnuplot.1 man/gnuplot-ja.1: - Fix typos. Sync Japanese documentation to 1.896 - -2014-07-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: 'q' closes graph window. - - * src/qtterminal/qt_term.cpp (qt_options) term/wxt.trm (wxt_options): - On Windows, the wxt and qt terminals can be used in the same session. - -2014-07-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm, term/wxt.trm: - Always report {no}enhanced property in "show term". - - * src/color.c: If the current terminal has property "monochrome" then - convert all requests for constant color as "black". - Bug #1423 - -2014-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/show.c src/tables.c docs/gnuplot.doc: - New command: set margins <left>, <right>, <top>, <bottom> - acts just like four successive commands set lmargin <left>, ... - - * src/unset.c: unset margins - -2014-06-20 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/wxterminal/wxt_gui.h: The configuration test for - wxWidgets >= 2.8 had no effect on code generation. Remove this test. - - * configure.in src/wxterminal/wxt_gui.h: Revert the attemp to guess - whether -lX11 is required by wxt. As feared, this causes problems on OSX - and other platforms where wx is built on top of something other than X11. - -2014-06-16 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * fit.c: FIT_NITER holds number of iterations used by previous fit. - -2014-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/wxterminal/wxt_gui.h: wxWidgets versions > 2.8 want - the main program to call XInitThreads(), but fail to specify -lX11 in - wxt-config. So we force this ourselves. [=> reverted 2014-06-20] - Bug #1401 - - * src/graphics.c (xtick2d_callback): Clip r axis tics and tic labels to - the bounding box of the plot. - Bug #1290 - -2014-06-15 Dmitri A. Sergatskov <dasergatskov@gmail.com> - - * configure.in: Add LRELEASE for Qt5 autoconfiguration - -2014-06-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c (main): Fix persist mode on Windows when reading - from a pipe. - See Bug #1322 - -2014-06-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/binary.c src/datafile.h src/syscfg.h: LFS support on Windows - for MSVC and MinGW. - See also Patch #675 - -2014-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/boundary.c src/plot2d.c (eval_plots): - Unlike all other axes, log scaling was being applied to the color axis - (cb) in do_plot() rather than in the caller eval_plots(). - This caused "refresh" (as opposed to "replot") to fail. Move the - log-scale correction up to eval_plots() like the other axes. - Bug #1425 - - * src/misc.c (prepare_call): Allow parenthesized expressions as - call parameters. The value is passed as a string. - - * src/command.c (exit_command): New option "exit error 'message'" - prints the message and return to the top command line, breaking out - of any loops or calls cleanly. In non-interactive mode the program - then exits. - -2014-06-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): Fix index error - when trying to stop thread which reads from pipe. - Bug #1426 - -2014-06-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): Do not try to access plot - structure if we were called from fit rather than plot. - Bug #1427 - -2014-06-12 Christoph Bersch <usenet@bersch.net> - - * term/lua.trm term/lua/gnuplot-tikz.lua: - Scale dashlength with linewidth. - -2014-06-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_reset) src/qtterminal/QtGnuplotWindow.{h|cpp}: - Window close events from qt were not being passed through to the main - program, so "pause mouse close" did not work. Also a backgrounded - instance could hang rather than exit when the last plot window closed. - Bug #1418 - - * src/fit.c: Remove spurious test and error message for time data - with only 2 columns in the using spec. - Bug #1424 - - * man/gnuplot.1: update - -2014-06-11 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.trm: Correctly support encoding CP1252. - -2014-06-11 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Include Qt platform DLLs in distribution package. - -2014-06-10 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add a section explaining the "persist" option. - Bug #1418, #1419 - - * term/post.trm term/svg.trm src/qtterminal/qt_term.cpp: - Add an empirical scale factor to the dashlength*linewidth computation to - make the resulting patterns closer in total size to the built-in ones. - -2014-06-10 Christoph Bersch <usenet@bersch.net> - - * term/post.trm term/svg.trm: Scale dashlength with linewidth. - -2014-06-09 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/qtterminal/QtGnuplotWidget.cpp (processEvent): Always "resize" - the initial plot to its own size. This may work around strangeness on - some systems that create the initial qt plot window with the wrong size. - Bug #1417 (forwarded from Debian) Patch #661 - -2014-06-09 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp src/win/wgraph.c src/win/wgnuplib.h - term/win.trm: - Version 5 dashtypes. Custom dashtypes supported by GDI+ driver. - - * src/wxterminal/wxt_gui.cpp: Also "restore" the window state on - "raise". - Bug #1389 - - * src/win/winmain.c (WinMain): Change type from PASCAL to CALLBACK. - - * src/fit.c: Test if covariance matrix is available before saving - it to user variables. - -2014-06-08 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc win/README-Windows.txt win/README-ja.txt - docs/gnuplot-ja.doc: sync to docs version 1.891 - -2014-06-07 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/wxterminal/gp_cairo.c: Scale dashlength with linewidth, similar - to what qt does. - -2014-06-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c src/win/winmain.c|h term/caca.trm: Only if a wxt, caca - or windows terminal window is open, the -persist option is handled by - keeping the main input loop running. This is unfortunate but maybe the - best we can do since we are missing a process fork or detach mechanism. - This avoids a zombie process when no plot windows are open in a - session. For the qt terminal -persist works as on other platforms - since it uses a secondary process. - Bugs #1308, #1335, #1343 - -2014-06-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/show.c src/save.c docs/gnuplot.doc: - The hidden3d code processes the lines making up the plot border using - the same algorithm as it does for the plot elements. This renders - partially occluded borders correctly for actual surfaces but fails to - recognize occlusion for, e.g., 3D histograms drawn with impulses. - New keyword option "set border behind" draws the border lines before - the plot elements even for hidden3d plots. - - * src/term_api.h src/wxterminal/gp_cairo.c src/wxterminal/wxt_gui.cpp: - Change the implementation of greying out inactive keybox entries in wxt - to use a textbox rather than the active area of the key entry. - Bug #1416 - - * src/hidden3d.c (draw_vertex): Handle p_type == PT_CHARACTER. - -2014-06-02 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wgdiplus.cpp: - Grey out key entries when corresponding plot is toggled off. - - * src/win/wgraph.c (GraphUpdateWindowPosSize) src/win/wgnuplib.h - term/win.trm (WIN_options): Immediately apply changes to window - position and size. - Bug #1400 - - * src/datafile.h: Revert the Windows LFS changes for now as - they seem to cause problems on some systems. - -2014-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/gadgets.c src/misc.c src/set.c src/unset.c: - Replace magic numbers with LAYER_{BEHIND|BACK|FRONT}. - - * src/graph3d.c: Remove obsolete (always true) conditional - USE_GRID_LAYERS. Minor clean up for the grid layer logic. - -2014-06-01 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Include gnuplot_qt.exe in installer. - Patch #689 - - * src/qtterminal/gnuplot_qt.cpp: Search for Qt translation files - in gnuplot's installation directory on Windows. - Patch #687 - -2014-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.h: Partial support for LFS on Windows. Currently - mostly useful for 64 bit builds since integers on the the gnuplot - command line are limited to 31bits otherwise. - Patch #675 - -2014-06-01 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Target 'clean' and 'veryclean' include - Qt files, see patch #688. - - * config/mingw/Makefile win/gnuplot.iss: Include RELEASE_NOTES. - Add "qt" as option as default terminal. - -2014-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/cairo.trm: The "header" keyword for epslatex - and related terminals can introduce a string of arbitrary length. - Therefore it is not safe to try to store it in the fixed length - term_options character array. - Bug #1413 - - * term/gd.trm: Limit the stored length of the font so that term_options - cannot overflow. - Bug #1413 - - * Makefile.am RELEASE_NOTES: Include Release Notes in the distribution - package. - - * FAQ.PDF: Update for version 5. - - * src/gplt_x11.c: - Grey out key entries when corresponding plot is toggled off. - -2014-05-29 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * term/caca.trm: Modify nominal codepage to accommodate CJK Windows. - -2014-05-29 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * config/mingw/Makefile: Support compilation of the qt terminal. - Patch #684 - -2014-05-29 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * docs/gnuplot.doc: Improve documentation of `update` command. - Patch #686 - - * src/win/wgdiplus.c src/win/wgraph.c: Change order of pointtypes to - match the sequence in other terminals (cairo, postscript, gd, svg). - Patch #681 - -2014-05-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_points): Handle pointtype PT_CHARACTER. - - * src/plot3d.c: Rearrange the order of testing for plot style options - so that it is not possible to end up with uninitialized font or text - properties. - -2014-05-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Report status DF_UNDEFINED if a data - value evaluates to the constant "NaN", just as if we calculated it on - the fly to be e.g. 1/0. - * src/stats.c: Remove out-of-date comment that incorrectly describes - what happens in this case. - Bug #1408 - -2014-05-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_svg.js term/svg.trm: - Grey out key entries when corresponding plot is toggled off. - - * src/qtterminal/QtGnuplotItems.* src/qtterminal/QtGnuplotScene.cpp: - Grey out key entries when corresponding plot is toggled off. - - * src/wxterminal/wxt_gui.cpp (wxt_grey_out_key_box): - Grey out key entries when corresponding plot is toggled off. - -2014-05-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): Do not wait for an - event when only checking for mouse events. - Bugfix - -2014-05-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c: A width adjustment for the length of the key title - was being applied to every column of entries in the key instead of just - once for the whole key. Apply the "set key {no}enhanced" property to - the key title as well as to the individual plot titles. - Bugfix. - -2014-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.h: Apparently wxWidgets3 (wxgtk3) threads call - into Xlib but fail to initialize X threading before doing so. Therefore - we must call XInitThreads before forking wxt threads. - Bug #1401 - -2014-05-19 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * term/emf.trm: Add point types pentagon (14) and filled pentagon (15) - -2014-05-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (load_linetype): As documented, "set linetype cycle N" - should only affect line properties (color, width, dash), not point - properties (type, interval, size). This got lost somewhere, which - meant point types > linetype_recycle_count were never used by default. - Now they are. This means that, as intended, 'with linespoints' cycles - through (linetype_recycle_count * terminal's_max_point_type) distinct - combinations before repeating so long as those two numbers are - mutually prime. Unfortunately that's not guaranteed and is terminal- - dependent. We really need a "set pointtype cycle M" command also so - that you can choose M to be prime relative to N. - Bugfix. - - * INSTALL docs/gnuplot.doc: Update description of new features. - -2014-05-15 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in PATCHLEVEL src/version.c docs/titlepag.tex: - Bump version information to 5.0.rc1 - - * demo/dashtypes.dem: Avoid irrelevant warning message. - -2014-05-14 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * term/svg.trm src/wxterminal/gp_cairo.c: - Add point types pentagon (14) and filled pentagon (15) - - * src/qtterminal/QtGnuplotItems.cpp: - (EAM) Add point types pentagon (14) and filled pentagon (15) - -2014-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/tables.c src/tables.h: Remove undocumented routine - test_time(). It was never updated to handle sub-second time precision, - and in any case the functionality is now covered adequately by - "print strptime()" and "print strftime()". - - * src/color.c (filled_polygon_3dcoords filled_polygon_zfixed) - src/pm3d.c (filled_color_contour_plot): The option "set pm3d at C" is - undocumented and doesn't work anyhow. Wrap the corresponding code in - #ifdef PM3D_CONTOURS . This disabled code may or may not be useful for - some future implementation of filled contours. - - * term/post.trm (PS_dashtype): Always stroke the previous path before - setting a new dashtype. - -2014-05-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (LOCAL_BUFFER_SIZE): New constant. - (gprintf): Use constant to identify buffer size, instead of typing - the same magic number multiple times. Insert warning about - remaining magic number. - - * src/plot2d.c (get_data): Fix buffer overflow a bit more cleanly. - (compare_boxplot_factors): Insert warning about magic number. - -2014-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): fix buffer overflow - - * src/datafile.c (f_stringcolumn): Return an empty string if asked for - stringcolumn(N) on an empty field of a *.csv file. Otherwise it would - return NULL which may cause a segfault later on. - Bugfix. - - * src/datafile.c (df_readascii): If xticlabels(f(n)) returns a - non-string value then do not generate an axis tic. It used to issue - a warning about illegal string values but generated a tic anyway. - -2014-05-10 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - Re-applied after tracking down conflict. - -2014-05-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: various small corrections - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.887 - -2014-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Do not allow setting terminal size to 0. Bug #1398 - -2014-05-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/lua.trm: Ensure initialization of alpha. - - * src/hidden3d.c (store_polygon): Ensure initialization of v[], - just in case somebody calls this function with an illegal - 'direction' enum value. - - * src/win/wgraph.c (PATTERN_BITMAP_LENGTH): Give name to magic number. - (pattern_bitmaps): Use new name. - - * term/emf.trm (PATTERN_BITMAP_LENGTH): Give name to magic number. - (pattern_bitmaps): Use new name and make const. - (EMF_filled_polygon): Define pattern pointer more locally and make - it point to const. Use named constant in loop. Fix table - underrun. - - * src/win/wgnuplib.c (GetInt): Add some parentheses. - - * src/stats.c (statsrequest): Initialize local data structs, to - avoid warnings about printing uninitialized results. - - * src/readline.c (BACKSPACE): Define as a character constant, not - some hex number. - (readline): Write TAB as character constant, not some hex number. - - * src/interpol.c (gen_interp_frequency): Ensure initialization of - y_total regardless of smooth type. - - * src/plot3d.c (grid_nongrid_data): Ensure initialization of - numpoints. - - * src/pm3d.c (pm3d_plot): Ensure initialiation of gray. - - All the following concern the same problem: Macros from <ctype.h> - cannot safely be called with arguments of type 'char' (because - that may be signed). Such values have to be cast to unsigned char - on passing. - - * src/win/wtext.c (TextPutStr): See above. - - * term/post.trm (PS_load_fontfile): See above. - - * src/win/winmain.c (GetLanguageCode, open_printer): See above. - - * src/util.c (streq): See above. - - * src/term.c (enhanced_recursion): See above. - - * src/scanner.c (legal_identifier, scanner): See above. - - * src/readline.c (backspace): See above. - - * src/plot2d.c (store_label): See above. - - * src/internal.c (f_word): See above. - - * src/gplt_x11.c (exec_cmd): See above. - - * src/eval.c (set_gpval_axis_sth_double): See above. - - * src/datafile.c (df_readascii, plot_option_binary_format): See above. - - * src/command.c (changedir, expand_1level_macros): See above. - - * src/breaders.c (edf_findInHeader): See above. - -2014-05-08 Dima Kogan <dima@secretsauce.net> - - REVERT patch from 2014-04-26 because it broke normal zoom operations. - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - -2014-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE) - src/plot2d.c (store2d_point) src/plot3d.c (get_3ddata) - src/datafile.c (df_readascii) src/tabulate.c: - Revised handling of NaN or Inf in the input data stream. The program - used to set type=undefined for this point but left all the data fields - untouched (i.e. left them containing random garbage). Version 5 fills - in all data fields, including the one[s] containing NaN or Inf. - This means that the output from "set table" matches the input data - whereas before any line marked "u" contained garbage in the data fields. - - Note: For 3D data z=NaN or z=Inf is replaced by z=0. This is needed to - avoid problems with image data. Possibly this special case should be - handled in the image code itself rather than at the input stage. - - * src/plot2d.c (impulse_range_fiddling) src/plot3d.c: Don't extend - range to zero for log-scaled axes. - -2014-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Custom dashtype support. - - * configure.in term/pdf.trm: Modify PDFlib terminal for use with - version 5 dashtypes (but no custom dashtype support). Do not build - by default. - -2014-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/graphics.c (place_objects do_rectangle) - src/misc.c (lp_parse) src/save.c (save_object) src/set.c (set_obj): - Allow object borders to have a full set of line properties including - dashtype. - - * docs/gnuplot.doc: Update documentation to better describe recent - changes. - - * src/qtterminal/QtGnuplotScene.cpp: Always use a solid line to draw - point symbols, even if the current linetype has a dash pattern. - - * term/cairo.trm term/canvas.trm term/post.trm term/svg.trm term/wxt.trm - term/x11.trm src/term.c: Terminals that have been upgraded to version 5 - dash handling should ignore the "dashed/solid" terminal setting. - - * src/plot2d.c (impulse_range_fiddling) src/plot3d.c: Autoscaled plots - "with impulses" should include y=0 (z=0 in 3D) unless log-scaled. - -2014-05-05 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/qtterminal/po/qtgnuplot_ja.ts: Update translations - -2014-05-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/po/qtgnuplot_ja.ts: Update translations. - -2014-05-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile (LDFLAGS2): Add auto-import flag. - ($(TARGET)): Add icon files and Makefile as dependencies. - - * config/config.mgw, config/config.cyg: The set of used / - available configuration macros has changed across the past several - years. - - * src/stdfn.h (sgn): Fix parenthesization of macro. - (PATH_MAX): CLang compiler on Cygwin needs a silly little tweak. - - * src/graphics.c (samesign): Improve parenthesization a bit. - -2014-05-01 Ethan A Merritt <merritt@u.washington.edu> - - * demo/gantt.dem demo/html/*: Add Gantt chart to demo collection. - Add dashtypes to demo collection. - - * src/show.c: Show "fixed" property of arrow style. - -2014-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_timecolumn): Replace the old 1-parameter function - timecolumn(col) with a 2-parameter timecolumn(col,"timeformat"). The - old version had no way to handle time data that didn't correspond to - a coordinate on a plot axis in time format (e.g. set xdata time). - It would segfault if the function appeared in a using spec slot >= 2. - Now we require an explicit format, so data input is dissociated from - any particular axis or time setting. - Bug #1394 - - * src/gplt_x11.c term/x11.trm term/xlib.trm: - Custom dashtype support for X11. - -2014-04-28 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c src/mouse.h src/set.c src/show.c docs/gnuplot.doc: - Remove the distinction between "coordinate format echoed to the screen - during mousing" and "coordinate format saved to the clipboard on click". - This removes the default bindings for hotkeys 3 and 4. - -2014-04-28 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.882 - * docs/gnuplot.doc: typos - -2014-04-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graph3d.c src/save.c src/show.c: Use named - values LAYER_{BEHIND|BACK|FRONT} rather than magic numbers. - - * docs/gnuplot.doc: Add a section documenting the use of layers. - -2014-04-27 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: Fix off-by-one error in selection string. - Allow clipboard contents to be retrieved more than once. - -2014-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_steps): Avoid overflow in clipping code. - ==> Reverted in favor of fixing the clipping code itself. - - * src/gadgets.c (clip_line): It is not safe to use (A*B >= 0) as a - substitute for the test (sign(A) != sign(B)). - It fails when A and B are integers and their product overflows. - Bugs #1390, #1392 See also Bug #1358 - - * src/stdfn.h: Define a sgn() function. - - * src/graphics.c: Use sgn() function to define samesign(). - - * src/mouse.c: No longer need a local definition of sgn(). - -2014-04-26 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - Bug #1380 - [REVERTED 2013-05-08 because it broke normal zoom] - -2014-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Disallow defining "set lt N lt M". - This used to mean "define effective linetype N to be the hidden device - specific linetype M", except that in other contexts it meant "use - effective linetype M rather than effective linetype N". Version 5 - distinguishes between color and dashpatten, so require an explicit - command to set one or both rather than an ambiguous old-style request. - - * src/save.c (save_pm3dcolor save_linetype): Save special linetypes - by keyword rather than a magic number (e.g. lt bgnd rather than -3). - -2014-04-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/misc.c (lp_parse) src/misc.h src/plot2d.c - src/plot3d.c src/set.c: Revise the parameters passed to lp_parse() so - that the legal options can vary depending on the identity of the caller. - - * src/term.c (test_term): Reset to default font after Bold/Italic test. - Bug #1387 - -2014-04-24 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom_scroll_up): Fix typo that causes incorrect - manipulation of y2 axis scale during zoom. - Bug (Patch #647) - -2014-04-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/graph3d.* src/set.c src/show.c src/save.c - docs/gnuplot.doc: Introduce a scale parameter "set view map {scale}" - and set the default size of a plot in this mode to approximately the - same as a default 2D plot. - - * src/command.c (replotrequest): It's now OK to have a range in a - replot command, since it can be applied to the new plot piece only. - - * src/datafile.c (df_readascii): If a read request returns a string - rather than a numerical value, nevertheless fill in the numerical - value as NaN. This is better than leaving some random garbage there - (in practice probably some earlier data value). - Bugfix. - -2014-04-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Support for custom dashtypes. - -2014-04-20 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/po/*.ts: Update translations. - - * src/qtterminal/qt_conversion.cpp: Add new encoding types. - - * src/qtterminal/QtGnuplotEvent.* src/qtterminal/QtGnuplotWindow.cpp - src/qtterminal/qt_term.cpp src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_term.h term/qt.trm term/wxt.trm: new terminal option - "position" that specifies the initial position of the plot window. - Applies to Qt and wxt terminals. Feature request #386. - -2014-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (test_command): When "test" is issued before any plot - command, suppress error messages if the window is resized. - - * term/PostScript/prologue.ps term/PostScript/prologues.h: - Update PostScript prolog for version 5 and regenerate headers. - - * term/post.trm: - Support for custom dashtypes in PostScript output. - -2014-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (set_dashtype): Fix potential buffer overrun; - - * src/misc.c (parse_dashtype): A custom pattern must contain an even - number of entries. - - * demo/dashtypes.dem demo/all.dem: New dashtype demo. - - * src/qtterminal/QtGnuplotEvent.h src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h term/qt.trm: - Support for custom dashtypes and dashlength in qt terminal. - Change implementation of "lt nodraw" from background color to NoPen. - - * src/term.c (enhanced_recursion): Consume only a single space following - the font name in an enhanced text string "{/Fontname text}". - - * docs/gnuplot.doc: Initial documentation for `set dashtype` and - dash properties in version 5. - -2014-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_dashtype) src/save.c (save_dashtype) src/term_api.h - src/term.c (term_apply_lp_properties) demo/dashcolor.dem: - Fix some glitches found while testing custom dashtypes. - - * src/term.c (test_term): Exercise bold/italic. Longer line samples to - make it easier to distinguish dashtypes. Minor layout changes. - - * term/svg.trm: Support for custom dashtypes. - - * src/wxterminal/gp_cairo.* src/wxterminal/wxt_gui.* - src/wxterminal/wxt_term.h term/cairo.trm term/wxt.trm: - Support for custom dashtype in all cairo-based terminals. - -2014-04-14 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (event_buttonpress): Flip direction of horizontal - scrolling to match the convention used by vertical scrolling. - -2014-04-14 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in (AC_FUNC_FSEEKO) src/datafile.h: LFS support part 2. - If possible, use fseeko/ftello to navigate input data files. - -2014-04-13 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in (AC_CHECK_TYPES([off_t])) src/syscfg.h (#define off_t) - src/binary.c src/datafile.c src/datafile.h: Change the declared type - of all variables contributing to calculation of file offsets from (int) - to (off_t). This is sufficient to allow seeking in files > 2GB on 64bit - platforms. It may also allow LFS support on some 32bit platforms if - compiled with -D_FILE_OFFSET_BITS=64 but in general it will also be - necessary to replace fseek/ftell with fseeko/ftello (32bit linux) or - _fseeki64/_ftelli64 (MSVC). - -2014-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_binary_details[]): Handle int64 and uint64 types - even if current platform has sizeof(long) = 4. - Bugfix - -2014-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_linetype) src/misc.c (lp_parse) - src/graphics.c (plot_lines) src/graph3d.c (do_3dplot plot3d_lines) - src/boundary.c (do_key_sample): - - New linetype keyword "nodraw" maps to existing internal value LT_NODRAW. - Apply this in the graphics layer rather than the terminal layer in order - to distinguish between line properties and point properties. - I.e. this draws blue points but no lines: - plot $FOO with linespoints lt nodraw pointtype 6 lc rgb "blue" - - * src/term.c (term_apply_lp_properties): Distinguish between l_type - values that really indicate a linetype (e.g. LT_NODRAW, LT_AXIS) and - those which indicate a dash pattern. Send the former directly to - term->linetype(). Send the latter to term->dashtype(), which may itself - call term->linetype() if there is no private implementation of dashes. - -2014-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (null_dashtype): Ignore custom dashtypes. Pass through - dashtypes > 0 to term->linetype(). Treat negative dashtypes as LT_BLACK. - This should allow terminals without a private dashtype implementation to - continue working as they did before (pre-version 5). - - * src/plot2d.c (eval_plots): Don't call lp_parse if all we want is - a fill color. - - * src/boundary.c (do_key_sample) src/graphics.c (plot_boxes plot_c_bars): - Funnel requests for linetype changes through term_apply_lp_properties(). - - * demo/all.dem: Add varcolor.dem to the test set. - -2014-04-06 Christoph Bersch <usenet@bersch.net> - - * src/graphics.c (fill_between): It is no longer necessary to clip in - this routine because the component quadrilaterals will be clipped later. - -2014-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_table): Name leak. - -2014-04-05 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/vector.dem docs/gnuplot.doc src/command.c src/datablock.c - src/datablock.h src/gadgets.c src/gadgets.h src/plot2d.c src/set.c - src/tabulate.c src/tabulate.h src/unset.c src/util.c src/util.h: - 'set table $datablock' redirects table output to a named data block. - Patch #662 - -2014-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (load_linetype): If a line style is based on a lt < 0 - (LT_NODRAW, LT_BACKGROUND, LT_BLACK, etc), take only the line color. - FIXME: LT_AXIS should also take the dash pattern but that mechanism - isn't fully in place yet. - Bug #1369 - - * src/util.c (value_to_str): Fix error in buffer length accounting. - Bug #1372 - - * src/alloc.c src/alloc.h src/bf_test.c: The conditional code in - alloc.c for tracking memory allocation/free has bit-rotted to a point - where the program segfaults on entry if it is enabled. Since this sort - of accounting is now better done using valgrind it is not worth fixing - the old code. Delete it. - - * src/alloc.c: Although freeing old help messages may free some memory, - entangling the help system with every memory allocation seems excessive. - If we're about to run out of memory there are deeper problems than old - help messages. - - * configure.in: Remove EXPERIMENTAL warning from older options. - - * src/save.c src/set.c src/term.c: Code style / whitespace cleanup - - * src/set.c (set_dashtype) src/misc.c (parse_dashtype): Add comments. - Truncate dashtype string to match size of stored pattern array. - -2014-04-03 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.h (error_ex): Add noreturn attribute to avoid compiler - warnings. - - * src/fit.c: Correct test for invalid covariance matrix. - - * src/util.h (int_error, os_error, graph_error): noreturn attribute - for MSVC. - - * src/wgdiplus.cpp (drawgraph_gdiplus) src/win/wgraph.c (drawgraph): - Test if command list is available. - - * src/win.trm (WIN_update_options) src/win/wmenu.c: Incomplete format - strings. - -2014-04-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c demo/heatmaps.dem docs/gnuplot.doc: - Document and add a demo for "with image pixels" (formerly "failsafe"). - - * src/color.c src/plot3d.c src/pm3d.c src/pm3d.h src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/term.c src/unset.c: - Revise "set pm3d hidden3d <lt>" to match other places where you can - specify line properties. - - Full syntax is now "set hidden3d {no}border {line-properties}" - - Individual line properties can be overridden in the plot command - - Old sytax is accepted as a synonym for "set hidden3d border lc <lt>" - - * demo/transparent_solids.dem docs/gnuplot.doc: - Update documentation and demo to show new syntax - - * src/contour.c (end_crnt_cntr): Initialize blank label in new contour. - -2014-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (test_palette_command): Write the palette colors into - a datablock $PALETTE rather than writing them as in-line data in a temp - file. Simplify the internal command sequence that generates the test - output. TODO: Move the command sequence into a datablock as well. - -2014-03-30 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm: Change codepage from 932 to 437 on Japanese Windows. - Apparently this fixes display problems, although libcaca uses unicode - functions to write to screen. - Bug #1361 - - * src/eval.c src/internal.c|h src/parse.c: Implement f_words instead - of treating it as a special case in the parser. - - * src/command.c src/command.h src/plot.c src/stdfn.h src/syscfg.h - src/win/wgraph.c src/win/winmain.c src/win/wprinter.c: Include file - cleanup. - - * src/win/screenbuf.c: Avoid crashes on memory allocation errors. - - * src/makefile.all src/makefile.awc: Recreate to include multiplot.c. - - * demo/lines_arrows.dem: UTF-8 encoding. - - * config/mingw/Makefile: Fix non-numeric version number due to - patchlevel "alpha". - -2014-03-29 Christoph Bersch <usenet@bersch.net> - - * src/multiplot.h src/multiplot.c demo/layout.dem docs/gnuplot.doc: - New autolayout options for multiplot: - set multiplot layout margins LEFT, RIGHT, BOTTOM, TOP spacing GAP - Patch #611 - -2014-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (multiplot_current_panel) term/svg.trm src/term_api.h: - Hide internal data structure behind an access function. - - * src/multiplot.h src/multiplot.c src/term.c src/term_api.h - src/Makefile.am: Move multiplot layout code from term.c into a new - file multiplot.c. - -2014-03-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.872 - * docs/gnuplot.doc: typos - -2014-03-27 Dima Kogan <dima@secretsauce.net> - - * docs/gnuplot.doc - -2014-03-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_text_wrapper): - Prevent segfault on "set term qt; set multiplot; quit". - -2014-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_objects do_rectangle): When fillcolor for an - objects is given as a linecolor it should be interpreted as referring - to a current linetype. - - * src/command.c: clean up to remove compiler warnings. - - * term/emf.trm: Bold/Italic markup in enhanced text mode - - * src/boundary.c (do_key_sample_point) demo/lines_arrows.dem: - Apply textcolor to character point type in key sample. - -2014-03-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/command.h src/datablock.c src/datablock.h - src/set.c src/show.c src/unset.c docs/gnuplot.doc demo/ellipse.dem - demo/fitmulti.dem demo/gen-random.inc demo/rugplot.dem: - Implement 'set print $datablock' which redirects 'print' output to - an in-memory datablock. - Patch #662 - - * src/setshow.h src/show.c src/util.c src/util.h: Factor out new - routine value_to_str() which returns a string representation of a - struct value from disp_value(). - - * demo/tango_colors.dem: set linetype cycle. - - * docs/plotstyles.gnu: Encoding is utf8. - - * src/win/wcommon.h src/win/wgraph.c: Fix const-ness for - enhanced_recursion(). - - * src/util.c (gprintf): Skip leading zeroes of negative exponents. - -2014-03-22 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/doc2tex.c docs/titlepag.tex: - Update documentation New Features, Changes for version 5. - - * src/plot.c (init_session) src/set.c (set_colorsequence) src/setshow.h - src/show.c src/tables.c src/tables.h src/term_api.h: - New command: - set colorsequence {default | classic | podo} - Built-in command to select one of the linetype color sequences provided - in .../share. The default sequence is visibly changed from the old - red/green/blue ugliness, which should make users immediately aware that - the colors can be customized. - - * src/set.c (set_linestyle): Dash type of newly created linetype should - by solid unless otherwise specified. - - * src/misc.c: Allow `black` as a colorspec or linetype, analogous to - `bgnd`. - -2014-03-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (check_for_iteration next_iteration): - Replace overly clever checks for end condition already satisfied with - one that doesn't fail due to overflow of integer multiplication. - Bug #1358 - - * src/term.c (enhanced_recursion) term/post.trm(ENHPS_OPEN): - The bold/italic support code has revealed a problem with PostScript - output. The core code assumes that passing a blank font name means - "keep the previous font" or at worst "use the default font". post.trm - failed to do this for some command sequences. Fix it in two places. - In term.c pass the previous font if we already know it. - In post.trm fall back to the default rather than place a blank - string in the ouput *.ps file. - Bug #1359 - -2014-03-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c src/term.c src/term_api.h src/util.c src/win/wgraph.c - src/wxterminal/gp_cairo.c term/aquaterm.trm term/pdf.trm term/post.trm - term/pslatex.trm term/svg.trm: Add support for codepage 1252, the - standard Western European encoding on Windows. - - * src/set.c: "set encoding locale" only handles utf8 and sjis. Extend - this to all supported encodings on Windows, probably the only platform - where this is still relevant. - Bug #1270 - - * demo/dashcolor.dem: UTF-8 encoding. - - * src/fit.c (show_results): Do not try to print parameter errors if - the covariance matrix is unavailable or invalid. - -2014-03-20 Thomas Henlich <thenlich@users.sourceforge.net> - - * term/PostScript/cp1252.ps: CP1252 encoding support for PostScript - terminal. Based on Patch #341, but with non-standard characters - removed. - -2014-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: svg was losing the current linetype (i.e. dash type) - between drawing the key sample and drawing the main plot. - -2014-03-19 Bastian Maerkisch <bmaerkisch@web.de> - - * src/stdfn.c src/stdfn.h src/internal.c src/win/winmain.c - src/win/wtext.h config/config.nt: Standard compliant replacements - of snprintf() and vsnprintf() for MSVC. Note that _snprintf does set - errno=ERANGE if the destination buffer is too small. - -2014-03-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Fix parsing error for "with lp pt 'X', ..." - - * src/boundary.c src/boundary.h src/graphics.c: Refactor code that - draws key samples for point plots. - - * configure.in term/gpic.trm src/term.h: - Add configuration option --with-gpic - - * configure.in src/term.h: FrameMaker now allows import of svg, so the - utility of the ancient mif v3 support is dubious. Disable by default. - Add configuration option --with-mif - - * demo/lines_arrows.dem demo/stringvar.dem demo/html/Makefile - demo/html/index.* demo/html/webify.pl: Update demos for version 5. - -2014-03-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/misc.c (parse_dashtype): Avoid warning about assignment used - as a condition value. Some reindentation. - -2014-03-19 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/QtGnuplotItems.h src/qtterminal/qt_term.cpp: - Implement image clipping for the Qt terminal. Fix issue with - unsigned variables in terminal coordinates. Bug #1349 - -2014-03-18 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term.c src/set.c: Fix leaks and invalid reads associated - with dashtype strings. - -2014-03-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: PANGO_WEIGHT_NORMAL is not the same as 0. - - * term/x11.trm: Make the "persist" flag local to x11 and remember - what is was the last time we set the terminal to x11. - Bug #1348 - -2014-03-18 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotEvent.* src/qtterminal/QtGnuplotWindow.cpp - src/qtterminal/QtGnuplotWidget.cpp src/qtterminal/QtGnuplotScene.cpp: - Block events that come from inactive plot widgets. - -2014-03-17 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term_api.h src/misc.c src/misc.h src/save.c src/save.h: - Parse and save dashtype specification in the form of "-_. " or - "(1.0, 0.3, 1.5, 2.0)". In the latter form alternating numbers - specify dash lengths and spaces between them. - - * src/gadgets.c src/gadgets.h: - Added new type custom_dashtype_def and global variable - first_custom_dashtype in preparation of new "set dashtype" command. - - * src/gadgets.h src/misc.c src/set.c src/setshow.h src/show.c - src/tables.c src/tables.h src/term_api.h src/unset.c: - New commands 'set|show|unset dashtype <N> <dashtype_spec>' to - specify permanent, user-defined dashtypes. - - * src/termp_api.h src/term.c src/misc.c: lp_parse() loads dashtype - from the list of user-defined dashtypes if the absence of an explicit - definition. - -2014-03-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/gadgets.c src/gadgets.h src/graphics.c - src/misc.c src/plot2d.c src/set.c src/term_api.h docs/gnuplot.doc - docs/plotstyles.gnu: - New point type that consists of a single character (possibly a - multibyte character). This is particularly useful as - plot $FOO with linespoints pointtype "#" pointinterval -1 - where # is the desired character drawn at each point. - -2014-03-16 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term_api.h src/term.c src/misc.c src/plot2d.c src/plot2d.c - src/set.c src/save.c src/graphics.c src/gadgets.c src/gadgets.h: - Introduce new "dashtype" line property that controls dot/dash - pattern independently. Allow it in "set|show linetype|linestyle", - "plot", etc., display it in "save". - Only numeric "dashtype N" supported for now. - New function dashtype() added to termentry struct, but none of the - terminals use it yet. - - * src/set.c (set_linestyle): Set pm3d_color.type to TC_LT and - pm3d_color.lt to line number by default. This is necessary because - since the use_palette flag was removed, pm3d_color information is - used everywhere, yet, it was not set properly. This resulted, - among others, a broken "show linetype" output with empty "linecolor" - spec. - -2014-03-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (en_minitics_status): Give enum a typedef name, too. - (axis): Use new type for element of AXIS struct, instead of int. - - * src/axis.c (gen_tics): Simplify by using local OO-like "this" - pointer variable. Remove pointless local variable "minifreq". - Treat "minitics" variable as a proper enum everywhere (no - set/compare to zero). - -2014-03-15 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in VERSION PATCHLEVEL share/gnuplotrc src/version.c - demo/html/index.canvas demo/html/index.save demo/html/index.svg - docs/doc2texi.el docs/gnuplot.doc docs/titlepag.tex: - - >>>>> Bump version to 5.0 alpha <<<<< - -2014-03-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (MakeFonts) src/win/wgdiplus.c (SetFont_gdiplus): - Implement boldface and italic markup for enhanced text. The windows - terminal already accepted "Fontface Bold Italic" in font specifiers, - now it also accepts "Fontface:Bold:Italic". - - * win/gnuplot.iss: Include directories share and demo/games in - GNUPLOT_LIB - - * src/fit.c src/fit.h: Always call error_ex() to abort, which now does - the proper memory cleanup. Fixes the (most obvious) memory leaks. - - * src/fit.c (regress): The fit converged if chisq == 0. - - * src/fit.c (regress_finalize): fit did not converge if the covariance - matrix is invalid. - - * src/fit.c (fit_command): Warn about zero initial parameter values. - Help message taken from patch #230 by T. Mattison. - - * src/fit.c src/unset.c: Default to "set fit errorvar" as was the - intent of a change on 2010-05-02. - Feature Request #230 - -2014-03-14 Dieter Ries <dieter.ries@psi.ch> - - * src/qtterminal/QtGnuplotItems.* src/qtterminal/QtGnuplotScene.cpp: - Use the current linewidth to draw point symbols. - -2014-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_parse_string_field): Memory allocation for column - header strings had O(n^2) dependence on the length of the first line. - Replace this with an O(n) scheme. This should also improve performance - when handling string-value data columns in long input lines. - Bug #1355 - - * src/fit.c: The bottleneck in the fitting code was lookup of dummy - variables by name (4x10^9 lookups in fit.dem). All but the first lookup - is unnecessary. Saving a pointer after the first lookup for later - direct access speeds up fit.dem by a factor of 3x. - -2014-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Bugfix for bold/italic. - - * demo/enhanced_utf8.dem: Add bold/italic markup to demo. - - * docs/gnuplot.doc: Add bold/italic examples to the section on - enhanced text. - - * term/js/gnuplot_svg.js: Work around a Firefox bug (incorrect - text length calculation affects alignment of multiline hypertext). - -2014-03-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c src/qtterminal/qt_term.cpp src/wxterminal/gp_cairo.c - src/term_api.h term/svg.trm demo/bolditalic.dem: - - Revised syntax for bold/italic markup of text as per suggestions on - gnuplot-beta list. Rather than the TeX-like \bf and \it it now accepts - {/font=size:Bold:Italic text} - {/font:Bold:Italic=size text} - {/:Bold text_{:/Normal text}} - Tested on wxt, qt, svg, cairo terminals, libgd terminals, and PostScript. - I don't know how it manages to work on libgd or PostScript (I did - not modify the existing code), but suspect that it depends on having - a clever system font manager. Still needed: documentation and support - for more terminals. - - * term/post.trm: Not all "set term post" commands were correctly - defaulting to enhanced text mode. - - * src/plot2d.c src/plot3d.c: Auto-increment point types strictly in - sync with line types. This removes the oddity that automatically - generated point types would not necessarily match the plot number. - -2014-03-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c src/eval.h src/internal.c src/parse.c src/scanner.c - src/internal.h demo/rgba_lines.dem docs/gnuplot.doc: - Bit shifting binary operators << and >>. - - * src/term.c: boldface or italic markup can be in either order. - -2014-03-09 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/arrowstyle.dem: Simplify by using loops and the special - file '+'. - -2014-03-09 Alexander Täschner <taschna@users.sourceforge.net> - - * src/fit.c src/fit.h src/save.c src/setshow.h src/set.c src/show.c - src/unset.c docs/gnuplot.doc: Optionally store final covariance - matrix to user variables named "FIT_COV_a_b", where 'a', 'b' are - parameter names. - Patch #654 - -2014-03-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Add LaTeX-like markup for boldface - and italic in enhanced text mode: - '{\it italic} {/Times=12 \bf boldface}' - The backslash is a bit annoying because in double quotes you need to - escape it: "{\\it italic}". We may want to change it. - - * src/qtterminal/QtGnuplotItems.* src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/qt_term.cpp: Implement boldface and italic markup for - enhanced text. - - * src/wxterminal/gp_cairo.c: Implement boldface and italic markup for - cairo terminals. - -2014-03-08 Christoph Bersch <usenet@bersch.net> - - * src/set.c src/boundary.c: Allow changing textcolor of the timestamp. - -2014-03-08 Alexander Täschner <taschna@users.sourceforge.net> - - * src/fit.c (print_function_definitions): Print a list of function - definitions used by the fit command to fit.log. Limit maximum number - of functions and recursions (changes by BM). - Patch #654 - - * src/fit.c (fit_command): Include name of the parameter file in - error message. - -2014-03-08 Dima Kogan <dima@secretsauce.net> - - * docs/doc2texi.el docs/gpcard.tex: Remove last traces of cgi.trm - - * src/term.c: Print a warning if someone tries to plot while the - terminal type is "unknown". - -2014-03-07 Alexander Täschner <taschna@users.sourceforge.net> - - src/stats.c docs/gnuplot.doc: Add the calculation of the skewness, - the kurtosis, and the standard errors of mean, stddev, skewness, - and kurtosis to the stats command. Change the calculation formula - for the variance to the "corrected two-pass algorithm" to avoid - round-off errors. Re-indent printed output to accommodate the - longer descriptions of the new values. In case values cannot be - calculated set corresponding user variables to NaN and print - "undefined". - Patch #656 - -2014-03-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_color_name) src/set.c (set_palette_defined): - Accept quoted hexadecimal constant as a color name. - E.g. plot $foo linecolor rgb "0xFFAABB" - -2014-03-06 Ethan A Merritt <merritt@u.washington.edu> - - * Makefile.am Makefile.maint aclocal.m4 configure.in docs/Makefile.am - lisp/* README.emacs: - - Bruce Ravel's gnuplot-mode package for emacs is now maintained - elsewhere. Remove the outdated copy (2002 era) from the gnuplot - repository, since it causes more confusion than help for people - wanting to install gnuplot-mode. README.emacs documents the - removal and provides a pointer to the project's own repository. - - * docs/Makefile.am: Include figures in the pdf manual by default. - If you really don't want figures, say `make nofigures pdf`. - -2014-03-04 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: More compact summary of terminal configuration. - - * term/pdf.trm: Fix crash on point size = 0. - - * src/qtterminal/qt_term.cpp: More friendly warning if fonts are - slow to initialize. May only be relevant to OSX + Qt5. - - * src/datafile.c: Allow pseudofile '+' for polar plots. - - * src/scanner.c (get_num): The parser has trouble reading hexadecimal - constants with the top bit set since strtol treats this as an overflow. - Use strtoll instead and mask the result back to 32 bits. - Bug #1344 - - * src/stdfn.h: Provide MSVC alias for strtoll. - -2014-03-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (regress) src/fit.h: Facilitate the inclusion of - alternative minimization algorithms: Move code from regress() - to new functions regress_init(), regress_finalize(), - regress_check_stop(), and fit_progress(). Rename show_fit1() to - show_fit_brief(). - - * docs/gnuplot.doc (stats): Document variables which hold the - errors of linear regression analysis. - - * src/fit.c: Dead code removal. - -2014-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c src/matrix.c src/matrix.h: Dead code removal. - src/plot2d.c: Dead comment removal. - - * configure.in: Build qt terminal by default if either qt5 or qt4 - libraries are detected. - - * docs/Makefile.am: "make dist" should not trigger build of gnuplot.pdf - if it is current (it gets confused by regenerated file pdffigures.tex). - -2014-03-03 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/Makefile.am (DISTCLEANFILES): Clean off timestamp.h for - distcheck. - - * demo/plugin/Makefile.am: New file. - * demo/plugin/Makefile: Dropped. - * configure.in: generate demo/plugin/Makefile in build directory. - -2014-03-02 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotWidget.* src/qtterminal/QtGnuplotWindow.* - src/qtterminal/QtGnuplotSettings.ui: New settings option for displaying - mouse coordinates. Possible choices are Status bar, Tool bar, Inline or - None. - -2014-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in: Fix a typo, but the plugin subdir is still - not being properly created by "make distcheck". - -2014-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c src/axis.c src/parse.c src/parse.h src/internal.c - src/color.c src/boundary.c src/command.c src/contour.c src/datafile.c: - Trivial removal of dead code and old comments. Flag unused parameters. - - * term/js/gnuplot_svg.js: Do not let hypertext box run off the bottom - or right edge of the svg viewBox. - Bug #1340 - -2014-02-28 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.mgw config/mingw/Makefile config/msvc/Makefile: - Build support for plugins. Build demo plugin. - - * config/mingw/Makefile: New target 'maint' to recreate makefile.all. - - * src/makefile.all src/makefile.awc: Recreate to include external.c. - - * src/fit.dem: fit always requires decent initial parameter values. - Never initialize them to zero. - - * src/matrix.c (free_matr): Accept NULL pointers. - -2014-02-28 Alexander Täschner <taschna@users.sourceforge.net> - - * src/fit.c demo/fit.dem: Optionally take errors of independent - variables into account. - Patch #585 - -2014-02-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/command.h src/eval.c src/eval.h src/external.c - src/external.h src/gp_types.h src/Makefile.am src/show.c src/tables.c: - New command `import func(x) from "sharedobject"` extends gnuplot - expression evaluation to allow calling functions exported by an - external shared object (a.k.a. plugins). - - original patch 2002 Stephan Boettcher <boettcher@physik.uni-kiel.de> - - updated for 4.7 2014 Alexander Täschner <taschna@users.sf.net> - - revised syntax and error handling 2014 Ethan A Merritt - - * config/config.nt configure.in demo/Makefile.am.in: - ./configure --disable-plugins [enabled by default] - - * demo/plugin/demo_plugin.c demo/plugin/gnuplot_plugin.h - demo/plugin/Makefile demo/plugin/plugin.dem docs/gnuplot.doc: - Template files demonstrating the creation of custom plugin libraries. - -2014-02-27 Bastian Maerkisch <bmaerkisch@web.de> - - src/fit.c demo/fit.dem docs/gnuplot.doc: New syntax to specify errors. - The new parameter 'errors' accepts a comma separated list of (dummy) - variable names to specify which (in-)dependent variable has associated - errors. 'z' always denotes the indep. variable. 'noerrors' tells fit - to use equal (1) weights for the fit. The new syntax removes the - ambiguity between x:y:z:(1) and x:z:s. The old syntax is still - accepted but deprecated. - Patch #621 - - src/fit.c src/unset.c: Default to prescaling of fit parameters. - -2014-02-26 Bastian Maerkisch <bmaerkisch@web.de> - - src/stats.c: Calculate errors of linear regression parameters. - Results saved to user variables STATS_slope_err and - STATS_intercept_err. - - src/mouse.c (xDateTimeFormat): gmtime() might return NULL for - invalid arguments. - - src/datablock.c (datablock_command): Strip trailing newline character. - -2014-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp(qt_sendFont): Work-around possibly very - slow response to font metrics query on OSX. May only be needed for Qt5. - - * src/qtterminal/qt_term.cpp(qt_connectToServer qt_waitforinput): - If the outboard server gnuplot_qt is killed while gnuplot is connected - to it, it gets restarted with a different server name. Don't waste - time trying to connect to a server with the old name. - -2014-02-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): Avoid unnecessary - timeouts on Windows when only checking for mouse interaction. These - would slow down drawing considerably in some cases. - -2014-02-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp(qt_flushOutBuffer): - Check for valid socket before flushing. - - * configure.in: --with-qt=qt5 forces qt5 even if auto-detection - would otherwise choose qt4. - -2014-02-23 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm: No longer expect the name of the backend driver to be - specified in quotes. Fix some initialization issues found by the VS11 - code analysis tool. - - src/command.c: Fix another case of conditional compilation with - USE_MOUSE on Windows. - - config/mingw/Makefile: gcc's -pipe option seems to speed up - compilation with MinGW considerably. - -2014-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: The interactive terminals wxt, qt, etc, no longer build - correctly if mousing support is not configured. So force mouse support - if any of these terminals are selected during configuration. - -2014-02-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (timed_pause): Fix conditional compilation when - ./configure --disable-mouse - -2014-02-16 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): Safeguard the test - of the return value of MsgWaitForMultipleObjects against accidental - matches when it returns WAIT_FAILED==-1. Disable the recursion test - for now as it seems no longer necessary. - -2014-02-16 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotWidget.*: Correctly handle the size of the - plot window on the first plot and after the plot window has been closed - -2014-02-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_flushOutBuffer): Avoid dead-locking - when no more data is available after flushing the socket. - - * src/win/wpause.c (win_sleep): Handle terminal "mousing" events by - calling term->waitforinput. Fixes mouse interaction for the qt terminal - during pause. - -2014-02-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): Windows - implementation. Instead of using select(), which on Windows only works - on network sockets, we use MsgWaitForMultiple objects to wait for - stdin, console, qt pipe and message queue events. Works for console - mode gnuplot and wgnuplot. In principle this scheme could be used for - all interactive terminals on Windows. Probably we should eventually - replace the individual term->waitforinput routines by a common - WinWaitForInput routine to reduce code duplication. - Patch #645 - -2014-02-14 Thomas Bleher - - * src/qtterminal/qt_term.cpp (ScopeCounter, qt_waitforinput): Avoid - recursion in qt_waitforinput (TERM_ONLY_CHECK_MOUSING) which causes - the routine to incorrectly wait for user input. Applied to Windows - code only at the moment. - Patch #642 - -2014-02-12 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * configure.in src/Makefile.am src/qtterminal/qt_term.cpp - src/qtterminal/qt_term_mac.m: Revert special handling of dock icons - on OSX (2012-06-23). - -2014-02-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_sendFont qt_waitforinput): - If the amount of data available via the socket from gnuplot_qt is too - small to be an event structure, issue an error and continue rather than - spinning futilely. Suggested by Yuriy Kaminskiy <yumkam@gmail.com> - - * src/qtterminal/QtGnuplotScene.cpp: Remove dead code. - -2014-02-12 Bastian Maerkisch <bmaerkisch@web.de> - - * config/msvc/Makefile: cairo/pango terminals can be included in build - without wxt. Support building with Qt5. Build qt files out of tree. - Install gnuplot_qt. Required libraries can be installed in a common - directory tree, referenced by LIBDIR. The individual package references - GDDIR, LUADIR, CACADIR, CAIRODIR, and PDFDIR are now optional. Make - the install target more similar to MinGW installs. - - * src/qtterminal/qt_term.cpp: Add some more checks if the qt object - is actually available. This is needed if some other terminal continues - to send events even though it is no longer active. - - * src/win/winmain.c|h (ConsoleReadCh, stdin_pipe_reader): Extract the - code to read a character from console and mapping it to a gnuplot code - from ConsoleGetCh. Export stdin_pipe_reader. - - * src/win/wtext.c (TextStartEditing, TextStopEditing): Make sure that - calls to ShowCaret/HideCaret are balanced even if called if calls to - these routines are not. - - * src/readline.c (msdos_getch): Handle extended key codes returned - from term->waitforinput. - -2014-02-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_connectToServer): - The timeout parameter in socket.waitForConnected() cannot be used to - wait for an unready socket, as that returns an error immediately. - Rewrite the delay loop using an explicit GP_SLEEP() instead. - Also increase the overall timeout for the retry loop. - -2014-02-09 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotWidget.*: QtGnuplotWidget emits a signal - after a plot is done - -2014-02-04 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/wxterminal/wxt_gui.h: New configure option - --with-wx-single-threaded forces the WXT_MONOTHREADED code option even - if the platform otherwise would default to WXT_MULTITHREADED. - This provides a workaround for reported problems using the wxt terminal - on Haswell CPUs, where apparently gnuplot's use of a mutex to - synchronize communication with the gui can fail badly. - - * term/svg.trm: Remove "horrible kludge" added in 2011 to work around - a bug in Firefox 3.x rendering. Now it is causing more problems than it - solves. - -2014-01-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_tokenise): Fix off-by-one allocation error - affecting cvs files. - Bug #1333 - -2014-01-31 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotScene.* src/qtterminal/QtGnuplotItems.*: - introduce a new QGraphicsItem type that gathers consecutive points, lines - and polygons. It greatly improves the rendering speed of plots with a large - number of these elements by reducing the number of QGraphicsItem that the - scene has to manage. - Patch #651 - -2014-01-30 Jon Gjengset <jon@thesquareplanet.com> - - * src/gp_types.h src/interpol.c src/interpol.h src/plot2d.c - src/tables.c docs/gnuplot.doc: New smoothing option "unwrap" adjusts - input y values by multiples of 2pi so that the difference between two - successive y values is never more than pi. - -2014-01-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (store2d_point parametric_fixup): Fix several problems - with autoscaling of plots in polar mode. One side effect was that the - polar grid lines did not work in parametric plots. - Bug #1323 - -2014-01-29 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.848 - -2014-01-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Horizontal scroll wheel support. - -2014-01-29 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/command.c: Update GPVAL_* variables after a refresh command. - Bug #1327 - - * src/qtterminal/QtGnuplotWidget.* src/qtterminal/QtGnuplotApplication.cpp: - Only show the QtGnuplotWindow after a size event is received from gnuplot. - It avoids a visible fast resize of the window after the first plot command, - and it also avoids that the plot window infrequently sticks to a wrong size. - -2014-01-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (xstrftime): Explicit use of (double) when processing - fractional seconds. - - * src/Makefile.am: Build *.moc and *.qrc files for qt terminal in the - same subdirectory as the *.o files. - - * src/datafile.c: [xyz]ticlabels were losing resolution due to being - passed through a float rather than a double. - - * src/datafile.c: Handle error case of ticlabel function not returning - a string. - -2014-01-26 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/qt_term.cpp: Implement font metric caching. This solves - a flickering issue when a large number of font changes are called (for - example when rotating the world plot in world2.dem). - - * src/qtterminal/QtGnuplotInstance.*: New public function that sends a - command to gnuplot and blocks until it receives the answer. - -2014-01-21 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/qt_term.cpp: Fixed a regression introduced on 2014-01-18 - that caused glitches in font rendering when GE_fontprops events are missed. - -2014-01-18 Bastian Maerkisch <bmaerkisch@web.de> - - * configure.in config/mingw/Makefile config/msvc/Makefile - src/show.c src/term.h src/win/wgnuplib.h src/win/wpause.c - term/caca.trm: New utterly useless, interactive color character art - terminal driver "caca" using libcaca. Supports (RGB) colors, filled - boxes and polygons, images, enhanced and rotated text, boxed labels, - hypertext and mouse interaction. Export to different file formats is - supported. - Patch #605 - -2014-01-18 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/qt_term.cpp: Replace calls to fork and execlp by - the portable QProcess::startDetached function. - - * src/qtterminal/qt_term.cpp: Delegate the font metric calculation to - QtGnuplotScene. This eliminates the need of a QApplication in the main - gnuplot program and thus significantly reduce the initialization time of - the Qt terminal. - - * src/qtterminal/QtGnuplot*: Move the inclusion of gnuplot headers from - QtGnuplotEvent.h to .cpp files. With this, QtGnuplot*.h files can be - included out of the gnuplot tree. - -2014-01-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/help.c: Allocate help file path dynamically. - - * src/qtterminal/QtGnuplotEvent.h src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/qt_term.cpp: Better tracking of current plot number in - the case of multiple passes through a set of plots, e.g. when the key - samples in an opaque key box are drawn in a separate pass. - -2014-01-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (load_file lf_pop): Provide a user-visible copy of the - current line number GPVAL_LINENO when executing commands from a file. - - * src/datafile.c (df_open df_readascii): New keyword "skip" tells the - program to skip lines at the start of an ascii data file. Note this is - different from "every ::N", which skips lines at the start of the data - file but also at the start of each subsequent data block in the file. - -2014-01-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_allzeroaxis set_palette_defined set_clip set_encoding): - Fuzz-testing found improper handling of END_OF_COMMAND cases. - -2014-01-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (link_command): Enforce a consistent linkage state; - we must either have both a forward and a reverse ("via" and "inverse") - function or neither. - Bug #1318 - - * src/plot3d.c (plot3drequest) src/graph3d.c ([x|y]tick_callback): - Support x2 and y2 axis labels in 3D plots ('set view map' mode only). - In order for this to work, the secondary axis must be linked to the - primary axis first ("set link"). - - * src/color.c (draw_inside_color_smooth_*): remove unnecessary parameter - - * src/README -> docs/old/README.internals: - Delete ancient comments on code refactoring circa 2000 - -2014-01-11 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Automatically update version numbers for - installer. - - * src/win/wgraph.c (drawgraph): When drawing to the screen, point - symbols are drawn to a memory bitmap first, which is then copied to - the target device. That way subsequent draws of the same point symbol - just need to copy the bitmap. This speeds up drawing of graphs with - a large number of point symbols. - - * src/win/wgdiplus.cpp (drawgraph_gdiplus): The GDI+ backend uses - the same technique, but was missing a case when to invalidate the - cached bitmap. - - * src/win/wgnuplib.h src/win/wgdiplus.cpp src/win/wgraph.c: Using - MinGW 4.8.1, FontFamily::GenericSansSerif() results in unresolved - externals during linking. This is a bug in MinGW's runtime. - - * src/win/winmain.c: Current version of MinGW does not offer working - version of __argc/__argv, but _argv/_argv. A web search shows that - MinGW-w64 is different. This is a bug in MinGW's runtime. - - * win/gnuplot.iss (MinVersion): Minimum required version of the - installer is XP. - -2014-01-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Fix iteration over parametric function plots. - Bug #1314 - - * src/datafile.c (df_generate_pseudodata): Allow use of '++' pseudofile - to sample the parametric variables U and V in 3D parametric mode. - -2014-01-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/plot2d.c: Only include support for - "thru" if configured with --enable-backwards-compatibility - - * src/datafile.c src/gp_types.h src/graph3d.c src/plot2d.c src/plot3d.c - src/tables.c src/tabulate.c: - - New keyword pair "with table" that bypasses all style-specific input - processing, column restrictions, smoothing, etc. For example: - set table "table.dat" - plot FOO using 1:2:3:4:5:($6+$7):8:9:10 with table - -2014-01-08 Thomas Bleher <tbleher@gmx.de> - - * config/msvc/Makefile: Add configuration option for compiling the qt - terminal on Windows/MSVC. Note that the terminal itself does not work - yet on Windows, but this patch makes it easier to work on fixing that. - -2014-01-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wcommon.h src/win/wgdiplus.cpp|h src/win/wgnuplib.h - src/win/wgraph.c src/win/resourc.h term/win.trm: New (optional) - variant of the windows terminal backend which draws using the GDI+ API - whenever possible. This is much faster in some cases than the old - backend which switches between GDI and GDI+ to support antialiasing - and RGBA colors. Images are drawn using GDI since GDI+ always uses some - sort of interpolation when scaling images. Enhanced text is currently - still drawn using GDI. Adjacent polygons of the same color are merged - in order to avoid "seams" between them caused by antialiasing. See also - Bug #1096. - - * src/term_api.h src/graphics (plot_image_or_update_axes): Wrap - the fallback image output with term->layer() commands using - TERM_LAYER_BEGIN_IMAGE and TERM_LAYER_END_IMAGE. This can be - used by terminals to optimize output. - - * src/win/wgraph.c (drawgraph): Move GDI image drawing code from - drawgraph() to a new routine draw_image(). - - * src/command.c src/fit.c|h src/plot.c|h src/term.c src/win/wgraph.c - src/win/winmain.c src/win/wtext.c term/win.trm: Handle Ctrl-C - asynchronously on Windows (GUI and console mode). This is done by - setting ctrlc_flag and testing it in check_for_mouse_event(). Thus, - scripts etc. can now finally be interrupted by pressing Ctrl-C in - console mode gnuplot or Ctrl-Break in wgnuplot. - - * src/win/winmain.c (ConsoleGetch): Remap Shift-Tab key-code in - console mode, too. - -2014-01-03 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c (clip_polygon): Handle the case of a NULL clipping box, - possible for terminal types that do external clipping (e.g. epslatex). - Bug #1316 - - * src/boundary.c (do_key_sample): Apply requested border around filled - circle or ellipse used as a key sample. - Bug #1315 - -2014-01-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): Allow use of '+' pseudofile - to sample the parametric variable T in 2D parametric mode. - -2014-01-02 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotWidget.* src/qtterminal/QtGnuplotWindow.cpp: - The Qt guidelines state that the "parent" variable should be the last - argument of the contructor of a class derived from QWidget. Revert the - QtGnuplotWidget constructor declaration to respect this rule. Add a second - contructor with a single argument to enable loading from a ui file. - -2014-01-01 Bastian Maerkisch <bmaerkisch@web.de> - - * src/readline.c (readline, ansi_getc) src/win/wtext.c (WndTextProc): - Builtin-readline: Shift-Tab cycles through the list of completions - in reverse direction. - - * src/graphics.c (get_arrow, do_ellipse) src/graph3d.c (get_arrow3d) - src/term.c (do_arc): The aspect ratio of the internal coordinates - of the windows terminal is always one. - Bug #1253 - - * src/win/wtext.c (WndTextProc) src/fit.c (regress): The ctrlc_flag - got clobbered due to a missing break statement. - -2013-12-29 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph) term/win.trm (WIN_filled_polygon): - Rectangular filled polygons are drawn using boxfill. This routine - contained a bug in the allocation of an internal bitmap which prevented - those polygons from being drawn under certain circumstances. The - routine was also sensitive to the order of the corner points. - Bug #1279 - - * unset.c (reset_command): Reinitialize axis labels after copying the - default axis structure. Fixes default text orientation of y- and color- - axes. - -2013-12-28 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Restore the --enable-backwards-compatibility - configuration option and apply it to syntax that has been deprecated but - can still be supported for running old scripts (i.e. scripts that do not - also use recent syntax that would conflict with the deprecated commands). - - * src/datafile.c: backwards compatibility support for "thru" - - * src/set.c src/gadgets.c src/gadgets.h src/save.c src/unset.c: - backwards compatibility support for "set style increment user" - - * src/misc.c src/scanner.c src/command.h: New mechanism for call - arguments (ARG0 ... ARGN) replaces old mechanism ($0 $1 ... $N). - The old method is still available via --enable-backwards-compatibility - - * demo/callargs.dem demo/all.dem docs/gnuplot.doc: docs and demo for - new call argument method - -2013-12-28 Bastian Maerkisch <bmaerkisch@web.de> - - * src/stdfn.c config/mingw/Makefile: Some versions of MinGW are missing - a cexp() implementation. Supply our own. - - * config/mingw/Makefile: Create timestamp.h for non-release builds. - -2013-12-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_call): Repair odd side effect of recent "notitle" - patch. "plot FOO notitle lw (1/2)" contains what looks like an - undefined string function lw(). Explicitly ignore this just as we - would an undefined string variable. - -2013-12-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.840 - -2013-12-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wcommon.h src/win/wgraph.c src/win/winmain.c src/win/wmenu.c - src/win/wprinter.c src/win/wtext.c: No need to have separate code - for win32 and win64 since minimal supported platform is XP. System - headers deal with that already. Also include Allin Cottrell's patch to - the dialog callbacks. The correct return type is indeed INT_PTR. - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Implement - modify_plots() terminal interface. - - * term/win.trm (WIN_layer): Ignore TERM_LAYER_RESET in multiplot - mode. - -2013-12-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/gadgets.c src/gadgets.h src/gp_types.h - src/graph3d.c src/graphics.c src/graphics.h src/mouse.c src/parse.c - src/plot2d.c src/save.c src/save.h src/set.c src/show.c src/tables.c - src/tables.h src/unset.c: - - New plot style "with parallelaxes". - - * configure.in demo/parallel.dem docs/gnuplot.doc docs/plotstyles.gnu: - - Documentation and demo for parallel axis plots. Default configuration - is to support up to 7 parallel axes. This can be increased by editing - MAX_PARALLEL_AXES, but MAX_PARALLEL_AXES must be <= MAX_NUM_VAR. - -2013-12-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/plot2d.c src/tables.c src/interpol.c: - - New smoothing option "mcsplines" - piecewise monotonic cubic splines - calculated using the algorithm of FN Fritsch & RE Carlson (1980), - SIAM Journal on Numerical Analysis 17: 238-246. - -2013-12-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c: Make "title foo ..." and "notitle foo ..." - truly identical in terms of what options they accept. - Bug #1313 - - * configure.in src/axis.h src/command.c src/command.h src/gadgets.c - src/gadgets.h src/mouse.c src/plot2d.c src/plot3d.c src/tables.c: - Remove conditional compilation test from the volatile data code. - -2013-12-22 Erik Olofsen <olofsen@users.sf.net> - - * configure.vms src/command.c src/hidden3d.c src/stdfn.c src/stdfn.h - src/syscfg.h src/term.c src/term.h term/tek.trm: - - Update VMS build support. Tested using HP C V7.1-015 OpenVMS Alpha V8.3 - on an AlphaServer DS10. - -2013-12-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/Makefile.am: automake 1.14 wants an option subdir-objects - * src/set.c (set_zeroaxis): memory leak - * src/unset.c (unset_histogram): memory leak - * src/parse.c (next_iteration): survive clobbered iteration variable - Bug #1312 - -2013-12-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/graph3d.c src/show.c src/set.c src/unset.c - src/save.c: Reduce size of the AXIS structure. - -2013-12-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/gp_hist.h src/history.c src/plot.c src/set.c - src/show.c src/tables.c src/tables.h src/unset.c docs/gnuplot.doc: - - New command `set history` to control history output - Syntax: - set history {size <N>} {quiet|numbers} {full|trim} {default} - - set history size N replaces "set historysize N" - set history size -1 replaces "unset historysize" - set history quiet subsequent `history` commands will not show numbers - set history numbers subsequent `history` commands will show numbers - set history trim [old default] remove duplicate history entries - set history full do not alter list by removing old duplicate entries - set history default equivalent to "set history size 500, numbers, trim" - -2013-12-15 Jyrki Yli-Nokari <jyrkiylinokari@gmail.com> - - * src/bitmap.c configure.in: - Jyrki Yli-Nokari, the original author of the code in bitmap.c, - has agreed to relicense it as dual license (gnuplot + BSD). - This removes a restriction to non-commercial use imposed by the - license terms that appeared in earlier versions of file bitmap.c. - -2013-12-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/history.c src/gp_hist.h docs/gnuplot.doc: - New: "history !N" reexecutes the command at history entry numbered N. - The current entry ("history !...") in the history list is replaced - with the command found by searching. - -2013-12-12 Erik Olofsen <olofsen@users.sf.net> - - * term/tek.trm: New terminal driver "sixel" for old DEC terminals - and printers, emulated by some versions of xterm. - -2013-12-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Simplify tests for libgd support libraries. - - * src/wxterminal/gp_cairo.c src/wxterminal/wxt_gui.*: - Modify vertical centering of enhanced text to match default case. - Bug #1309 - - * term/emf.trm: Invalidate font name at start of each plot. - Bug #1306 - -2013-12-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (key_text): Apply key title font to key entries. - Bug #1309 - - * src/qtterminal/qt_term.cpp (qt_options): qt structure has not yet - been initialized at the time qt_options is first called. - -2013-12-11 Thomas Bleher <tbleher@gmx.de> - - * src/qtterminal/QtGnuplotScene.cpp src/qtterminal/QtGnuplotWidget.* - src/qtterminal/QtGnuplotWindow.*: - - QtGnuplotWidget can be used to embed gnuplot into an existing Qt - application. This patch makes integration easier. - - QtGnuplotWidget gets the parent QWidget pointer as its first parameter - so that QtGnuplotWidget can be loaded from ui files. - - The export functions in QtGnuplotWidget get the target filename from a - parameter, enabling the embedding application to query for the - filename in some other way. - - loadSettings and saveSettings can use a configurable path for their - settings, so different plot windows can have different settings. - -2013-12-11 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm: Support true pattern-fill. Apply global linewidth. - - * src/util.c (gprintf): C compiler in SJIS locale does not like - in-line UTF-8 string constants. - -2013-11-22 Christoph Bersch <usenet@bersch.net> - - * src/axis.h (ALL_AXES = -1) src/unset.c (unset_tics): - unset_tics() requires a defined ENUM parameter. - Bug #1305 - -2013-11-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/embed_example.h: - Support for building qt terminal with either Qt4 or Qt5 - - * src/plot2d.c src/plot3d.c: - Allowed enhanced/noenhanced key word after individual plot titles. - - * src/eval.c src/parse.c docs/gnuplot.doc: - Restore backwards-compatibility by continuing to accept deprecated - function defined(FOO). Remove help entry so that the deprecation - is taken more seriously. - -2013-11-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_set_color) term/gd.trm (PNG_set_color): - Do not change line type just because a color request specifies a - linetype color. - Bugfix. - - * src/qtterminal/QtGnuplotScene.cpp (mouseReleaseEvent): - Revert mouse click timing change of 27-Oct-2013 but add a check for - valid timer status. This greatly reduces the number of spurious events - that are passed through to the main program. - Bug #1300 - -2013-11-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/eval.c src/save.c src/set.c src/show.c: - Replace axis_defaults[index].name with axis_name(index) everywhere. - Currently this is a macro that expands to the same thing, but now - it is ready to be replaced by something more complicated. - - * src/unset.c (unset_tics): Change the flag for unset all to -1. - - * src/set.c (set_range): We already accept "set xrange [*:*] noextend" - as a more intuitive alternative to "set auto xfix". Now we also accept - "set xrange [*:*] extend" to go back to the default behavior. - - * src/save.c (save_range): Due to a typo, the fix/nofix extend/noextend - axis property was not written by the "save" command. - -2013-10-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c (get_3ddata): Pass through Inf and NaN to image code when - the pixel value is presented in column 4. The column 3 (z) case was - already handled. - -2013-10-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c(lp_parse): Fix bug involving color assignment to contours. - Unfortunately this negates a previous fix that allowed explicit surface - colors in a hidden3d plot to implicitly do "set hidden3d offset 0". - - * src/qtterminal/QtGnuplotScene.cpp: gnuplot_qt can handle hotkey 'i' - in persist mode. Revise the timing code for responding to mouse button - press/release (needed for Qt5). - -2013-10-26 Thomas Bleher <tbleher@gmx.de> - - * src/qtterminal/qt_term.cpp: Change the Qt terminal to only create its - data when initialized (to avoid the Static Initialization Order Fiasco) - and to destroy its data in a gnuplot atexit handler. - -2013-10-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii df_readmatrix): If the first field of a - tab-separated csv file was empty, it would be incorrectly ignored when - processing that input line. - Bugfix. - - * src/wxterminal/wxt_gui.cpp: Extend toggling active region in key box - to include enhanced text as well as non-enhanced text. - Bugfix. - -2013-10-25 Thomas Bleher <tbleher@gmx.de> - - * src/stdfn.c(gp_atexit gp_exit) src/stdfn.h src/command.c(exit_command) - src/plot.c(main) src/qtterminal/qt_term.cpp src/win/winmain.c - src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo_helpers.c - src/wxterminal/wxt_gui.cpp term/be.trm term/x11.trm: - - Create gnuplot atexit handlers that are called before exit(3) - - Normal atexit-handlers are called in the reverse order of registration. - This causes problems when a library has its own global destructors which - do not handle the case that objects of the library may still be active - and destroyed in the atexit handler. This has been observed with Qt. - - Introduce a new function gp_exit() which calls the gnuplot atexit handlers - and then calls exit(3). Also create gp_atexit() to register gnuplot exit - handlers. - - * src/getcolor.c (quantize_gray): Windows compile error ("small" is not - accepted as a variable name). - - * config/msvc/Makefile: DEBUG option when compiling with MSVC - -2013-10-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/corgraph.asm src/hrcgraph.asm src/pcgraph.asm src/corplot.c: - Remove vestigial files from the era of 16-bit DOS. - - * configure.in term/unixpc.trm src/term.c src/term.h src/syscfg.h - src/makefile.all src/makefile.awc config/makefile.* docs/doc2texi.el: - Remove vestigial driver and makefile entries for the AT&T 3b1 "unix pc". - Early M6800-based tiny (256Kb) machine. - -2013-10-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c (main): If commands are being executed interactively - because the user said something like "gnuplot -", then execution should - continue after an error message just as in a normal interactive session. - Bug #1295 - - * src/mouse.c (event_reset) src/term.c (check_for_mouse_events): - Must not send commands to the terminal if it has not yet been - initialized. - - * term/gd.trm src/wxterminal/gp_cairo.c: - Inboard terminal drivers should not write errors to stdout and normally - should not call exit() themselves. - -2013-10-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.h src/set.c src/getcolor.c (quantize_gray): - Change the algorithm used to assign palette colors in the case - set palette defined (...) maxcolors N - where the gradient boundaries are unevenly spaced. Previous versions - of quantize_gray() have shown a variety of bad outcomes. This version - has fewer, less ugly, bad outcomes but it is still sensitive to the - choice of maxcolors. Try changing maxcolors by +/- one if the generated - palette is bad. - Bug #1140 and others - - * src/command.c (test_palette_subcommand): The "test palette" command - does not need to zero the current input line, and hasn't needed to since - lf_push/lf_pop were introduced 5 years ago. - -2013-10-18 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.h src/graphics.c src/graphics.h src/save.c src/set.c - demo/all.dem demo/clipobject.dem docs/gnuplot.doc: - New object attribute clip/noclip. "clip" retains the current default, - clip to plot boundary unless one or more vertices are given in screen - coordinates. "noclip" clips to the canvas. - -2013-10-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.830 - -2013-10-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_objects): Make clipping of various objects - more consistent. Clip to graph unless the center or some vertex is - specified in screen coordinates. - - * src/save.c (save_object): "show object N" was incorrectly printing - lines for other objects as well. - -2013-10-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c: DEFAULT_GRID_LP - - * src/plot2d.c: Issue warning if "smooth" option causes columns in the - using spec to be ignored. - - * src/axis.c (gen_tics): Suppress log-scaled mtics and minor grid lines - that would lie on top of the major tic/grid. - Bug #1292 - - * src/pm3d.c: Allow "set pm3d top/bottom" and "set pm3d interpolate N,M" - to be active at the same time. - - * src/unset.c (reset_key): Don't leak memory when resetting key title. - -2013-10-11 Craig DeForest <deforest@boulder.swri.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): - Handle TERM_ONLY_CHECK_MOUSING in the single-threaded code path. - Bug #1293 - -2013-10-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): One code path followed - in the case of piped input to a script with mousing enabled failed to - test for the new TERM_ONLY_CHECK_MOUSING flag. - Bug #1293 - -2013-10-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (gprintf) axis.h: (REVERTED) - -2013-10-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm term/cairo.trm term/canvas.trm term/emf.trm - term/gd.trm term/pdf.trm term/post.trm term/svg.trm term/win.trm - term/wxt.trm term/x11.trm term/qt.trm src/qtterminal/qt_term.cpp: - - Default to enhanced text mode in terminals that support it. - This mode can still be disabled by "set term FOO noenhenced" or - "set termoption noenhanced". - -2013-10-06 Craig DeForest <deforest@boulder.swri.edu> - - * src/axis.h src/util.c (gprintf) docs/gnuplot.doc: - New format specifier %h expands to the same as %g except that the - exponential term, if any, is written using enhanced text or LaTeX markup - to generate "x10^{foo}" rather than "E+foo". The default format for axis - tics is now "% h" ("$%h$" for LaTeX terminals). - -2013-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (expand_1level_macros): Never try to expand an - undefined variable as a macro. - -2013-10-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_steps plot_fsteps plot_histeps): - Replace 350 lines of ad hoc clipping with calls to draw_clip_line. - - * src/gadgets.c src/gadgets.h: There are no longer any external callers - of clip_line(), so make it local to gadgets. - -2013-10-01 Christoph Bersch <usenet@bersch.net> - - * src/plot2d.c (store_label): Plots with labels should accept variable - color both for the label text and for the associated point symbol. - Bug #1281 - -2013-09-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_bars): Draw error bars using draw_clip_line - rather than performing ad hoc clipping on the spot. - Bug #1289 - -2013-09-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/save.c src/set.c src/stdfn.h src/unset.c: - Consolidate axis range flags from two fields into a single field. - - * src/axis.c src/axis.h src/boundary.c src/gadgets.c src/gadgets.h - src/graph3d.c src/graphics.c src/hidden3d.c src/misc.c src/plot2d.c - src/plot3d.c src/pm3d.c src/save.c src/set.c src/show.c src/term_api.h - src/term.c src/util3d.c src/color.c: - - Simplify the historical redundancy of color properties stored in struct - lp_style_type by removing the TBOOLEAN use_palette. FALSE meant generate - color from l_type; TRUE meant take color from t_colorspec pm3d_color. - Now we always use the t_colorspec. This means that l_type refers only - to the dot/dash pattern, not color, so it becomes easier to map it to a - user-visible property "dashtype" in the future. It also has the side - effect of creating a single decision point in apply_pm3dcolor() where - [almost] all color commands are filtered against the current terminal - setting monochrome/color. Before this, colors could slip erroneously - into a "monochrome" plot. Now we limit this to an explicit set of - conditions, currently plots with rgbimage, rgb variable, or certain - user-defined color palettes. That 3rd category is a bit loose and may - need to be more carefully defined. - - * src/axis.c src/axis.h src/set.c src/unset.c: - Dynamically allocate axis->formatstring and axis->timefmt. - -2013-09-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/plot3d.c: plot3d.c is the only user of NEED_PALETTE, - so move it there. - - * src/color.c (set_rgbcolor_var set_rgbcolor_const) src/color.h - src/pm3d.c src/hidden3d.c src/graphics.c src/graph3d.c: - Provide two parallel routines for passing RGB color information to a - terminal. set_rgbcolor_const sets the color immediately. - set_rgbcolor_var flags that this came from a plot with "rgb variable" - and passes it to apply_pm3dcolor for possible additional filtering - (e.g. decide whether to pass it to a monochrome terminal or not). - -2013-09-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (null_set_color) src/term_api.h (TERM_NULL_SET_COLOR) - src/boundary.c src/color.c src/gadgets.c src/graph3d.c src/graphics.c: - Provide a null_set_color() routine to cover all terminals that do not - provide their own term->set_color() routine. This removes the need to - check for term->set_color before trying to call it. It also makes the - behavior of non-RGB terminals more consistent, although still imperfect. - - * src/graph3d.c src/boundary.c: Don't try to use opaque (background) - fill if the terminal does not support RGB colors. - - * src/graph3d.c: Always color contour lines via set_color, even for - terminals that do not support RGB colors. - Bug #1284 - - * src/command.c src/graph3d.c: Set can_pm3d based on TERM_NULL_SET_COLOR - -2013-09-20 Per Persson <persquare@users.sourceforge.net> - - * configure.in m4/apple.m4 src/term.c src/term.h: - Modify configuration tests to look for aquaterm as a framework rather - than as a library. - -2013-09-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h: Initialize histogram_opts to HT_CLUSTERED. - Bug #1285 - - * src/graphics.c (place_grid): Must initialize tic_direction when - drawing r-axis tics. Otherwise we get whatever the last set of - x or y tics used, or if they have not been used then nothing at all. - Bug #1286 - - * src/boundary.c (draw_key) src/graph3d.c (do_3dplot): - If the terminal doesn't support term->set_color() then we can't - background-fill an opaque key box. - -2013-09-17 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm (EMF_point): filled circles (pointtype 7) were - incorrectly being drawn with a black border. - - * src/plot2d.c (polar_range_fiddling): In a polar mode plot, if x, y, - and r are all auto-scaled then prefer a symmetric plot centered at the - orgin with radius rmax over an asymmetric plot produced by treating the - data ranges on x and y independently. - - * src/util.c (equals almost_equals): Additional sanity checking of - c_token on entry. - -2013-09-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/internal.c (f_push) src/parse.c src/parse.h src/command.c: - The routine try_to_get_string() was intended to safely return FALSE if - the current syntax cannot be evaluated as a string. But f_push() - triggered a fatal error if an unrecognized token was encountered during - evaluation. Now it quietly returns NaN and try_to_get_string() returns - FALSE. - - * src/misc.c (prepare_call): When parsing arguments to "call", treat - the next bit of the input line as a string if at all possible. This - includes taking the contents of a string variable or evaluating the - result of a string expression. Only fall back to wrapping each token - in quotes if this fails. This is a CHANGE made in preparation for a - re-implementation of the `call` command argument passing mechanism. - -2013-09-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (clear_udf_list) src/eval.h src/unset.c: Provide a routine - that deletes all currently defined user functions. This is invoked as - part of "reset session". - - * src/plot.c (init_constants) src/plot.h src/unset.c: "reset session" - reinitializes variables NaN and pi since bad user code can clobber them. - -2013-09-11 Christoph Bersch <usenet@bersch.net> - - * src/set.c src/unset.c: Sanity check "set style increment foo" command, - reset to default on "reset" command. - Bug #1282 - -2013-09-09 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm (cairopng_write_cropped_image): Must free cropped image - and the structure that holds it, otherwise there is a memory leak. - Bug #1278 - - * axis.h (TIC_SCALE): tics generated from data (e.g. xticlabels(COL)) - get same size tic marks as major tics. - Bug #1280 - - * pm3d.c (set_plot_with_palette): "tc variable" was incorrectly causing - the color bar to be drawn by default. - - * graphics.c (check_for_variable_color): "lc variable" should index the - line _type_ (not _style_) colors unless "set style increment user". - Bug #1281 - - * plot2d.c (store_label): Same fix for "with labels tc variable". - Bug #1281 - -2013-09-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/misc.c src/misc.h src/plot.c: Clean up code, - remove unused variables, add comments, new parameter to load_file(), - all in preparation for a revision to the "call" mechanism. - - * src/scanner.c (scanner): The syntactic entity $# (number of arguments - in a call statment) has been mishandled as introducing a comment since - sometime in version 4.5. Trap it as a special case in the scanner. - - * src/misc.c src/plot.c: New command line option - "gnuplot -c scriptfile ARG1 ARG2 ... " executes scriptfile using - "call" rather "load" and passes arguments ARG1 ARG2 etc. - This patch leaves the old call argument convention in place - $0 = ARG1, $1 = ARG2, etc, $# = number of arguments - but a future patch series will introduce a more C-like convention - for the arguments. Modified from an original patch by Shige Takeno. - -2013-09-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/color.c src/color.h src/eval.c src/eval.h src/plot.c src/plot.h - src/set.c src/show.c src/unset.c docs/gnuplot.doc: - - - Consolidate code called on program entry and during "reset". - - Group program-defined variables (pi, NaN, GNUTERM) at the start of the - udv list and protect them from deletion. - - New command "reset session" does a reset followed by loading gnuplotrc - and ~/.gnuplot. It also deletes (actually undefines) all user-defined - variables. This puts the program in approximately the same state as it - was on first entry. - - Fixes memory leak; palette functions were reset without being freed. - -2013-09-01 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/mouse.h src/mouse.c src/unset.c (reset_command): - 'reset' command restores default mouse settings, warns on bogus - options, no longer accepts 'x' or similar axis options - -2013-08-28 Christoph Bersch <usenet@bersch.net> - - * src/save.c (save_set_all): Emit a "unset object" command before - saving objects. Bug #1251 - -2013-08-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graphics.h src/plot2d.c src/save.c src/save.h - src/set.c src/show.c src/unset.c docs/gnuplot.doc demo/histograms2.dem: - Accept an explicit title font and text color in "set style histogram" - and "newhistogram" commands. - -2013-08-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/term_api.h term/x11.trm - src/qtterminal//qt_term.cpp src/wxterminal//wxt_gui.cpp: - Peter Juhasz's game demos show that the 1 msec timeout in - term->waitforinput(TERM_ONLY_CHECK_MOUSING) may be a mistake. - This patch #defines it as TERM_EVENT_POLL_TIMEOUT in term_api.h - and sets it to 0 by default. - -2013-08-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm (x11_waitforinput) term/xlib.trm: Handle the case of - input from a file, output to x11, and TERM_ONLY_CHECK_MOUSING. - xlib output should never expect mouse events. - -2013-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: Use more precision when writing out - the axis dimensions and scale at the end of a plot. This prevents - rounding errors in the mouse coordinates reported in -persist mode. - Bug #1276 - -2013-08-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h - src/readline.c src/term_api.h src/term.c src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_term.h term/ggi.trm term/win.trm term/x11.trm - term/README: - - Gnuplot handles mouse events and hotkeys by multiplexing them with - terminal input via the interface term->waitforinput(). That means no - events are handled if the program is not waiting for terminal input, - as in "load", "pause <time>", "eval" or other such commands. - Now we add an option term->waitforinput(TERM_ONLY_CHECK_MOUSING) - that handles mouse events but does not block waiting for terminal - input, and a wrapper routine check_for_mouse_events() that can be - called during "load", "pause", etc. However this patch does not yet - add such calls, so there should not yet be any change in behavior. - - * src/command.c (do_line timed_pause): - This patch adds a call to check_for_mouse_events() in two places. - The call in do_line() is invoked once for each line processed by - load/eval/while and other commands. The timed_pause() routine polls - for events 20 times per second while counting down the time given in a - "pause <time>" command. - - * term/vgagl.trm term/ggi.trm - src/mouse.c (UpdateStatuslineWithMouseSetting): - The ^C interrupt handling code sets term_initialised to FALSE. - The mousing update code was interpreting this as meaning that no mouse - updates were possible. This patch adds internal checks to the only two - drivers that might have a problem and removes the global suppression of - mouse coordinate updates after an interrupt. - -2013-08-23 Petr Mikulik <mikulik@physics.muni.cz> - - * src/term.c (test_term): "test" was not respecting "set origin". - -2013-08-20 Kyle <elconquistador@users.sourceforge.net> - - * src/fit.c (regress): The value of chisq was corrupted in the process - of scaling the parameter errors. This isn't a problem by itself, but a - patch applied in April 2013 introduced a call to show_results() that - passed in the corrupted value. - Bug #1275 - -2013-08-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/tables.c src/tables.h src/unset.c src/axis.c src/show.c - src/save.c docs/gnuplot.doc: Support minor tics on polar axis. - -2013-08-20 Jon Gjengset <jon@thesquareplanet.com> - - * src/term_api.h src/gplt_x11.c src/mouse.c term/x11.trm term/qt.trm - term/wxt.trm term/README src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_term.h src/qtterminal/QtGnuplotEvent.h - src/qtterminal/QtGnuplotScene.cpp src/qtterminal/qt_term.cpp - src/qtterminal/qt_term.h: - Add term->modify_plots() interface (and implementations for wxt, qt and - x11) for applying operations to every plot in a graph. Current use cases - include hiding and showing all plots and inverting plot visibility. - Useful in situations where many sets of data are plotted initially, but - the user only wishes to focus on a few. - -2013-08-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/win/wgraph.c: Must honor TERM_LAYER_RESET. - - * term/x11.trm (X11_layer): ignore TERM_LAYER_RESET in multiplot. - - * src/term.c (term_start_multiplot): Several terminals (qt, wxt, x11) - ignore TERM_LAYER_RESET during multiplot. Thus in order to correctly - initialize the plot structures, the reset must happen before the - multiplot flag is set. Without this change, mouse toggle of - multiplots can trigger an access violation. Bug fix. - -2013-08-16 Allin Cottrell <cottrell@wfu.edu> - - * src/internal.c (GP_MATHERR): 1st part of win64 compatibility patch. - The matherr() mechanism is not used by win64. It's also not used by - current linux but it doesn't hurt to leave it in place for now. - - * src/win/wprinter.c src/win/winmain.c src/win/wtext.c src/win/wmenu.c - src/win/wpause.c src/win/wgraph.c: - 2nd part of win64 compatability patch. All changes are #ifdef _WIN64. - - src/win/wgnuplot.rc src/win/wgnuplot.exe.manifest64: - The file win/wgnuplot.exe.manifest specifies the processorArchitecture - as "X86". For an x86_64 build this must be changed to "amd64" - (or wgnuplot.exe won't start). The manifest file is included by - win/wgnuplot.rc. The modified wgnuplot.rc includes an alternative file - wgnuplot.exe.manifest64 if the symbol _WIN64 is defined. This file - simply substitutes "amd64" for "X86" in two places. - -2013-08-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (update_gpval_variables): Missing GPVAL_* entry - for R_AXIS.max. - -2013-08-12 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/Makefile.maint (version, patchlevel, last_change) - (makefile.all, version.c): Prepare for possible use out-of-tree. - - * src/Makefile.am (timestamp.h): New rule for timestamp.h that - cooperates with automake that should work for non-GNU make and - out-of-tree builds. - (BUILT_SOURCES): Add timestamp.h to be built before anything else. - - * src/Makefile.maint: timestamp.h rule removed again. - - * src/.cvsignore: Ignore timestamp.h and *.o files. - - * src/version.c [DEVELOPMENT_VERSION]: Include new timestamp.h - instead of using fixed time stamp. - - * src/Makefile.maint (version.c): Remove timestamp update - mechanism. - (timestamp.h): Create new, separate header file that only holds - the current timestamp. - -2013-08-09 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * configure.in: Change configuration option from --with-wx-config=PATH - to --with-wx=DIR. The is more consistent both with other gnuplot - configuration options and with the upstream documentation for wx. - -2013-08-09 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/command.c src/command.h src/save.c src/set.c - src/show.c src/tables.c src/unset.c demo/macros.dem: - Remove configuration option for command line macros. - It's cheap. People use it. It doesn't conflict with anything else. - There seems little reason to carry along extra code to disable it. - -2013-08-09 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c src/misc.c src/save.c src/term_api.h src/term.c: - New arrow style option "fixed" disables the re-sizing of arrow heads - for short arrows. - -2013-08-08 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c (draw_clip_polygon): Sometimes the clipping status of - the current point and the line segment it is supposedly the end of do - not match. This probably indicates a bug somewhere else, but in any - case we need to adjust the clipping to match the line segment. - Bug #1268 - - * src/gadgets.c src/misc.c src/save.c src/set.c src/show.c src/term.c - src/term_api.h: New arrow style option "noborder" requests a filled - arrowhead with no line drawn around the outside. This has the effect - of guaranteeing that the tip of the arrow head is exactly on the - coordinate of the end of the vector; otherwise the linewidth of the - border causes the tip to extend beyond this coordinate. - Bug #1109 - - * demo/arrowstyle.dem docs/gnuplot.doc: Document and illustrate. - -2013-08-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c: Add comment noting that axis_position_zeroaxis() must - be called for each axis before plotting in order to set axis->term_zero. - - * src/graphics.c: It is incorrect to skip the initial calls to - axis_draw_2d_zeroaxis even if we know the zero axes will be drawn - again later (e.g. grid is off or front). - Bug #1267 - - * src/datafile.c: Fix segfault if we try to store strlen of a NULL - column header string. - -2013-08-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (pop_or_convert_from_string): Context-dependent - conversion of a string containing a number to an actual number is - documented as evaluating to either an integer or a complex variable as - appropriate. However up to now it has always produced a complex in - practice. Now we really do evaluate to an integer if the string - contains only digits and whitespace. - Bug #1269 - - * src/datafile.c: Generalize the substitution of columnheaders into - a string during evaluation of 'using' or 'title' in a plot command. - This allows inclusion of more than one columnheader into a single - resulting string. - Bug #1271 - - * src/gadgets.c: The annoying crypto-definition of RCSid() at the - top of the file has been wrong since 2000!? - -2013-07-25 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: Make the definition of \gptboxtext and friends - conditional on their not being defined already. This prevents latex - from complaining if multiple gnuplot graphs are included in the same - *.tex document. Another possibility would be to move the definition - into gnuplot.cfg. - Bug #1266 - -2013-07-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.h src/command.c (string_expand_macros do_line) - src/misc.c (load_file): Under some conditions, e.g. inside a multi-line - clause in curly brackets, the input command line can be extended after - it has already been checked for the presence of macros. This caused any - macros in the new part of the input line to be unrecognized. - Now we recheck for macros whenever the input line is extended. - Bug #1264 - -2013-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Allow for the case that pkg-config is needed in order - to find libcerf (which Mojca Miklavec reports is the case on OSX). - - * term/svg.trm: The svg terminal should not rely on 'set fontpath', - which was written and documented to apply only to the postscript - terminal. - -2013-07-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/makefile.all src/makefile.awc: Recreate to include libcerf. - - * demo/cerf.dem: UTF8 encoding - - * docs/gnuplot.doc: HTML table for libcerf functions. - - * config/mingw/Makefile: Build option to use libcerf. - -2013-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/show.c (show_version): Report +LIBCERF in 'show version long'. - - * demo/cerf.dem: Exercise functions imported from libcerf, if present. - -2013-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/specfun.c (f_airy): The implementation of the Airy function - used in 4.6 has poor precision (up to 2% relative error). Replace it - with code from the Cephes library, the source of other routines - already in specfun.c. - - * configure.in docs/gnuplot.doc src/Makefile.am src/eval.c - src/libcerf.c src/libcerf.h src/specfun.c src/specfun.h: - - The MIT-licensed libcerf library provides a set of special functions - related to the complex error function cerf(z). If it is found during - ./configure, we compile user-callable wrappers for the routines - Complex error function - cerf(z) = 2/sqrt(pi) * int[0,z] exp(-t^2) dt - Complex Dawson's Integral - cdawson(z) = exp(-z^2) int[0,z] exp(t^2) dt - = sqrt(pi)/2 * exp(-z^2) * erfi(z) - Imaginary error function (real valued) - erfi(x) = -i * erf(i * x) - Faddeeva rescaled complex error function (Abramowitz & Stegun 7.1.3) - faddeeva(z) = w(z) = exp(-z^2) * erfc(-i*z) - Voigt Profile - VP(x, sigma, gamma) = integral G(t;sigma) L(x-t;gamma) dt - corresponding to convolution of - Gaussian - G(x;sigma) = 1/sqrt(2*pi)/|sigma| * exp(-x^2/2/sigma^2) - with Lorentzian - L(x;gamma) = |gamma| / pi / ( x^2 + gamma^2 ) - The libcerf routine re_w_of_z(x,y) is used to provide a higher accuracy - version of voigt(x,y). - -2013-07-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (luma_from_color): New function. - - * src/win/wgraph.c: Avoid unnecessary tracking of text size for - non-boxed text. - - * src/win/wtext.c: Accept Ctrl-C to copy to clipboard. Fix index out - of range error if text selection extends beyond the end of line. - - * config/cygwin/Makefile config/msvc/Makefile config/mingw/Makefile - config/watcom/Makefile win/gnuplot.iss: All Windows binaries now - support some sort of pipes. Consequently remove pgnuplot from - default build and installation. - -2013-07-05 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/tgif.trm: Reduce the point size by 50% to match other terminals. - Use the generic do_arrow() routine. - -2013-07-05 Dima Kogan <dima@secretsauce.net> - - * configure.in: Test for incomplete installation of wxWidgets - development environment. - -2013-07-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/term_api.h term/cairo.trm term/pslatex.trm: - Boxed text support for epslatex and cairolatex terminals. - - * docs/Makefile.am: --without-lisp-files should also control whether - or not gnuplot-eldoc.el and gnuplot-eldoc.elc are installed. - -2013-07-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/README.ja docs/term-ja.diff: Update Japanese help texts. - -2013-07-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/time.c (gstrptime): Beware of time in seconds specified as an - exponential; e.g. 123.456e7 seconds does not end in 456 usec. - - * src/graph3d.c: Better fix for Bug #1252, inverted parallel axis labels - -2013-07-02 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/command.c src/plot.c src/plot.h src/variable.c: - Remove obsolete instances of #ifdef (_Macintosh) - -2013-07-02 Ulrich Müller <ulimueller@users.sf.net> - - * docs/doc2texi.el: Provide a substitute for the lisp routine - replace-regexp-in-string, which is missing in xemacs prior to version - 25.1.something. - - * docs/Makefile.am: Modify build commands for gnuplot.texi so that - xemacs and newer emacs (25.1) are happy. - - * docs/doc2texi.el: Map terminal HELP sections to level 3 (subsection) - and level 4 (subsubsection) rather than levels 4 and 5. - Bug #1226 - -2013-07-02 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc: Sync translation to version 1.810 - * docs/gnuplot.doc: Fix typos. - Correct the documentation for the order of elements in a binary matrix - or ascii nonuniform matrix. - Bug #1248 - -2013-07-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/Makefile.am: Drop original PC assembly files from the source - tarball (corgraph.asm header.mac hrcgraph.asm pcgraph.asm lineproc.mac) - - * src/hidden3d.c src/contour.c src/gplt_x11.c src/qtterminal/qt_term.cpp - term/cairo.trm: Reduce the number of annoying compiler warnings. - - * src/datafile.c (plot_ticlabel_using): Explicit error message if - required parentheses are missing from using spec. - Bug #1256 - - * src/command.c (print_command): Print \n after each line of a datablock - - * src/time.c (gstrptime): Pass through fractional seconds read with - time format "%s". - -2013-06-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/set.c src/unset.c src/show.c src/save.c - docs/gnuplot.doc: Extend "set tics scale" to control the size of tics - at levels 2 and above. - -2013-06-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw3d_graphbox): "set [xy]label rotate parallel" - is affected by the direction of the complementary axis. - Bug #1252 - -2013-06-29 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/axis.h src/axis.c src/graphics.c src/graph3d.c src/color.c - doc/gnuplot.doc: - Allow minor tic levels 2 or higher to have labels. - -2013-06-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (load_file): Expand macros up to 3 levels deep when - stepping through a "load" operation. This matches the depth allowed - for use at the top level command line. - Bug #1246 - -2013-06-28 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c(clip_polygon): Use a temporary copy of the input - vertices rather than overwriting them during clipping. - Bug #1255 - -2013-06-28 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotScene.cpp: Fixed the text transformation - origin. - -2013-06-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/hidden3d.c src/hidden3d.h demo/contours.dem: - Apply hidden3d processing to contour labels. - - * src/datafile.h src/fit.c src/show.c demo/fitmulti.dem - docs/gnuplot.doc: Increase the number of independent parameters - (dimensions) handled by "fit" from 5 to MAX_NUM_VAR, which is currently - 12. MAXDATACOLS is correspondingly increased to MAX_NUM_VAR+2 = 14. - NB: Only the first 2 dimensions, "x" and "y" by default, use the axis - structures. So calling 'set xrange' or 'set yrange' can affect the - fit by limiting the range of coordinates that are accepted, just as - with previous versions. However, there is no connection between - independent parameters 3, 4, ... and any axis ranges or structures. - Therefore time data can be given for the first and second dimensions - but not for any additional dimensions. - -2013-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Bug fix for contour line colors. If the base linetypes - have no color assigned (i.e. "set linetype" has never been done), then - we must explicitly set use_palette in order to generate color from the - line type. Since the hidden3d code currently uses the linetype itself - rather than the value in TC_LT, we set a new linetype also - (bug fix from Don Tabor). - -2013-06-24 Bastian Maerkisch <bmaerkisch@web.de> - - * config/makefile.cyg config/cygwin/Makefile config/mingw/Makefile - config/msvc/Makefile config/watcom/Makefile: Define WINDOWS_NO_GUI - when building text mode tools instead of undefining _Windows. - -2013-06-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/syscfg.h src/win/wgraph.c src/win/winmain.c src/win/wmenu.c - src/win/wtext.c: Move definition of flags for windows.h. Minimal - required platform is still Windows XP. - - * src/fit.c (is_empty, get_next_word): Accept '\r' as end-of-line - character of parameter files. Necessary since files are now always - opened in binary mode on Windows, see change on 2013-06-02. - -2013-06-22 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/context.trm: Explicitly disable color in standalone ConTeXt - documents when monochrome option is chosen. - -2013-06-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c src/gadgets.h src/graph3d.c src/set.c src/show.c - src/unset.c src/tables.c src/tables.h: Dynamic allocation of key title. - Deprecate undocumented commands "set|show|unset keytitle". - Redirect "set keytitle foo" to "set key title foo". - -2013-06-18 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/datafile.c (plot_option_every): Treat negative numbers as - indicating "default value". - -2013-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Replace call to deprecated XKeycodeToKeysym with a - call to XkbKeycodeToKeysym. This introduces a dependence on the XKB - extension but it's not clear there is any alternative. - -2013-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/fit.c: Use dummy variable names from `set dummy` in preference - to the default sequence x y t u v z. - Do not ask df_readline() to process more columns than necessary. - - * src/datafile.c: Replace an assertion (MAXDATACOLS == 7) with the - specifically relevant test (<number of requested format terms> <= 7). - I.e. the limit is due to applying a fixed format statement to the - current request for data, not from a cap on the number of columns - that might hypothetically be requested. Similarly replace assertion - (max_using <= MAXDATACOLS) with a check for whether the limit is - actually exceeded by the current using spec. - - * demo/fitmulti.dem: Include a test script written by Hanno Hoffstadt - that exercises multidimensional fitting. The fit routine currently - handles up to 5 independent dimensions, but the script tries up to six. - It incidentally exercises the `set dummy` command and `while {...}`. - - * src/show.c (show_fit): Report previous 'fit' command. - - * src/datafile.c (df_tokenise): Get rid of erroneous test against - axis_array[foo].timefmt (always evaluates as TRUE). - -2013-06-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: More complete autoconfigure tests for qt5. - - * src/save.c (save_dummy) src/set.c (set_dummy) src/show.c - src/unset.c (unset_dumm) docs/gnuplot.doc demo/fit.dem: - "fit" can use more dummy variable names than plot or splot, but these - were not being shown/reset/saved. Document "unset dummy". - Now we handle the full set of possible dummy variables (MAX_NUM_VAR). - -2013-06-11 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgnuplib.h src/win/wgraph.c term/win.trm: Support boxed - labels. Includes support for rotated text. - - * src/win/wgdiplus.cpp (gdiplusPolylineEx): Properly close polygons - by using DrawPolygon if the first and last point of the polyline are - equal. - - * src/win/wgraph.c: Tweak layer support. - -2013-06-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/show.c src/unset.c: show/unset individual datafile options. - - * docs/gnuplot.doc src/specfun.c: Documentation shows incorrect sign - in the exponent of the Voigt function. - - * docs/gnuplot.doc: typos - -2013-06-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (fit_command): Log file contained the wrong variable name - for axis restrictions. Reported by Victor Slabinski on gnuplot-bugs. - - * src/fit.c: Make Ctrl-C interrupt fits in Windows console mode gnuplot - again. - -2013-06-05 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in: Allow building against either Qt4 or Qt5. - ./configure --with-qt # Try Qt5 first, fall back to Qt4 - ./configure --with-qt=qt4 # Prefer Qt4 to Qt5 even if present - Note: On my machine use of Qt5 also requires compiler option -fPIC, but - I have not added this to configure.in. - - * src/qtterminal/{qt_term.cpp QtGnuplotWindow.h QtGnuplotWidget.cpp - QtGnuplotWidget.h}: Trivial changes to #include statements required by - Qt4->Qt5 module organization. - QString::toAscii is deprecated. Use toUtf8 or toLatin1 as appropriate. - - * src/qtterminal/QtGnuplotScene.cpp (processEvent positionText): - Older APIs for transformations (rotate/translate/scale) have been removed - in Qt5. The new ones seem to work OK in 4.6 also, so I have replaced the - old ones unconditionally. If this causes problems we could choose old or - new based on QT_VERSION. - - * src/scanner.c src/util.c src/util.h: Allow UTF8 identifiers. - - * src/internal.c (f_range): Allow "string"[x:x] where x is real rather - than int. This makes it more convenient to use column data as an index. - -2013-06-02 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wprinter.c (PrintDlgProc): Safeguard against unavailable - printer info. - Bug 1152. - - * src/win/wprinter.c (DumpPrinter): Make this similar to the code in - CopyPrint (wgraph.c) which is supposed to work more reliably. - - * src/win/wgraph.c (SaveAsEMF, CopyClip): Turn off antialiasing during - export to EMF or clipboard in order not to mix GDI and GDI+ calls. See - also change on 2012-07-24. - - * src/misc.c (loadpath_fopen): Always open files in binary mode on - Windows. If this should happen to cause side effects for text inline - data, there should still be enough time to correct those before the next - release. - Bug #880. - - * src/win/wredirect.cpp src/win/winmain.c src/win/wtext.h - config/mingw/Makefile config/msvc/Makefile: Redirect C++ cout and cerr - to Windows text window. - - * src/fit.c (analyze) src/matrix.c|h (sumsq_vec): Use the Neumaier - variant of the Kahan and Babuska algorithm to sum up the chisq in order - to reduce rounding errors. - -2013-05-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_sigint_handler): The wxt terminal - deadlocks if connection to the X-server is lost (Bug #991). Ctrl-C - doesn't break the deadlock because this interrupt handler simply flags - the signal and waits for the parent process to handle it. Parent and - child are thus waiting on each other -> deadlock. Now we add a test - for Ctrl-C arriving when the Ctrl-C flag is already set, and exit if - it happens. Thus hitting Ctrl-C twice breaks the deadlock. - Not great but better than hanging. - Bug #991. - - * src/plot3d.c: If a surface plot or contour is requested using a funky - style (histogram? errorbars?) print a warning and then ignore it rather - than plotting with style "points". - - * docs/titlepag.tex docs/plotstyles.gnu docs/gnuplot.doc: - Add a sample figure illustrating use of `with labels` to define a set - of point types as character glyphs and then select which one is used - based on column data. - - * docs/doc2tex.c docs/gnuplot.doc: - Tweak page layout of the document produced by 'make pdffigures'. - -2013-05-27 Thomas Mattison <mattison <at> phas.ubc.ca> - - * src/fit.c (regress): Update all user variables after the fit converges - or aborts in order to always return the "best" set. Patchset #230. - -2013-05-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (update): Replace splitpath() by a call to gp_basename(). - Avoid potentially invalid access dicovered by Ethan with the help of - valgrind. - - * src/fit.c (show_fit1): Use fputs instead of fprintf when no formatting - is done. - -2013-05-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): Treating timedata columns as strings allows - functions column(N) and column("HEADER") to work on time data. - Bug #1161 - - * src/graphics.c: Fix two errors in the linetypes used by plot style - columnstacked histograms. The key sample ignored "newhist lt N" and - also was off by one in the fillstyle used. "set style increment user" - caused an off-by-one error in the choice of initial line style. - -2013-05-22 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c(draw_clip_polygon) src/term.c(do_arc): - Fix polygon clipping code when intersections are degenerate. - Bugs #1237 #1242 - -2013-05-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/stdfn.c (gp_strtod): - The code that skips leading whitespace in a data file must match the - behaviour of strtod(), implicitly the same as isspace(). - It is not sufficient to skip space and tab, we must also skip embedded - \r \v and so on. This same problem would hit the private implementation - gp_strtod(), which fortunately is never used. So just get rid of it. - Bug #1243 - -2013-05-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/README src/wxterminal/gp_cairo.c src/qtterminal/QtGnuplotScene.cpp - Clarify comments about use of term->boxed_text(). - Tweak the bounding box used for regular text in Qt to agree better with - the bounding box used for enhanced text. - - * src/gadgets.c src/qtterminal/QtGnuplotScene.cpp src/term_api.h - src/wxterminal/gp_cairo.c term/README term/cairo.trm term/gd.trm - term/post.trm term/svg.trm term/x11.trm: Define an enum TEXTBOX_* for - the options parameter to term->boxed_text(). - -2013-05-20 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm: It doesn't work to call EMF_setfont() before we - enter graphics state. Bugfix. - -2013-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/gadgets.c src/gadgets.h src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/term_api.h src/unset.c - docs/gnuplot.doc: - - New text label attribute `boxed`. The appearance of boxed labels is - controlled by a new command - set style textbox {opaque|transparent} {{no}border} - The style options are applied both to individual labels (`set label`) - and labels generated by a plot command (`with labels`). - This patchset dates back to 2005, but at that time so few terminals - could support it (gd, post, x11) that it did not seem worth applying. - Now we can support Qt and the full range of cairo-based terminals. - It should be possible to add support for the win and canvas terminals - as well. I am not certain about svg or the various latex terminals. - - * term/README term/gd.trm term/post.trm term/PostScript/prologue.ps: - PostScript and libgd terminal support for boxed text. - - * src/gplt_x11.c term/x11.trm term/xlib.trm: X11 support for boxed text. - - * src/qtterminal/{QtGnuplotEvent.h QtGnuplotScene.cpp QtGnuplotScene.h - qt_term.cpp qt_term.h} term/qt.trm: qt terminal support for boxed text. - - * src/wxterminal{gp_cairo.c gp_cairo.h wxt_gui.cpp wxt_gui.h wxt_term.h} - term/wxt.trm term/cairo.trm: wxt/cairo terminal support for boxed text. - - * term/svg.trm: SVG support for opaque fill behind text. I don't know - how to stroke the bounding box outline, so no support yet for "border". - - * demo/contours.dem demo/datastrings.dem: Illustrate boxed text labels. - -2013-05-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (do_3dplot): For 'set contour; splot ... with labels' - do not generate extra blank lines in the key box. - - * src/show.c: Treat "show cntrlabel" as "show contour". - - * src/plot3d.c (eval_3dplots): Give a more informative error message - on "splot with labels" without a prior "set contour". - - * src/qtterminal/QtGnuplotScene.cpp: Enhanced text elements were not - being added to the current plot group so that they could be toggled. - "center" justification was not being tracked. - - * src/graphics.c (finish_filled_curve): Don't try to process an - empty filled polygon. - -2013-05-18 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/datafile.c (f_column f_stringcolumn): - f_stringcolumn now issues a warning if a named column was not found - in the header, just as f_column does. Additionally, if there is a - partial match, print the name in the warning between double quotes. - -2013-05-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_enhanced_flush): Empirical fix - for y coordinate after save/restore sequence (enhanced text mode '@'). - I'm not convinced this is correct, but it does seem to work in practice. - -2013-05-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h src/plot3d.c src/save.c src/set.c - src/show.c src/unset.c: - - Contour styles other than `with lines` are already supported, although - most styles are treated as either lines or impulses. We now add support - for `set contour; splot ... with labels`, which places contour labels on - the plot itself. Up till now this has been possible only by using an - external script to generate and place labels (label_contours.awk). - - Format and placement options are controlled by a new command - set cntrlabel {start <int>} {interval <int>} {onecolor} - set cntrlabel {format "format-spec"} {font "font-spec"} - `set cntrlabel onecolor` produces the same result as `unset clabel`. - `set cntrlabel format "foo"` similarly replaces `set clabel "foo"`. - The old command `set/unset clabel` is retained but is now deprecated. - Precise layout of the contour labels can be further tweaked by using the - usual label options in the splot command itself. E.g. - splot $FOO with labels textcolor rgb "blue" point offset -1,1 - - Known limitations: The labels are not handled by hidden3d. Setting - large values of samples and/or isosamples can lead to unreasonably - dense labels even if the repeat interval is disabled by setting to 0. - Hypertext contour labels are possible, but are uglified by an - unnecessary point symbol at each anchor position. - - * docs/gnuplot.doc demo/contours.dem: Update to illustrate new command. - -2013-05-14 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c src/unset.c src/show.c src/save.c src/fit.c|h: Long brief - reports can be wrapped using 'set fit wrap <column>'. - - * src/set.c (set_fit): Need to advance to next token after - 'set fit ... default'. - -2013-05-12 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c: Setting of user error variables needs to be done in - regress() since show_results() is not called if 'set fit quiet'. - Bugfix. - -2013-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h src/save.c src/set.c src/show.c - src/tables.c src/tables.h src/unset.c: Preparation for new command - set cntrlabels - -2013-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c: Remove order dependence of hypertext/point type options. - Initialize entire text_label structure when allocated. - -2013-05-09 Thomas Mattison <mattison <at> phas.ubc.ca> - - * src/fit.c|h src/save.c src/show.c src/set.c src/unset.c - docs/gnuplot.doc: New convergence criterion. The new simpler criterion - in regress() is absolute reduction in chisquare for an iteration of less - than epsilon*chisquare plus epsilon_abs (new setting). The default - convergence criterion is thus always relative no matter what the - chisquare is, but users now have the flexibility of adding an absolute - convergence criterion through `set fit limit_abs`. - Patch #230. - -2013-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Pattern-fill support for the canvas terminal. - - * demo/html/webify_canvas.pl: Re-order main loop to avoid trailing - cruft in the output HTML page. Include support for pattern fill. - - * src/datafile.c: Remove use of isblank(), since too many of our - supported platforms are mired back in the pre-C99 era. - - * src/graph3d.c: this_plot->hidden3d_top_linetype is a better start - point for calculating contour linetypes than the apparent plot l_type, - because that may have been overwritten by previous definitions. - This way, splot ... lt N will always get contour linetypes starting - with N+1. - - * src/datafile.c: Valgrind found a case where df_column[foo].position - had never been initialized. Boom. - -2013-05-08 Thomas Mattison <mattison <at> phas.ubc.ca> - - * src/fit.c (marquardt): Zero-change in chisquare is now "BETTER" - rather than "WORSE" to avoid extra iterations which would only - increase lambda. - Patch #230. - - * src/fit.c (call_gnuplot): Print useful info on undefined-function - error. Derived from patchset #230. - - * src/fit.c (fit_command): If the user supplies errors but any of them - are zero, there will be a divide by zero, trashing the fit. Add a check - which prints info about the offending data point before aborting. - Derived from patchset #230. - -2013-05-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (show_fit1): Print asterisk instead of magic number -1 for - iterations which increase the chisquare. - - * src/set.c (set_fit) docs/gnuplot.doc: Options logfile, limit - maxiter, start_lambda, lambda_factor, and script accept setting 'default' - to restore default values or behaviour. Avoid usage of magic constants. - - * src/fit.c|h: Cleanup declarations. - - * src/fit.c|h src/save.c src/set.c src/show.c: The command which can be - executed by fit when it is interrupted can be changed with - `set fit script`. - - * src/fit.c src/stdfun.c|h docs/gnuplot.doc: Print p-value of the fit - according to the chisquare-distribution. Saved to user variable FIT_P. - - * src/fit.c (fit_command): Discard data which contains NaN. Necessary - since df_readline() does not return DF_UNDEFINED in that case. Now - excluding data from the fit works the same for expressions with e.g. 1/0 - and NaN. - - * src/fit.c (pack_float): Do not try to dereference NULL result from - strchr(). - - * src/fit.c (fit_command): New user variable GPVAL_LAST_FIT. - - * src/config/msvc/Makefile: MSVC does not have isblank() so use - isspace() instead. - -2013-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (replotrequest): Do not trust is_3d_plot as an - indicator of whether a replot request should be 2d or 3d; instead - check the command itself to see if it is "splot ..." or "plot ...". - Bug #1235 - - * src/qtterminal/QtGnuplotScene.cpp: fillbox(FS_EMPTY, ...) should - draw in background color, not necessarily white. - - * demo/html/webify_canvas.pl term/canvas.trm term/js/gnuplot_mouse.js: - Do not redraw a plot canvas on mouseover if no intervening plot canvas - has been drawn since the mouse left. This prevents unnecessary redraws - if the mouse leaves and then immediately reenters. - Bug #1220 - -2013-05-05 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c src/gplt_x11.h term/x11.trm: - Previously it was possible for gnuplot to call display() before all - chunks in an image had been received. This resulted in corrupted plots. - Now we block display() calls while in the middle of an image transfer. - Bugfix. - -2013-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (evaluate_at) demo/imageNaN.dem: Remove old hackish code - causing inconsistent treatment of Inf and NaN input values depending on - platform and undefined behaviour of the C compiler. Now both - `using 1:2` and `using 1:($2)` should have the same result, as shown by - revised imageNaN demo. - -2013-05-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (do_arc): The new routine draw_clip_polygon() is not - working correctly here. Revert to the previous explicit loop over - arc segments using draw_clip_line(); - - * src/term.c (term_start_multiplot) docs/gnuplot.doc: - New command "set multiplot next|previous" skips forward or back one - position in a multiplot autolayout grid. I.e. "next" leaves a blank - area instead of a plot, while "prev" would overwrite the plot that - was just drawn. - -2013-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_variables__sub): Ignore datablocks when saving - variables to file. - -2013-04-27 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c src/setshow.h src/show.c: Extend 'update' so that it - does no longer require the parameter file to already exist. Docs - implied this feature since before the start of the CVS. 'fit' now - saves the names of parameters and independent variables and this - info is used by 'update' to create a new parameter file if it does - not exist yet. Bug #1156. - - * src/fit.c (backup_file): Backup files will not get overwritten. - Add error message for that case. - - * src/util.c|h (existfile) src/win/winmain.c: New routine. - -2013-04-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_tokenise): Because the individual lines of an - internal data block ("here data") end in \n rather than \0, the test - for termination of the final field on the line could fail. This led - to attempted memory access beyond the end of the block. - - * src/datafile.c (df_tokenise check_missing): Treat empty fields in - a csv file as "missing" rather than "bad". This allows generating - stacked histogram plots from a csv spreadsheet of sparse data. - - * src/datafile.c (df_tokenise): Since we now test for an unwanted \n - at the end of a line of data, we might as well test for \r also. - That means DOS format *.csv files can be read without conversion. - -2013-04-25 Lars Hecking <lhecking@users.sourceforge.net> - - * Makefile.am docs/Makefile.am man/Makefile.am: Clean up processing - of lisp files gnuplot-gui.elc and gnuplot.elc, packaging of file - figure_missing.pdf. - -2013-04-25 Christoph Bersch <usenet@bersch.net> - - * src/gadgets.c src/gadgets.h src/graphics.c src/term.c: - Implement the Sutherland-Hodgman algorithm for clipping a general - polygon against a rectangular bounding box. Apply this to clip - polygon objects (including circles and ellipses) and arrowheads. - - * src/graphics.c (plot_filledcurves finish_filled_curve): - Use new polygon clipping code for filledcurves. - -2013-04-24 Thomas Mattison <mattison <at> phas.ubc.ca> - - * src/fit.c: Optional one-line progress reports. Move code to output - status reports and final results to new routines. - Patchset #230. - - * src/fit.c (regress): Fit did not converge if maximum lambda was - exceeded. Add new message for this case. - -2013-04-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c|h src/save.c src/set.c src/show.c src/unset.c docs/gnuplot.doc: - New options quiet|results|brief|verbose for `set fit` to select verbosity - of fit's output. Default to brief one-line reports. 'verbose' selects the - traditional full report. - - * src/fit.c (backup_file): Remove code path for Win32s. - - * src/fit.c (show_results): Print correlation matrix only if there is - more than one parameter. - - * demo/fit.dem: Update to new syntax. Reduce number of pause statements, - remove plots which show only the data or duplicate techniques already - demonstrated. Add some more comments and plot titles. - - * src/show.c (show_variables): Avoid extra newline in output. - - * src/win/wgnuplib.h src/win/wgraph.c src/win/wresourc.h term/win.trm: - Speed up rotating graphs with the mouse by temporarily disabling - antialiasing. Add user interface and ini file setting. - -2013-04-22 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_options): Validate argument to title option. - - * term/dumb.trm (DUMB_options): New option to change aspect ratio of - the plot by setting tic lengths. Change default to 2:1, which corresponds - more to the default fonts found on the systems I tested. - - * src/fit.c|h src/win/wgraph.c src/win/wtext.c: Unlike on any other - platform, long fit runs cannot be interrupted on Windows. Fix this - long standing issue at least for wgnuplot by handling Ctrl-Break. - - * docs/gnuplot.doc: Update help texts for `fit`. - - * src/win/winmain.c|h (WinRaiseConsole) src/fit.c src/win/wgraph.c - src/wxterminal/wxt_gui.cpp: Consolidate code to raise console in new - routine. - -2013-04-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_init): Exit cleanly if initialization - fails. - - * src/wxterminal/gp_cairo.c (gp_cairo_set_font): Allow backslash ('\\') - to be treated as an escape character in font names. This can be - necessary if the font name contains a hyphen, which would otherwise be - converted to a space. - - * src/qtterminal/QtGnuplotScene.cpp (processEvent): Add pixmaps to - current plot group so that image plots can be toggled. - - * src/set.c src/unset.c: Repair a small memory leak from the sequence - set key font 'something'; reset - -2013-04-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c term/x11.trm: X11 terminal support for toggling plots - on/off by left clicking on the corresponding key entry. The toggle - works for all x11 plot windows, not just the currently active one. - - * docs/gnuplot.doc src/datafile.c src/datafile.h src/plot2d.c src/save.c - src/set.c src/show.c src/unset.c src/util.c: Allow more than one - character to be specified as a data field separator. For example: - set datafile separator "|:\t" - means that a field may be terminated by either | or : or tab. - -2013-04-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c|h src/save.c src/set.c src/show.c src/unset.c demo/fit.dem - docs/gnuplot.doc: New options for `set fit`. These options will replace - the FIT_* user variables to be consistent with how the rest of gnuplot's - options are controlled. For now the `set fit` commands simply set (or - undefine) the corresponding FIT_ variable to keep backwards compatibility. - -2013-04-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c: Fix incorrect memory allocation for large matrices. - -2013-04-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_set_color): Revert a portion of the patch - from 2013-01-08 (Tracker #1199). Repairs overzealous removal of - redundant color commands. Bug #1185. - - * Makefile.am: Add lisp subdirectory to the list of files in EXTRA_DIST. - This forces the subdirectory to be recreated even if it is currently - disabled, and thus allows "make dist" from inside a tree that has been - configured --without-lisp-files. - -2013-04-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot3d.c src/set.c(parse_label_options) src/setshow.h - parse_label_options() is called both from "set label ..." and from - "plot ... with labels". The latter case should not accept keywords "at", - "front", "back". - -2013-04-08 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: Calculate window resizing based on gheight (plot only) - rather than height (full window). - -2013-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/term.h: Remove gpic (minimal line art sent to groff) - hp2623a (mid 1980s graphics terminal a.k.a. "the ET-head") and - hp2648 (1979 720x360 dot graphics terminal) from the set of terminals - configured in by default. - -2013-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (make_tics): Test for an autoscaled axis that is enabled - but has no corresponding data (e.g. "set x2tics; plot ... axes x1y1"). - In this case warn and skip tick generation rather than stopping with an - error. - - * src/graphics.c (plot_image_or_update_axes) - src/plot2d.c (refresh_bounds): - Refresh of image plots tested only for autoscaling on x; now we also - test for autoscaling on y. - - * src/axis.h: Do not add an extraneous factor of 1e-3 to the axis - limits of a refreshed plot. Yes it prevents log-scale axes from - overflowing when zoomed out, but also it prevents the endpoint - values from being recognized as autoscaled. A different fix is - needed for the overflowing log-scale axes. - - * src/mouse.c (apply_zoom): Partial fix for the above problem. - If the x2 or y2 axis limits contain the magic value VERYLARGE, - the initial state of autoscaling, then don't try to interpret it - as an actual numerical value passed to "set x2range". - Bug #636. - -2013-04-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_range): Add a loop to parse axis range options - so that there is no order dependence. Add "noextend" option. - -2013-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_time.h term/js/gnuplot_mouse.js term/js/gnuplot_svg.js: - Change zero point of time coordinates to the unix epoch boundary - 1-Jan-1970. Previous to this change gnuplot used a zero point of - 1-Jan-2000, which caused various user-visible problems when times - were input or manipulated as raw seconds. - Reversion to the previous choice of epoch boundary can be done by - replacing a single #if (0) in gp_time.h and reverting the - corresponding time calculation in the javascript files. - - * src/mouse.c src/time.c docs/gnuplot.doc: Remove unused code - and comments specific to the older use of a private epoch. - -2013-04-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp (wxtPanel::RaiseConsoleWindow), - src/wxterminal/wxt_gui.h: Implement space-raises-console for - Windows console mode gnuplot. - -2013-04-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc, docs/term-ja.diff: - Sync with English documentation (rev.1.774) - -2013-04-04 Dima Kogan <dima@secretsauce.net> - - * src/axis.h src/axis.c src/plot2d.c src/plot3d.c: - Restore the original state of the "reverse" autoscaling flag when - refreshing (as opposed to replotting). - -2013-04-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c (main): Restore a code snippet for the Windows platform - which got removed by accident on Feb 3rd. Fixes -persist mode on - Windows. - -2013-04-02 Christoph Bersch <cbersch@users.sf.net> - - * term/post.trm term/PostScript/prologue.ps: Revise the code embedded - to skip Level2 PostScript features if /Level1 is set to true in the - header records at the top of an output *.ps or *.eps file. The old - version failed if a level 2 image > 64kBytes was encountered. - -2013-04-01 Christoph Bersch <cbersch@users.sf.net> - - * term/post.trm: Add support for /FlateDecode compression of images. - The image is created as a PNG image using either the libgd or libcairo - library depending on which (if either) is present in the current build - of gnuplot. The /FlateDecode method is only used if the terminal option - "level3" is given to "set term post". - -2013-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot3d.c: Incomplete initialization of sample range variable. - - * src/plot2d.c docs/gnuplot.doc: Provide an indexed example of using - "smooth frequency" to generate a histogram. Do not let this plot mode - override the user's data style. - -2013-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/term_api.h term/svg.trm: - Use actual plot title as the <title> attribute of svg plot elements. - If there is no plot title, use name_plotno_panelno as before. - - * src/qtterminal/QtGnuplotScene.cpp (processEvent): Fix off-by-one - iteration over visibility of plots after a zoom or other replot. - -2013-03-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/misc.c (lp_parse): The "fillcolor|fc" keyword - in a plot command was not correctly parsed. - - * src/term.c (term_apply_lp_properties): A patch of 2013-01-08 - switched to always applying linetype color even if the use_palette - flag was not set. This broke the TERM_MONOCHROME setting on terminals - that have it, as seen in the "test" command. - Handle monochrome terminals as a special case. - Bug #1225 - -2013-03-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c: - Combined mousing revisions from Michael Madsen, Petr Mikulik, and - Mojca Miklavec. - Zoom in/out around current mouse position rather than center of plot. - - +/- keys zoom in/out on mouse position - <wheel-up> scroll up (in +Y direction) - <wheel-down> scroll down. - <shift-wheel-up> scroll left (in -X direction) - <shift-wheel-down> scroll right. - <Control-WheelUp> zoom in on mouse position - <Control-WheelDown> zoom out on mouse position - <Shift-Control-WheelUp> pinch on x - <Shift-Control-WheelDown> expand on x - -2013-03-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/plot2d.c src/plot3d.c: - Issue a warning if a requested column header is not found in the - data file being plotted. Document that an exact match is required. - -2013-03-12 Carl Michal <michal@phas.ubc.ca> - - * src/fit.c src/fit.h src/save.c src/set.c src/show.c src/unset.c: - "set fit [no]prescale" optionally normalizes fit parameters before - starting M-L refinement. - -2013-03-09 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: Some window managers produce multiple ConfigureNotify - events when a window is created. Some of these were mis-interpreted by - gnuplot_x11 as a refusal to resize, which then issued additional - unneeded replot actions. Now we wait for 0.1 second for extra - ConfigureNotify events before deciding that a resize was rejected. - - * src/plot3d.c (refresh_3dbounds): Partial axis ranges, e.g. [*:MAX] or - [MIN:*] were not being handled correctly when refreshing volatile data. - - * src/plot2d.c (refresh_bounds) src/plot3d.c (refresh_3dbounds): - Extend degenerate range when refreshing. - -2013-03-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Allow a 2 columns only variant of "with yerrorbars". - x is taken from column 0, y from column 1, yerror from column 2. - -2013-03-02 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/win/wtext.h: Avoid redefinition error for ungetch. - - * src/makefile.awc (COREOBJS): Add new module to Watcom make file - list, too. - -2013-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (refresh_bounds): Partial axis ranges, e.g. [*:MAX] or - [MIN:*] were not being handled correctly when refreshing volatile data. - -2013-02-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (replot_command): If the input data comes from stdin - and is marked volatile, i.e. plot '-' volatile, then treat a replot - command as if it were a refresh command. This is a change, but is - consistent with the documentation for the "volatile" keyword. - - * src/plot2d.c (eval_plots): The range check on functions with a - private sampling range did not allow for log scaling. - Bug #1215 - -2013-02-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/boundary.c src/boundary.h src/Makefile.am: - graphics.c has grown into the largest single gnuplot source file - (7000+ lines). Split out the routines dealing with key and border - layout into a new separate file boundary.c. - - * src/color.c src/pm3d.c src/interpol.c: - Remove unneeded #include headers. - - * src/axis.c src/gadgets.c src/gadgets.h src/graphics.c src/graphics.h - (label_width): Move routine label_width() from graphics.c to gadgets.c. - - * src/graphics.c src/graphics.h src/gadgets.h src/gadgets.c - src/util3d.h src/pm3d.c: Move routine apply_head_properties() from - graphics.c to gadgets.c. - -2013-02-26 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Simplify description of binary file handling. - Do not imply that text files are limited to ascii encoding. - - * docs/old/makefile.r: Remove ancient version of makefile. - - * configure.in src/Makefile.am man/lasergnu.1 man/Makefile.am - src/lasergnu: Remove ancient script that piped a file through gnuplot - and then via lpr to a (by default Imagen) printer. This script has - been deprecated since version 4.0. - - * configure.in src/term.h: Remove imagen (1980s/1990s laser printer) - from default set of included terminals. - - * src/show.c src/version.c src/version.h src/plot.c: - Remove the "Build system" line from the version information shown on - entry. It never did report the build system, only the system reported - by the machine it was currently running on. Could be replaced if - someone wants to figure out a generic way to have autoconf fill in the - OS definition in syscfg.h - -2013-02-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm: Revert patch of 24-Apr-2012 because it breaks - rgbimage with aquaterm 1.1. Reversion confirmed to fix the problem - by Alexander Hansen of Fink. - Bug #1188 - -2013-02-22 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in config/makefile.unx configure.vms config/makefile.dj2 - config/makefile.emx config/makefile.vms - src/makefile.awc src/makefile.all src/Makefile.in src/term.c src/term.h - term/cgi.trm term/Makefile.am term/Makefile.in docs/Makefile.am: - Remove vestigial support for the SCO "cgi" graphics layer that sat on - top of AES and VDI. This was a graphical environment for the IBM PC - and the Atari ST. PC GEM was a fairly widely used GUI until the - release of Windows 3.0. The SCO cgi variant existed also on SCO unix. - -2013-02-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c: The old test for whether a session was interactive - assumed that everything on the command line was either an input file - name or an x11 option parsed by X11_args. This broke because - (1) x11 is no longer the only interactive terminal. - (2) there are options that occupy space on the command line but are - not file names. Some indicate non-interactive; some don't. - Replace this test with one that only enters a non-interactive session - if there are command line arguments that do not begin with '-' - (filename) or _do_ begin with '-e' (inline command). - Bug #1212 - -2013-02-19 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/axis.c (gen_tics) src/unset.c (unset_log): Do not zero out the - log base when log scaling is disabled. This allows gprintf formats - %L and %l to work even when the axes are linear. - -2013-02-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (boundary): Rotated x-axis tic labels are set - automatically to right justify, but this happens too late for the code - that reserves space for them. Test for this as a special case. - Bugs 1204, 1209 - - * src/wxterminal/wxt_gui.cpp (wxt_update_key_box): Fix array overrun - caused by many 'notitle' plots appearing before any titled plots. - Bug 1211 - -2013-02-18 Christoph Bersch <cbersch@users.sf.net> - - * src/graphics.c: Draw the zero axis lines in the same front/back - layer as the axis and grid lines. - -2013-02-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h term/cairo.trm term/canvas.trm term/svg.trm - term/wxt.trm src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h - src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_term.h: - Add "square" to linecap options "round" and "butt". - -2013-02-17 W. Trevor King <wking@tremily.us> - - * configure.in src/datafile.c (df_open) docs/gnuplot.doc: - New special file syntax "<&N" plots data read from an arbitrary file - descriptor. This allows setting up multiple input pipes to gnuplot - when it is invoked from a shell. - -2013-02-17 Craig DeForest <deforest@boulder.swri.edu> - - * src/datafile.c (df_readbinary): Add special case code to read in a - uniform binary matrix in one large chunk rather than reading one matrix - element at a time. When piping a 2000x2000 RGB matrix under linux this - speeds the input stage from about 9 seconds to about 2 seconds. - -2013-02-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/datafile.c src/plot2d.c src/plot3d.c src/binary.c - src/Makefile.am: Files binary.c and binary.h are not used by gnuplot - proper, only by bf_test. Remove them from the build dependencies. - - * src/plot.c: Treat command line option -e similarly to a load file - (i.e. do not wait for further input from stdin). - -2013-02-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c: Merging the option parsing code from the old Windows - version and the old X11 version left a conflict as to whether the - `interactive` flag was always set if there were no filenames on the - command line. The 03-Feb-2013 version always set it (as per Windows) - but this broke use of the Gnuplot.pm perl module under linux. - Therefore I have removed the unconditional statement interactive = TRUE. - -2013-02-08 Ethan A Merritt <merritt@u.washington.edu> - - * util.c (gprintf): Initialize output buffer so that an empty format - does not leave an unitialized string. Test case: - set format "%B %b"; plot x - -2013-02-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c: - -d or --default-settings Skip reading gnuplotrc and ~/.gnuplot on entry. - - * src/plot.c: - Don't assume that X11_args() is there to help parse command line options. - Bug #3601907 - -2013-02-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (read_line): Reset the token count to zero when - starting to read a new line of input. Otherwise if the read is - interrupted by a mouse event requesting a replot then the internal - state is not valid. Test case: cat | ./gnuplot plot and zoom - Bug #3602388 (new #1203) - -2013-01-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (bind_command): Convert the last caller of quote_str() - in the core code to use instead try_to_get_string(). I.e. allow - STRING = "some command" - bind KEY STRING - - * term/ai.trm: Replace quote_str() with try_to_get_string() - Allows font to be provided as a string variable. - - * term/vgagl.trm: Same - * term/corel.trm: Same - * term/djsvga.trm: Same - - * src/util.h src/util.c: The routine quote_str() no longer has any - callers except the next/openstep terminals. Mark it #ifdef NEXT. - -2013-01-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_timefmt): Accept the new format as a string variable. - Bug #3602057 - -2013-01-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c: Up until now hidden3d handled any pm3d surfaces as - a collection of points, which did essentially nothing at all. Now we - treat them as invisible lines (LT_NODRAW) so that they can occluded - other objects. - This trick was already used in hidden2.dem but now it's built in. - -2013-01-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm: Right- or Center- justified enhanced text was losing - track of the font size. This bug was evident in "key.dem". - -2013-01-08 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_layer): Reset current text color at the - start of each layer's block of TeX output. Bug #3599916 - - * src/term.c (term_apply_lp_properties): Always apply linetype color, - even if the flag use_palette is not set. Many terminals cope with this - on their own, but not all of them (e.g. cairolatex). - Bug #3599916 - - * src/hidden3d.c (in_front): Inline the single line subroutine - handle_edge_fragment() at its sole call site. - -2013-01-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c term/x11.trm: Fix aspect ratio error introduced 2013-01-05 - -2013-01-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c (main): Unbuffered stdin is needed for readline even if - X11 is not configured, as suggested in the comment from 2004. - - * src/command.c (invalid_command): When an invalid command is detected, - advance the input parsing pointer (c_token) to the end of the command. - Otherwise we're left in the middle of an invalid command after the - error message is printed. - -2013-01-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (do_event): Testing for multiplot when a signal is - received from gnuplot_x11 is pointless because gnuplot no longer has any - idea whether the plot window sending the event contains a multiplot. - Clean up the X11-dependent code that responds to GE_fontprops events. - - * src/term.c: Move term_start_plot() to after the multiplot flag is set. - This lets the terminal take a different action if necessary. - - * term/x11.trm (X11_graphics): Disable replot_on_resize if this is a - multiplot. FIXME: Better would be to save and restore. But how? - Better yet, gnuplot_x11 could keep track of whether it is currently - displaying a multiplot, and if so suppress the replot requests. - Variables visible externally should be named X11_<foo>. - - * term/x11.trm (X11_waitforinput): waitforinput() handling of - GE_fontprops must be protected by IPC_LOCK. - - * src/gplt_x11.c: dashedlines and replot_on_resize are tristate enums, - not TBOOLEANS. - - * src/qtterminal/QtGnuplotWidget.cpp: Don't even pretend to pass font - metrics via GE_fontprops; only the window height + width are valid. - - * src/graphics.c (do_polygon): Skip degenerate polygons (fewer than 2 - vertices). - -2013-01-04 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gadgets.h (E_Refresh_Allowed, TRefresh_Allowed): New - enum/typedef to avoid magic constants in code using refresh_ok; - (refresh_ok): Change to new type. - (SET_REFRESH_OK): New macro to mask write accesses to refresh_ok - and refresh_nplots if VOLATILE_REFRESH is not defined. - - * src/gadgets.c: Change definition of refresh_ok to new type. - - * src/set.c (set_logscale): Use new macro. - - * src/unset.c (unset_logscale, reset_command): Use new macro. - - * src/plot3d.c (eval_3dplots): Use new macro. - - * src/plot2d.c (eval_plots): Use new macro. - - * src/command.c (do_string_replot, refresh_request): Replace magic - numbers by enum values. - (replotrequest): Use new macro. - - * src/mouse.c (apply_zoom, event_buttonpress, do_save_3dplot): - Replace magic numbers by enum values. - -2013-01-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (replotrequest): #ifdef VOLATILE_REFRESH is needed with - ./configure --disable-volatile-data - -2012-12-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Add a comment documenting the reason for - problems with font size changes in terminals such as x11. - -2012-12-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/Makefile.am (gnuplot.texi): Generated file has to be copied - back to srcdir in out-of-tree builds. - - * docs/gnuplot.doc, docs/gnuplot.texi: Finally document that "set - timefmt" accepts an axis argument. - -2012-12-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm: Adjust vertical centering of characters to match - current font size. - -2012-12-27 Daniel J Sebald <daniel.sebald@ieee.org> - - * configure.in: Repair shell syntax used to control the definition - of CC and CXX for cross-building. - -2012-12-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: Vertical line centering must take into - account the current oversampling factor. - - * src/graphics.c (draw_titles): Create a separate routine that draws - the plot title and axis labels. Make these "front" rather than "back" - text elements. - -2012-12-26 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc: Sync with English documentation (rev.1.764) - -2012-12-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Keep a list of previously satisfied font requests for - the x11 terminal driver. This greatly reduces the number of attempts - needed to find a usable font if the requested default is not available. - Bug #3152583 - - * src/gplt_x11.c term/x11.trm: Trap a few easy-to-make errors in - requesting UTF-8 encoding with x11. - -2012-12-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp term/cgm.trm term/x11.trm: - These terminals support dashed lines but not the "dashlength" keyword. - They should silently ignore it rather than triggering an error. - - * src/datafile.c src/datafile.h src/stats.c docs/gnuplot.doc: - Return the number of columns in the first row of a data set as - STATS_columns. - -2012-12-19 Olaf Booij <obooij@users.sourceforge.net> - - * src/graph3d.c: In 3D plots with 'set view equal xyz' the point about - which zoom operates should be in the middle of the screen, not at z=0. - -2012-12-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Depending on the terminal type and - the current encoding, improper enhanced text syntax could cause anything - from garbage text to a segfault: - set termopt enhanced; - set label "~"; plot [0:1][0:1] '+' using 1:1:("~^") with labels - Bugfix - - * src/gplt_x11.c: Change the fallback font string used when the current - encoding is UTF-8 (iso10646-1) or when all else fails (iso8859-1). This - is admittedly biased towards English as a default, but the previous - string (*-*) does not work for common recent x11 implementations. - -2012-12-16 Ethan A Merritt <merritt@u.washington.edu> - - * demo/key.dem src/graph3d.c (boundary3d do_3d_key_layout) - src/graphics.c (boundary do_key_layout do_key_bounds draw_key): - Refactor the key box layout code to repair several problems. - - left/right/center was not honored for an explicit key position - - incorrect key placement due to subscript or superscript in key title - - text spacing should be based on key font, not on the default font - - vertical centering of text in key samples was incorrect - Remaining problems: - - postscript terminal does incorrect vertical centering (vshift) - - maxcols is never checked in the splot key layout code - Bug #3556892 and other issues visible in key.dem - - * term/post.trm (set_font): Quick fix to redefine vshift every time the - current font size changes. A better fix would query the font internally. - - * term/svg.trm (set_font): Similar fix for svg font metrics. - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_text): And for wxt. - -2012-12-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: If a data column requested by name is not found, - treat it as undefined (DF_UNDEFINED) rather than terminating data input - with int_error(). This makes the treatment of named columns more like - that of numbered columns. - Bug #3595672 - - * src/save.c src/set.c src/show.c: The hypertext flag on labels was - being ignored by save and show commands. Setting the flag worked only - for certain orders of `set` options. - Bugfix - - * src/datafile.c src/graph3d.h src/graphics.h src/plot2d.c src/plot3d.c - demo/piecewise.dem docs/gnuplot.doc: - Extend the support for piecewise sampling ranges, in particular the use - of named variables in piecewise functions. Allow 1-dimensional - parametric functions in 3D. For example, to plot a helix - splot [-2:2][-2:2] sample [h=1:10] '+' using (cos(h)):(sin(h)):(h) - -2012-12-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Background color 0x0 was incorrectly interpreted as - "none" rather than "black". Bugfix. - - * docs/gnuplot.doc: Update new features section. - -2012-11-29 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/watcom/.cvsignore: Ignore gnerated file. - - * docs/psdoc/.cvsignore: Ignore generated files. - - * docs/.cvsignore: Ignore Makefile.in, now that it is a generated file. - - * src/qtterminal/.cvsignore: Ignore Makefile.in, since it is a generated file. - - * term/x11.trm (X11_options): Calls to strncat were risking buffer - overflow by not accounting for the terminating '\0'. Replace some - buffer size macros by actual size of buffer. - - * term/wxt.trm (wxt_options): Dito. - - * term/cairo.trm (cairotrm_options): Dito. - - * src/win/pgnuplot.c (main): Dito. - - * src/wxterminal/gp_cairo.c (gp_cairo_add_shape, gp_cairo_enhanced_flush): Dito. - - * term/context.trm (CONTEXT_options): Dito. And let break - statements have their own lines instead of hiding them at the end - of a wrapped function call. - - * src/axis.h (AXIS_INDEX, FIRST_AXES, SECOND_AXES): Replace magic - numbers by references to existing entries. - (AXIS_INDEX): Replace macro NO_AXIS by enum entry, to avoid - warnings about mixing enum with non-enum values. - (STORE_WITH_LOG_AND_UPDATE_RANGE): No need to invoke strcmp() - where a simple comparison of enums would suffice. - - * src/help.c (ShowSubtopics): Replace magic numbers by actual - buffer sizes and string lengths involved. - - * src/command.c (read_line): Replace magic number by expression - based on actual buffer size. - - * src/gp_types.h (PLOT_STYLE): New enum entry PLOT_STYLE_NONE, to - be used instead of magic number -1. - - * src/misc.c (get_style): Use new enum entry. - - * src/tables.c (plotstyle_tbl): Use new enum entry. - - * src/save.c (save_data_func_style): Use new enum entry. - - * src/graph3d.c (do_3dplot): Use new enum entry. - -2012-11-26 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/winmain.c|h (WinMessageLoop) src/win/wtext.c: - Move Windows message handling from TextMessage() to new WinMessageLoop() - and make it accessible in Windows console mode. - - * src/command.c (pause_command): In Windows console mode, handle case - when current terminal does not have a waitforinput method. Bug fix. - - * src/term.c (write_multiline): Fix alignment of right- or center- - justified text for terminals which do not have a justify method. - - * src/graphics.c (do_rectangle): Add newpath/closepath calls. - - * src/show.c (show_version): If the environment variable GNUPLOT_PS_DIR - was set, show its value instead of the compile time setting. - - * src/fit.c: Test for error scaling when printing results. - -2012-11-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/datafile.c src/plot2d.c src/plot3d.c - src/fit.c demo/piecewise.dem: - Add support for piecewise functions by adding an optional sampling range - at the beginning of each element in a plot command. For example, to plot - a data set and three separate functions covering parts of the range: - plot DATA, [10:20] f(x), [25:35] g(x), [40:*] '+' using 1:(h($1)) - - * term/svg.trm: Support for dashlength - - * src/set.c src/tables.c: Allow "set termoption dashlength <foo>" - * term/{canvas cgm emf gd metapost pdf post}.trm: - Recognize 'set termoption' even when not the first command on a line. - -2012-11-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/parse.c: Internal implementation of a pseudocolumn - (-3) that means "last column in input file". I.e. if the input file has - 19 columns then column(-3) is treated as column(19). It might be nice to - wrap this so that the user interface is something like column(LAST), but - that remains to be done. - - * src/hidden3d.c: Handle explicit surface in hidden3d mode. - -2012-11-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Truncate requested column number to maximum sane - value. This prevents segfault on "plot $foo using 1 title column(12345)" - - * src/parse.c (parse_unary_expression): - Collapse two operations PUSHC <pos-const> + UMINUS - into a single operation PUSHC <neg-const> - This saves both space and time when evaluating negative numbers, but the - direct motivation is to make it easier to treat functions of a constant - value as a special case. - -2012-11-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (plotrequest): Fix bug introduced by 2012-11-12 patch - (failure to recognize nonparametric named variables). - - * src/graphics.c (boundary): Since the vertical height of each text - element depends on the font it uses, temporarily set the font while - calculating the height of that element. This can result in a different - placement compared to previous versions when a non-default font is used. - - * demo/named_var.dem demo/rugplot.dem demo/all.dem demo/simple.dem: - Add a unit test for the use of a nonparametric named variable; - it would have caught the above named variable bug! - Add a title to simple.dem illustrating the effect of font size on - placement. Add a rugplot demo. Less screen output from fit demo. - -2012-11-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c: Fix the hexadecimal format used to output RGB color - - * term/js/canvasmath.js: Additional UTF-8 mathematical operators - - * term/canvas.trm: Retain the initial font size for later use. - Reset dashed line status before filled box or polygon (not sure why - this is necessary, but omitting it causes strange things to happen). - - * src/gplt_x11.c: Depending on the order of linetype changes, the - code could fail to reset the current linewidth. - Bug #3348942 - -2012-11-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/fit.c src/plot2d.c src/plot3d.c: - Merge parse_range() and parse_named_range() into a single routine. - Clean up the code and the call sites. - - * src/datafile.c (plot_option_using): Restore a check for a format - spec given after the list of columns (e.g. plot XX using 1:2 "%lf; %lf") - that was lost in a code reorganization and missing in 4.6.0 and 4.6.1. - Bug #3586441 - - * src/command.c (pause_command): Further cleanup of the code that - waits for input after a "pause -1" command. Eat up characters from - stdin one by one until a \n is encountered. No need to store them. - - * src/plot2d.c (check_or_add_boxplot_factor): Fix memory leak. - - * demos (various): Tweak demos so that they exercise more options, - giving more coverage of the code when used as a set of unit tests. - -2012-11-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_color_name) share/gnuplotrc: If the expression in - `linecolor rgb <expression>` is not interpretable as a color name or - hexadecimal string "#RRGGBB" then treat it as an integer representing - AARRGGBB. Provide examples in gnuplotrc of user-defined functions to - map RGB or HSV colors using the [0:1] range onto gnuplot's "#AARRGGBB" - hexadecimal string notation. - -2012-11-08 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: Revise placement of the %n format used to read from - the input stream. This avoids an ambiguity in the standard for treating - spaces immediately preceding %n. - -2012-11-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Axis tic labels provided by the user as string - constants were arbitrarily truncated to MAX_ID_LEN before printing. - No truncation is necessary. - Bug #3585182 - - * src/axis.c (setup_tics) src/plot2d.c (eval_plots): - Enable auto-scaling for data sets plotted using the secondary axis - of a linked axis pair. E.g. set link y; plot FOO axes x1y2 - - * src/set.c (set_encoding): Fix memory leak. - -2012-11-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/util.c (gprintf): Ever since the gprintf routine was added - (sometime before version 3.7) the count parameter that should limit how - many characters are written on output has been silently ignored. - Obviously this can lead to buffer overflows, the simplest case being a - format consisting of a string constant with length > MAX_ID_LEN. - Revise gprintf() to use snprintf() and safe_strncpy() throughout. - Bug #3577439 - -2012-11-03 Clement Law <themanifold@gmail.com> - - * src/pm3d.c src/pm3d.h src/save.c src/set.c src/show.c: - Add rms option for 'set pm3d corners2color'. - -2012-11-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/gplt_x11.c: Yet another bug fix for the new text fragment format. - - * src/qtterminal/qt_term.cpp src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/QtGnuplotWidget.cpp: Fix mouse tracking and resize - events for persistent qt windows. - -2012-10-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (parse_reset_after_error) src/parse.h src/util.c: - Error exit from inside try_to_get_string() left the internal flags for - string parsing in an incorrect state. Provide a reset routine. - - * src/mouse.c (event_buttonrelease): Save/restore event parameters - across the check for a user command bound to a mouse button. - -2012-10-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c: Fix a coding error, (sizeof((char *)buf) rather than - (strlen((char *)buf)), that can cause a buffer overrun on 64-bit - machines. Found by valgrind. - - * src/gplt_x11.c: The new read format for text fragments passed from - x11.trm was missing a space. Bugfix. - -2012-10-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: Save axis scaling for 3D 'set view map' plots so - that outboard drivers can continue mousing in -persist mode. - - * term/canvas.trm term/svg.trm: Sort out the up/down polarity of - mousing limits in 3D 'set view map' plots. Bug #3581514 - - * src/term.c src/term_api.h term/xlib.trm: Remove vestigial traces - of ipc_back_fd outside of its scope (term.c). - - * term/debug.trm: Add entry points for filled_polygon, layer, - set_color, path, image. - - * src/term.c src/gadgets.c src/set.c term/README: Add a default - routine null_set_font() so that code does not have to test every - time whether the current terminal supports term->set_font() or not. - - * src/color.c src/color.h src/eval.c src/getcolor.c src/getcolor.h - docs/gnuplot.doc: - New user-visible function hsv2rgb(H,S,V) creates a 24-bit RGB value - from real H,S,V values in the range [0:1]. This allows use of hsv colors - in plots with coloring style "rgb variable". The new function can be - used to implement the capability suggested by Shigeharu Takeno: - hsv(h,s,v) = sprintf("#%06x",hsv2rgb(h,s,v)) - plot FOO lc rgb hsv(H,S,V) - - * demo/all.dem demo/complex_trig.dem demo/html/index.canvas - demo/html/index.save demo/html/index.svg demo/html/Makefile - demo/rgb_variable.dem: Demos for HSV coloring, including a new demo - for complex-valued trig functions. - -2012-10-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c src/mouse.h src/mousecmn.h src/term_api.h: - Allow the "bind" command to attach a user command to mouse button 1, - at least for 2D plots. - -2012-10-22 Ethan A Merritt <merritt@u.washington.edu> - - * term/xlib.trm: Reset X11_ipc when xlib terminal exits; otherwise a - subsequent "set term x11" fails to send output to gnuplot_x11. - - * term/x11.trm: Filter out redundant move/vector/set_color commands. - - Do not send a Move or Vector command to gnuplot_x11 if the previous - move/vector went to the same coordinates. - - Do not send an rgbcolor command to gnuplot_x11 if it duplicates the - previous rgbcolor command. - Filtering yields a 9% reduction in the number of bytes sent from - gnuplot to gnuplot_x11 during execution of all.dem. - -2012-10-19 Ethan A Merritt <merritt@u.washington.edu> - - * demo/html/webify.pl demo/html/webify_svg.pl demo/html/webify_canvas.pl: - Add UTF-8 handling to web page generation. - - * src/command.c (do_string_and_free): The "exit" command was not working - inside a bracketed clause. Bug #3576439 - - * src/pm3d.c (pm3d_plot): If pm3d option corners2color is 'mean' and - the coloring option is 'rgb variable', then the code that calculates the - mean must deal with alpha channel values as well as r/g/b components. - -2012-10-19 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c src/mouse.c term/x11.trm: - Initialize x11 terminal aspect ratio so that it works for xlib also. - -2012-10-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/lua.trm term/lua/gnuplot-tikz.lua: The set_font() routine must - update term->v_char and term->h_char. set_font("") must restore the - default font. Bugfix. - - * src/term.c (term_start_multiplot): The calculation of vertical space - required for a plot title depends on term->v_char, which in turn depends - on the font used for the title. Bugfix. - - * term/gd.trm (set_font): The libgd terminals were failing to - notice a change in font size sent by set_term(",newsize") - Bugfix (old bug!) - - * term/canvas.trm (set_font): Minimal set_font routine for canvas - terminal. All it does at this point is change or restore the font size. - -2012-10-14 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: - With -replotonresize the resize triggered two replots, the initial - outboard-only even-aspect-ratio one, and then the full replot. - This fix skips the first of these. - When the inboard driver is killed, the mouse-over coordinates were not - computed correctly. Bugfix. - -2012-10-14 Ruediger Haertel <haertel@users.sourceforge.net> - - * src/term.c (term_start_multiplot) docs/gnuplot.doc: - Add enhanced/noenhanced option to "set multiplot title". - -2012-10-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_set_font): term->set_font("") - must restore the default terminal font and size. - Bugfix. - - * src/qtterminal/qt_term.cpp (qt_set_font qt_options): - Make the current terminal font visible to the user. - Update the font metrics whenever the font is changed. - Bugfix. - - * demo/layout.dem: Modified to act as a test for the above bug fixes. - -2012-10-12 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Replace sizes given in points with sizes in user - coordinates (nominally pixels = "px"). In empirical tests this makes - the estimates generated for string width more accurate. An alternative - might be to give sizes in points multiplied by some internal variable - that could be recalculated dynamically at display time. - - * term/svg.trm: Replace bundled style attributes with individual - specifications. E.g. - <g style="fill:none; stroke:rgb(0,0,0); font-size:10pt"> - becomes - <g fill="none" stroke="rgb(0,0,0)" font-size="10"> - - * src/graph3d.c: Suppress drawing of a degenerate keybox when - "set key box" but no plot titles. Bugfix. - - * src/graph3d.c src/show.c: "set zlabel rotate parallel" should have - the same effect as "set zlabel rotate". Bugfix. - - * src/unset.c: `unset xrange` has done nothing but clear range_reverse. - Make it also restore the default autoscaling and axis ranges. - -2012-10-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotWidget.cpp (exportToSvg): - Restrict svg output size to scaled viewport. This gets rid of the - oversize border around a plot exported from the qt terminal to svg. - Empirical fix, results not guaranteed! - Bug #3573897 - -2012-10-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.h src/interpol.c src/plot2d.c docs/gnuplot.doc: - Make the bandwidth parameter of "smooth kdensity" a constant specified - in the plot command rather than a per-data point variable. The latter - has no obvious physical meaning and anyhow is problematic because it - overloads the meaning of the 3rd 'using' spec. New syntax: - plot foo smooth kdensity {bandwidth <val>} - If no value is given, or if the value in negative, use the calculated - optimum bandwidth. Store the value used in GPVAL_KDENSITY_BANDWIDTH. - - * src/term.h: Remove regis from the default set of supported terminals - -2012-10-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data) src/datafile.c (df_readascii) src/gp_types.h: - Handle NaN pixels in image plots read in from non-matrix data. - Handle NaN pixels in pm3d surfaces created by singularities in - harmonic mean. - - * src/pm3d.c (geomean4 harmean4 pm3d_plot): Revise geomean4(): - All corners positive => return positive geometric mean. - All corners negative => return negative geometric mean. - Otherwise return zero (previously the function returned something - peculiar if 1 or 3 corners were negative). - -2012-10-08 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (WndGraphProc): Implement space-raises-console - for console mode gnuplot. - - * src/win/wtext.h (getchar): Make sure that getchar is defined. - - * src/term.c (test_term): Add newpath/closepath calls were applicable. - - * src/win/wpause.c: Include command.h for pause_for_mouse. (PauseBox): - Do not force pause-messagebox to stay on top. (WndPauseProc): "Cancel" - button can be activated by escape key. Code cleanup. - - * term/win.trm (WIN_filled_polygon): Filled polygon are always closed. - Ignore the last corner if it's the same as the first one. - - * src/plot.c (gnu_main) src/win/winmain.c (main): The Windows version - used to handle the persist command line option in winmain.c. Moving - it to plot.c ensures that the same options are supported on all - platforms. See Bug #3538762 - - * src/win/wcommon.h src/win/wtext.c (TextShow) src/win/winmain.h - src/win/winmain.c (WinWindowOpened, WinPersistTextClose) - src/win/wgraph.c (WndGraphProc) src/wxterminal/wx_term.h - src/wxterminal/wxt_gui.h src/wxterminal/wxt_gui.cpp (~wxtFrame, - wxtFrame::onClose, wxt_window_opened, wxt_atexit) src/plot.c (main) - Revise handling of persist mode on Windows: Exit wgnuplot only after the - last plot window (wxt or win) has been closed. The text window is only - shown if "-" is given on the command line. No zombie wgnuplot process - when closing a persistent wxt terminal window. Console gnuplot behaviour - stays unchanged. - Bug #3538762 - -2012-10-05 Dima Kogan <dima@secretsauce.net> - - * lisp/gnuplot.el: With this patch, emacs mode no longer pollutes - global comint-mode-map. Instead it applies the key bindings only to - the gnuplot comint instance. - -2012-10-05 Vladimir <lomov_vl@users.sourceforge.net> - - * src/lisp/Makefile.am: Fix typo in yesterday's revision. - -2012-10-04 Clement Law <themanifold@gmail.com> - - * src/pm3d.c src/pm3d.h src/set.c src/save.c src/show.c - docs/gnuplot.doc demo/pm3d.dem: - New option 'set pm3d corners2color harmean' (harmonic mean). - -2012-10-04 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in prepare lisp/Makefile.am lisp/configure.in (removed): - Simplify build scripts for the lisp files (a.k.a. emacs gnuplot-mode). - -2012-10-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Replace parsing using sscanf( "%d %d" ) with - two calls to strtol(). This yields a 2-fold speedup in benchmarks - with large numbers of points and vectors. - -2012-09-28 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c src/gplt_x11.h: Remove dead code. - - * src/gplt_x11.c term/x11.trm: Modify format statements used to send - commands from x11.trm to gnuplot_x11. Before most integers were sent - using "%04d", now " %d". This prevents overflow for coordinate > 9999. - The extra byte required for a 4-digit coordinate is compensated by - fewer bytes needed for small integers like linetype. - - * src/gplt_x11.c src/gplt_x11.h: Adjust point size to accommodate - changes in window size. - -2012-09-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/util.c (streq) src/util.h: New utility function - streq(char *a, char *b) returns TRUE if a and b are identical save for - leading and trailing whitespace. Use this for matching requested string - labels in a using spec to the actual column header text in a data file. - Bug #3571243 - -2012-09-25 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c src/mouse.c (do_event) term/x11.trm: - Feed back the x11 window size from gnuplot_x11 to gnuplot so that - the coordinates can be rescaled to maintain the correct aspect ratio. - This allows correct functioning of commands like 'set size square' and - 'set view equal xyz' in an interactive x11 output window. - -2012-09-24 Ethan A Merritt <merritt@u.washington.edu> - - * demo/molecule.dem demo/datastrings.dem: Remove old labelplot demo - because it failed to show properly scaled xyz; instead add equal xyz - to molecule demo. - - * src/graphics.c docs/plotstyles.gnu: Fix bug preventing explicit - assignment of color sequence in stacked histograms. - -2012-09-21 Ethan A Merritt <merritt@u.washington.edu> - - * docs/Makefile.am lisp/Makefile.am lisp/configure.in: - Fix breakage in "make distcheck". - -2012-09-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Incorrect default layout of rotated xtic labels. - Bug #3568817 - - * lisp/configure.in lisp/Makefile.am: The autoconfigure scripting for - the lisp directory is failing when $(EMACS) is redefined by the user. - But the failure is only relevant to testing/patching info-look.el for - very old versions of emacs. Deal with it by simply assuming that - everyone has an emacs version newer than 20.3 and therefore no patching - is needed. - - * lisp/info-look.20.2.el lisp/info-look.20.3.el: No longer needed. - -2012-09-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c: set datafile separator {whitespace|tab|comma|"<char>"} - - * src/pm3d.c src/set.c src/color.c term/vgagl.trm src/term_api.h: - The EXTENDED_COLOR_SPECS compile option is relevant only to one - terminal (vgagl). Make the corresponding toggle a terminal-specific - flag rather than a global variable. Clean up terminal flags. - - * src/axis.c src/axis.h src/mouse.c src/plot2d.c src/util.c: - Allow zooming of plots that originally had an explicit range in the - plot command. - - * src/set.c (set_label): Simplify label parsing. - - * src/graphics.c (plot_filledcurves): Use cliptorange() instead of - simpler range check, since it handles reversed axes correctly. - -2012-09-13 Ethan A Merritt <merritt@u.washington.edu> - - * term/PostScript/prologue.ps term/post.trm: - Handle transparent fill patterns in PS_fillbox() in the same way - as is already done in PS_filled_polygon(). - Bug #3567035 - - * src/eval.c (fill_gpval_axis) src/axis.h: The RANGE_REVERSE flag no - longer exists, so do not report it to the user and do not swap axis - min/max values when storing them for later mousing calculations by the - canvas, svg, and other terminals. - - * src/datafile.c: Remove unused variables. - - * demo/html: Update online demo collection to include linked axes - and RGBA color applied to individual lines. - -2012-09-12 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff man/gnuplot-ja.1: - Sync with English documentation (rev.1.746). - -2012-09-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Index histogram stacks using the point's index rather - than its x coordinate. Fixes rowstacked histogram array overflow. - Bug #3566662 - -2012-09-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c: Output a column for variable color if it is used - in the plot command. - -2012-09-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * term/emf.trm: Revise the object-handling code so that the current - brush or pen is deselected before being deleted and recreated. - Defer application of new dash+color line properties until needed for a - new line segment. - -2012-09-04 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Seek to the beginning of the output file after plotting. - If a user mistakenly tries to place two plots in the same file, the - second will cleanly overwrite the first rather than corrupting it. - -2012-08-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm (EMF_dashtype): Fix incorrect mapping of requested - linetype to the dash pattern. Only LT_AXIS was properly mapped. - - * term/emf.trm (EMF_set_font): (thanks to Shige Takeno) The intended - optimization to prevent redundant requests for the same font was not - implemented correctly. This change fixes it so that a new font request - is ignored if it would reapply the current font. - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE) src/plot2d.c: - Optimize out the check for linked axes when the primary axis is - COLOR_AXIS. This avoids a compiler warning and also reduces the - eventual code size. - -2012-08-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (from Hans-Bernhard Broeker) - #define AXIS_CLONE_SIZE offsetof(AXIS, linked_to_primary) - -2012-08-27 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/gp_types.h: Remove superfluous comma from enum declaration. - -2012-08-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/contour.c: Invoke CheckZero() when automatically choosing contour - levels. The need for this check can be seen in contour.dem plots 19-21. - - * src/graph3d.c: Rearrange code so that the plot key can be drawn in a - separate pass ("set key opaque"). - - * src/wxterminal/wxt_gui.cpp src/datafile.c term/emf.trm term/hpgl.trm: - Trivial code cleanup to avoid compiler warnings (Sun or clang). - -2012-08-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: Remove incorrect fall-back definition for MAXINT. - Note: ~0>>1 is _not_ guaranteed to shift a 0 into the high bit! - - * src/term.c src/unset.c src/term_api.h: - Consistent with the documented generic meaning of "unset", the command - "unset terminal" now restores the default terminal present at program - entry. I.e., it is equivalent to "set terminal GNUTERM". - - * src/graphics.c (do_key_layout): The height of opaque fill for the key - box must be adjusted to allow for superscripts/subscripts in the title. - Bug #3556892 - - * docs/gnuplot.doc: - - Add sections for "unset output" and "unset terminal". - - Remove index entries for "set style <plotstyle>" since there is no - such command. - - Bessel functions Jn and Yn by convention use a capital letter. - -2012-08-23 Thomas Gaillard <tgaillard@users.sourceforge.net> - - * src/interpol.c: Mean and sigma of kernel density function were - incorrectly calculated. - Bug #3519563 - -2012-08-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c: In the code for drawing the key box and key samples, - replace direct calls to term->move() and term->vector() with calls to - clip_move() and clip_vector(). - Bug #3560531 - - * src/plot2d.c src/plot3d.c: Downgrade detection of a trailing comma - in a plot command to a warning rather than an error. This allows more - convenient re-ordering of multi-line plot elements when replotting. - -2012-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * lisp/gnuplot.el: elisp is now getting serious about a syntax change - announced 10+ years ago. s/(` (/`(/ - While here, clean out some old cruft from the directory. - -2012-08-07 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.trm: Revised test for transparency support to match - the implementation in AquaTerm version 1.1.1 - -2012-08-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c src/datafile.h src/plot2d.c src/tabulate.c: - Blank lines separating datasets in an input file were stored as an - UNDEFINED point but not otherwise marked. This patch introduces a - recognizable (struct coordinate)blank_data_line that is stored when - a blank line is encounted. This means that when writing the data back - out via "set table" the separation between data sets can be maintained. - Bug #3553151 - -2012-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/command.c src/command.h src/eval.c - src/eval.h src/graphics.c src/mouse.c src/parse.c src/parse.h - src/plot2d.c src/save.c src/set.c src/show.c src/tables.c src/tables.h - src/unset.c term/canvas.trm: - - New command and functionality - set link [x2|y2] {via <expression1> inverse <expression2>} - unset link [x2|y2] - This ties the range on the secondary axis to that of the primary axis. - <expression1> maps the primary axis coordinates onto the secondary axis. - <expression2> maps the secondary axis coordinates onto the primary axis. - The optional mapping can be nonlinear. If x2/y2 tics are auto-generated, - they will be labeled in the transformed coordinate system. - Mouse tracking readout will also report the transformed coordinates. - - Note: Making the "linked_to_primary" option generic introduces compiler - warnings from the code handling the colorbar axis, which in reality can - never be linked. These will be removed in a subsequent patchset. - - * demo/TaBr.dem docs/gnuplot.doc: - Documentation and demo files for the new command. - - * config/Makefile.am config/Makefile.in src/Makefile.am src/Makefile.in - src/Makefile.maint src/os9.c: Remove mention of os9.c from Makefiles and - remove os9.c itself from the distribution. - -2012-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): The fix of - 2012-07-27 was not quite right (e.g. it broke electron.dem). - -2012-08-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm (EPSLATEX_set_color): Some cairolatex set_color - requests were being incorrectly ignored. - Bug #3553940 - - * src/plot2d.c: Use coord_type rather than int where appropriate. - -2012-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm term/svg.trm: Since we now support time to - millisecond precision, the bounds of a time/date axis need to be - written out using %.3f rather than %g. - Bug #3548932 - - * src/misc.c (load_file): The multiline bracketed clause handling adds - trailing newlines to the input. It is essential to check and extend the - input buffer if needed before doing this. - Bug #3549386 - -2012-07-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (STORE_WITH_LOG_AND_UPDATE_RANGE): Auto-generated data was - failing to plot the first and last points if the corresponding axis - range was inverted. E.g. plot [10:-10] '+' using 1:(sinc($1)) with lines - The incorrect range check was introduced in the patch of 2012-03-09. - Bugfix. - -2012-07-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (attach_title_to_plot): Limit "title at end" placement - to the INRANGE portion of a plot. - -2012-07-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (drawgraph): Always use GDI calls only for - printing. Do not mix with GDI+. This fixes printing of (transparent) - filled polygons and boxes. Check if the printer driver can actually do - transparency (AlphaBlend). - See bug #3503318 - -2012-07-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/standard.c (f_asin, f_asinh): The patch of March 2011 got the - overall sign wrong in the (x == 0.0) case. - Bug #3542862 - -2012-07-23 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_mouse.js (mouse_update): Allow for the possibility - of mapping the x2 and y2 axis coordinates through plot-specific mapping - functions gnuplot.x2_mapping(), gnuplot.y2_mapping() defined elsewhere. - -2012-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/standard.c (f_acos): acos(x) was returning the complex conjugate - of the correct result for complex input x with imag(x) > 0. - Bug #3542862 - - * src/parse.c (set_up_columnheader_parsing): Take the column header - from the second using spec (normally the Y coordinate) to satisfy - set key autotitle columnhead; plot 'data' using "X":"Y" - Bug #3542065 - - * src/datafile.c (plot_option_using): Track the appropriate column - header when the column is specified via a non-string variable; e.g. - plot for [i=1:N] 'data' using 1:(column(i)) - Bug #3542065 - -2012-07-18 Bastian Maerkisch <bmaerkisch@web.de> - - * term/win.trm (WIN_options): Specifying only the font size (ie. ",8") - would overwrite the font name with a bogus string. Bug fix. - - * config/config.oww config/config.nt config/config.mgw - config/makefile.cyg config/makefile.unx config/cygwin/Makefile - config/mingw/Makefile config/msvc/Makefile config/watcom/Makefile - src/command.c src/winmain.c: - Remove support for old style Windows help format. - - * src/win/wgnuplot.hpj: Removed. - -2012-07-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c (draw_edge): Fix broken tracking of top/bottom color - distinction in hidden3d plots when the line colors are not specified in - palette or RGB mode. - Bugfix - -2012-07-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (undefine_command): Allow "undefine $datablockname". - -2012-07-07 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Extend use of VPATH which makes some explicit - rules superfluous. Automatically create dependency .d files during - build. Include current date in filenames of zip-file and installer for - non-release builds. Remove long-unused WINDOWS variable. - -2012-07-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotScene.cpp (wheelEvent) - src/wxterminal/wxt_gui.cpp (OnMouseWheel): - Pass current mouse position in the structure for mouse wheel events. - -2012-07-05 Thomas Orgis <sobukus@users.sourceforge.net> - - * src/qtterminal/QtGnuplotApplication.cpp src/wxterminal/wxt_gui.cpp: - The wxt and qt terminals handle -persist by continuing execution of a - forked thread after the main thread has exited. However, anyone waiting - on the main thread won't see it as finished unless the stdout and - stderr streams inherited by the continuing process are closed. - Bug #3309277 - -2012-07-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c (z2cb): After "set log cb", z2cb(x) was returning 0 for - x<=0 rather than -inf. This causes it to be mistaken for the logged - value of x=1. Now we return CB_AXIS.min instead. - Bug #3540048 - -2012-07-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/plot3d.c: do_3dplot() was called in three places, - but only one correctly wrapped it in splot_map_{de}active(). - Move the activate/deactivate calls inside do_3dplot(). - Bug #3539459 - - * src/qtterminal/QtGnuplotScene.cpp: Set Z value of zoom box to a large - value so that it is not occluded by plot elements. - - * src/datafile.c (df_readascii): If the first line in a data file - contains column headers (strings to be used as titles), then that line - should be ignored when applying the "plot ... every N:M(:N1:M1)" filter. - Bug #3438848 - -2012-06-30 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/grpicon.ico: Icon with more color depths and resolutions, - derived from Mojca Miklavec's SVG icon, see patch #3469808. - - Store icons in CVS in binary format. - * src/win/grpicon.ico src/win/texticon.ico: New files. - * config/cygwin/Makefile config/mingw/Makefile config/msvc/Makefile - config/watcom/Makefile src/win/wgnuplot.rc: Binary icons. - * src/win/geticon.c: Removed. - - * config/makefile.nt: Superseded by msvc/Makefile. Removed. - - Eliminate some compiler warnings. - * src/axis.c (load_one_range): Make static and add prototype. - * src/bitmap.c (b_boxfill): Remove unused variable. - * src/graphics.c (compare_ypoints, two_edge_intersect, - hyperplane_between_points): Prototypes. - * src/plot.h (gnu_main): Add prototype. - * src/pm3d.c (pm3d_plot): Unused variable. - * src/stats.c (statsrequest): Remove duplicate prototype. - * src/util.c (utf8_getmore, utf8_strchrn): Make static and add - prototype. - * src/win/winmain.c (gnu_main): Remove incorrect prototype. - * src/win/wmenu.c (SendMacro, LoadMacros): Remove unused variables. - * src/win/wpause.c (CreatePauseClass, win_sleep): Include winmain.h. - Prototypes. - * src/win/wprinter.c (PrintFind): Add prototype and make static. - * src/win/wtext.c (AboutDlgProc): Prototype. - * src/wxt/gpcairo.c (gp_cairo_convert, gp_cairo_create_layout): Match - prototypes. - * src/wxt/wxt_gui.cpp (wxt_cairo_draw_hypertext): Fix memory leak. - - * src/tables.c (num_predefined_colors): Off by one. - - * src/win/wgdiplus.cpp (gdiplusCreatePen): Use square line ends and - miter line joins. - -2012-06-29 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc docs/term-ja.diff: - Sync with English documentation (rev.1.741). - -2012-06-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (eval_plots): Zero is often a special point in a - function domain. Make sure we don't miss it due to round-off error. - Bug #3519079 - - * term/canvas.trm: ctx.fillText() uses fillStyle rather than strokeStyle - - * src/graphics.h src/graph3d.h src/graphics.c src/plot2d.c: - New modifier for the `title` keyword in plot commands. - `title ... at {beginning|end}` writes the plot title on the graph - itself, immediately next to the corresponding plot. This is independent - of the normal key. - - * docs/gnuplog.doc demo/nokey.dem demo/all.dem: - Document new option and provide a demo. - -2012-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c: plot ... using "a":"b" was not setting the - parse_1st_row_as_headers flag. Bug #3536514 - -2012-06-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c (draw_new_pens) src/win/wgnuplib.h (struct GW) - term/win.trm (WIN_options): Terminal option "rounded|butt". - -2012-06-23 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/approximate.dem demo/cities.dem demo/enhanced-utf8.dem - demo/epslatex.dem demo/fontfile.dem demo/fontfile_latex.dem - demo/hypertext.dem demo/transparent.dem demo/utf8.dem: - Restore original encoding. - - * src/set.c (set_encoding): Allow string valued variables as - parameters. - -2012-06-23 Jérôme lodewyck <lodewyck@users.sourceforge.net> - - * configure.in src/Makefile.am src/qtterminal/qt_term.cpp - src/qtterminal/qt_term_mac.m: Proper handling of the qt terminal dock - icons on Mac OS - -2012-06-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/datablock.c src/datablock.h: New files - - * src/command.c src/datafile.c src/eval.c src/fit.c src/gp_types.h - src/Makefile.am src/misc.c src/parse.c src/scanner.c src/show.c - src/stats.c src/tables.c: Add support for named data blocks. - - * docs/gnuplot.doc demo/imageNaN.dem demo/heatmaps.dem: - Document and provide demos for named data blocks. - - Example use of named data blocks: - $Mydata << EOD - 1 2 3 - 4 5 6 - EOD - stats $Mydata using 1:2 - plot $Mydata using 1:2 with lines, $Mydata using 1:3 with impulse - set print 'save.data'; print $Mydata - -2012-06-15 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/gnuplot.doc: Cleaned blank-only lines. - - * docs/Makefile.in: Regenerated. - - * docs/Makefile.am (BUILT_SOURCES): allterm.h belongs here. - (doc2ms_DEPENDENCIES, doc2tex_DEPENDENDIES) - (alldoc2gih_DEPENDENCIES): Removed allterm.h from these, since - that would only cause it to be built at link time, which is too - late. - (check-local): Renamed from check, which would collide with - automake's own definition. Add missing $(EXEEXT) and ./ - (termdoc.$(OBJEXT)): Removed explicit dependency, since it would - have made exactly the wrong builds depend on allterm.h. - -2012-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * docs/Makefile.am: autoconf (2.68) does not automatically - propagate dependencies for allterm.h. Add generic dependencies as - documented, even though this still results in incorrect - ordering. Fix it empirically by adding an explicit lower-level - dependency at the end of the file. - -2012-06-14 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/Makefile.in: Regenerated. - - * docs/Makefile.am (gnuplot.ms, figures, gnuplot.tex) - (gnuplot.hlp, gnuplot.gih, allgih, wxhelp/wgnuplot.html) - (gnuplot.ipf, gnuplot.rtf, gnuplot.rnh): Targets running private - executables lacked mandatory $(EXEEXT). Caused direct build of, - e.g. 'make pdf', to try and build the wrong program and fail. - -2012-06-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/graph3d.h src/set.c src/show.c src/save.c - src/unset.c src/plot3d.c src/gp_types.h src/tables.c src/graphics.c - docs/gnuplot.doc: - - New command keywords "set surface {implicit|explicit}". - Until now, splot has always added isolines to generate a gridded surface - if an input data file looks like it contains lines along one direction - of the grid. This behavior corresponds to the "implicit" keyword and - remains the default. "set surface explicit" turns off the automatic - generation of isolines, allowing such a data file to be plotted purely - as unconnected lines rather than a generated grid. You can still - generate a gridded surface in this case by saying - "plot ... with surface" rather than "plot ... with lines". - - Addresses tracker item #1244775 (Theo Hopman) - -2012-06-13 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.mgw config/config.nt src/win/wtext.h: Move preprocessor - defines for fake pipe support to wtext.h in order to avoid redefinition - warnings. - - * config/mingw/Makefile config/msvc/Makefile: Include - templates for initialization files in distribution. - - * src/win/wgraph.c (drawgraph): Do not try to detect color capabilities - of printers. When drawing to a printer, scale line widths to match the - widths on screen and fix placement of super- and subscripts. - Bug #3503318 - -2012-06-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Bugfix for label plots using column 0 - to generate text. E.g. plot foo using 1:2:(sprintf("%d",$0)) with labels - -2012-06-09 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.c (setvar): Accept a double value instead of struct value. - Use fill_gpval_float. Simplify callers. - - * src/fit.c (getivar, getdvar, creatdvar): Use get_udv_by_name() or - add_udv_by_name(). - - * src/fit.c (fit_command): Always initialize variables which might be - set by user variables. This is necessary since user variables may be - `undefine`d. - - * src/eval.c (real_int): New function to retrieve an integer value - from a user variable. - -2012-06-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/tabulate.c: Allow tabulation (set table) of pixel values for - IMAGE RGBIMAGE RGBA_IMAGE. - -2012-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (box_range_fiddling): - Autoscaling + auto-boxwidth + log scale on x = fail. - Bug #3529285 - -2012-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/pslatex.trm: More helpful error message if output filename - is not acceptable. - Bug #3529832 - - * src/interpol.c (cp_implode): This routine was not preserving the z - value (used as a weight by smooth acsplines) of input data points. - Bug #3529621 - - * src/plot2d.c (get_data) docs/gnuplot.doc: Use unit weights for - "smooth acsplines" if no separate column of weights is provided. - -2012-05-25 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * docs/Makefile.am (gnuplot.ms, figures, gnuplot.tex) - (gnuplot.hlp, gnuplot.gih, allgih, gnuplot.texi, gnuplot.ipf) - (gnuplot.rtf, check): Re-enable out-of-source-tree builds. - (doc2ms_SOURCES): Remove duplicate source file. - (doc2ms): Remove rule that would conflict with automake generated - one. - -2012-05-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: Recreate fonts after resizing the graph window. - Fixes side effects of changes on 2012-05-20. - -2012-05-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wgnuplib.h term/win.trm: Support for - hypertext labels for win terminal. - - * src/win/wgdiplus.c|h src/wgraph.c term/win.trm: rgba colors. - Restricted to GDI+ and thus currently only available when using - antialiasing. - -2012-05-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h: Core support for hypertext in interactive - terminals. Terminal entry term->hypertext(int TYPE, const char - TEXT) associates a hypertext string with some subsequent graphics - object. The effect of this association depends on TYPE. - Initially only type HYPERTEXT_TOOLTIP is implemented. This causes - the text string to be displayed in a tooltip-like popup when the - mouse hovers over the associated graphics element. - - * src/gadgets.c src/gadgets.h src/set.c src/show.c: New keyword - "hypertext" associated with individual labels, including plot - style "with labels". The label text is displayed only when the - mouse hovers over the associated anchor point. - - * term/README docs/gnuplot.doc demo/hypertext.dem: Documentation - and demo - - * term/canvas.trm term/js/gnuplot_mouse.js: Support for canvas - terminal. - - * src/qtterminal/QtGnuplotEvent.h - src/qtterminal/QtGnuplotScene.cpp src/qtterminal/QtGnuplotScene.h - src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h term/qt.trm: - Support for qt terminal. - - * term/svg.trm term/js/gnuplot_svg.js: Support for svg terminal. - - * src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h - src/wxterminal/wxt_gui.cpp src/wxterminal/wxt_gui.h - src/wxterminal/wxt_term.h term/cairo.trm term/wxt.trm: Support for - wxt terminal. - -2012-05-20 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in docs/Makefile.am: Updated a patch from Christoph - Junghans to use autoconf to manage the documentation subdirectory. - The primary reason is to allow --without-lisp-files to control - whether or not the build process tries to access emacs-specific - directories and files that may not be present. Bugs #2950671 - #3528377 - -2012-05-20 Alexander Täschner <taschna@users.sourceforge.net> - - * src/fit.c|h (regress) - * src/save.c (save_set_all) - * src/set.c (set_fit) - * src/show.c (show_fit) - * src/unset.c (unset_fit) - * docs/gnuplot.doc: New option "set fit [no]errorscaling" which - allows to toggle scaling of parameter errors. The default remains - to scale errors. Patch #3375473, Feature Request #2956524. - -2012-05-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wcommon.h src/win/wgnuplib.h src/win/wgraph.c: Remove - limit on number of plots which can be toggled on/off via key - entries. Maximum number of toolbar buttons still restricted to - MAXPLOTSHIDE. Bug #3516417 - - * demo/image2.dem: Meaning of "set [xyz]range reverse" changed. - - * term/win.trm (WIN_options, WIN_set_color) src/win/wgraph.c - (drawgraph): Change the behaviour of the "mono" terminal option of - the windows terminal. Colors are converted from RGB to grayscale in - drawgraph(). That way, a grayscale copy of colour plots can be - obtained more easily. - - * src/win/wgnuplib.h src/win/wgraph.c: Retain the temporary bitmap used - for drawing to speed up redraws. Reduces the number of calls to - drawgraph() to a minimum. - -2012-05-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (do_arc) src/graphics.c (do_ellipse): Revisit clipping the - filled interior of circles and ellipses. Now it handles objects whose - center is outside the plot but specified in plot coordinates. - Bug #3522515 - -2012-05-17 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/faq-ja.tex docs/gnuplot-ja.doc docs/term-ja.diff - man/gnuplot-ja.1: Sync with English documentation. - -2012-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (do_arc) src/graphics.c (do_ellipse): Clip the filled - interior of circles and ellipses. - Bug #3522515 - -2012-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.cpp (wxt_cairo_refresh): Execution of the - command list must be protected by command_list_mutex or it will blow up - if the command list is cleared/replaced during execution. - Bug #3371205 - - * src/graphics.c: Allow log-scaled y axis for plots with fillsteps. - Bug #3324785 - -2012-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lf_push lf_pop) src/misc.h: The lf_push/lf_pop mechanism - for restoring context after a "call" statement was saving the individual - call args $0 $1 etc, but failing to save the number of active args. - Bug #3525155 - -2012-05-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (plot_option_array): Skip call to clear_binary_records. - This reduces the order-dependence of binary plot options, but may intro- - duce some persistence of options across plot commands. - Bug #3408082 - -2012-05-07 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm term/pslatex.trm: Fix 'set term cairolatex pdf mono' - Bug-Debian: http://bugs.debian.org/668339 - - * src/graph3d.c (key_sample_line_pm3d key_sample_point_pm3d): - If the color scheme is "lc variable", take the color of key sample from - the first point in the data set. - -2012-05-06 Anton Gladky <gladky.anton@gmail.com> - - * src/command.c: Fix segfault in initial check of history when using - --with-readline=bsd - Bug-Debian: http://bugs.debian.org/665832 - - * src/plot.c: EAM - avoid calling buggy libedit emulation of - using_history(). - Bug-Debian: http://bugs.debian.org/598547 - -2012-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c term/estimate.trm: Rename utf8_strlen to utf8_strwidth - to avoid name collision. - - * src/internal.c (f_strlen f_range) src/util.c (strlen_utf8 gp_strlen) - (utf8_strchrn gp_strchrn) src/util.h: Fix gnuplot's user-visible - string handling routines strlen() and substr() so that they handle - multibyte UTF-8 characters correctly. I.e. strlen() returns the number - of characters, not the number of bytes. Other multi-byte encodings are - not handled, however. - Bug #3480075 - -2012-05-04 Ethan A Merritt <merritt@u.washington.edu> - - * CodeStyle config/Makefile.am.in configure.in demo/Makefile.am.in - lisp/Makefile.am m4/Makefile.am.in Makefile.am man/Makefile.am - share/LaTeX/Makefile.am share/Makefile.am src/Makefile.am - src/qtterminal/Makefile.am src/version.c src/wxterminal/Makefile.am - term/Makefile.am.in tutorial/Makefile.am.in: - - Automake 1.12 removes support for the AM_C_PROTOTYPES macro and for - conversion of ANSI C code to K&R C code. Gnuplot's CodeStyle file has - warned since version 3.7 that gnuplot would drop support for ansi2knr - "very soon". Now 12+ years later the other shoe has dropped. - - This set of changes removes reference to AM_C_PROTOTYPES and ansi2knr - in the autoconf files, replacing it with an unconditional - AC_DEFINE(PROTOTYPES,1) so that the existing source code stays happy. - The individual config.* files and the source code itself can be cleaned - up later to remove the need for this definition. - - * src/ansi2knr.1 src/ansi2knr.c src/ansichek.h: Remove these. - - * src/set.c(set_command) src/command.c(do_command): Test for empty - iteration loop in "set for ..." and "do for ..." commands. - -2012-05-03 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/canvasmath.js term/js/gnuplot_common.js term/js/gnuplot_svg.js - term/js/gnuplot_dashedlines.js term/js/gnuplot_mouse.js: - Reduce the scope of local variables. - -2012-05-02 Arun Persaud <arun@nubati.net> - - * term/svg.trm: Remove trailing whitespace from output svg files. - -2012-05-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): CHANGE long-standing program action to - check every input data line individually for number of data columns. - Instead, whatever number of columns are found in the first record, that - same number is expected for the rest of the input file. - This is not ideal, because plot 'foo' with points will now fail if 'foo' - has 4 or more entries on the first line but only 3 on subsequent lines. - On the other hand, it fixes the unexpected behavior that - 3 NaN - in record 5, for example, would be treated as (5,3) DEFINED - rather than as (3,NaN) UNDEFINED. - - * docs/gnuplot.doc docs/figure_missing.pdf: Documentation and example - for above change. - -2012-04-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (do_arc): A bug in the new wedge/nowedge option left a - gap in the perimeter of some circles. - Bug #3522503 - - * term/wxt.trm: Add a linewidth option to the wxt terminal. - -2012-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Prevent illegal characters from being generated as - subplot ids if there are more than 30 subplots in a multiplot. - -2012-04-26 Jon Oddie <joddie@users.sourceforge.net> - - * docs/doc2texi.c: Two bug fixes - Cleaner code to determine which term files to read in d2t-get-terminals. - Fix code for uniquifying duplicate node names. - - * configure.in docs/Makefile.in docs/doc2texi.c: - Create an Emacs Lisp file of documentation strings extracted from the - syntax descriptions in gnuplot.doc. Gnuplot-mode can then optionally - display these strings as automatic one-line documentation while editing, - and pop up the full syntax description on request - -2012-04-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: Write out coordinates to the precision implied by - SVG_SCALE. - - * src/set.c: Fix incorrect test for error return from iconv(). - -2012-04-24 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.trm: Clip images to bounding box. Reset line type - at the start of each plot. - -2012-04-23 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in m4/apple.m4: Add a configuration option for aquaterm. - The default is --without-aquaterm, select using --with-aquaterm. - -2012-04-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/aquaterm.trm: rgba colors - -2012-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/canvasmath.js (measure): Correct width of composite characters - - * term/svg.trm: The svg code refers to CANVAS_OVERSAMPLE when it should - refer to SVG_SCALE. Fortunately they both equal 10. - -2012-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (load_file): If the input file did not end in a newline, - the test for balanced {} occurred too early, causing a false error if - the final partial line did in fact contain the required }. - Bug #3518476 - - * src/command.c src/datafile.c src/graph3d.c src/graphics.c - src/hidden3d.c src/mouse.c src/util3d.c: - Remove dead code. - - * config/config.nt config/config.os2 config/config.oww config/config.mgw - config/config.cyg config/config.dj2 config/config.wc src/parse.c - src/plot2d.c src/plot3d.c src/show.c src/eval.c src/set.c: - Remove the --enable-backwards-compatibility configuration option. - The deprecation warning has been in the documentation since version 4.0 - and it wasn't working in recent versions anyhow. - -2012-04-12 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in term/gd.trm: We no longer claim to support libgd - versions older than 2.0 - - * docs/gnuplot.doc: Clear out the New Features section, which should - now cover stuff added since 4.6 - - * src/color.c (set_rgbcolor) src/color.h src/graph3d.c src/hidden3d.c: - In order to read and store a 32-bit AlphaRGB value it must be treated - as (unsigned int) rather than (int). - - * term/cairo.trm term/canvas.trm term/gd.trm term/svg.trm - src/qtterminal/QtGnuplotScene.cpp src/qtterminal/qt_term.cpp - src/wxterminal/gp_cairo.c src/wxterminal/gp_cairo.h - src/wxterminal/wxt_gui.cpp demo/rgba_lines.dem: - Carry along all 32 bits of an input RGB value, so that the high bits - can hold an alpha channel. In order for existing RGB colors to stay - opaque, this means that alpha=0 is opaque and alpha=255 is transparent. - >>> Note: this convention is the inverse of the current treatment - >>> of the alpha channel in "with rgbimage". - -2012-04-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readbinary): NaN treatment tested the wrong flag - (df_matrix_file rather than df_matrix). - -2012-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (iso_alloc iso_extend): Initialize each 3D coordinate - structure on allocation. Fixes problems found by valgrind and easily - seen by running imageNaN.dem. - - * src/datafile.c src/graphics.c demo/imageNaN.dem demo/all.dem: - Revised treatment of NaN in the input data stream. - 1) Mark NaN points as DF_UNDEFINED on input. This is a CHANGE. Ascii NaN - was either reported as DF_BAD or ignored altogether depended on context; - binary NaN was not handled at all, leading to possible segfaults. - 2) Treat NaN in non-coordinate data columns in the same way as NaN in a - coordinate. - Bug #3513138 and various problems visible by running imageNaN.dem - -2012-04-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (copy_or_invent_formatstring): Expansion to many decimal - places of precision is not necessary if the axis range spans 0, because - in that case exponential notation can be used instead. - Bug #3514604 - -2012-04-01 Hannes Nagel <hannes.nagel@itp.uni-leipzig.de> - - * term/lua.term: Do not create external png images if they are not - going to be used in the tex document. - -2012-04-01 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotWidget.h src/qtterminal/QtGnuplotWidget.cpp: - Fixes fom Mojca Miklavec: correct page size in the PDF export and always - turn on text antialiasing - -2012-03-31 Ethan A Merritt <merritt@u.washington.edu> - - * src/pm3d.c term/post.trm term/pslatex.trm src/term_api.h src/color.c: - The core code should not write terminal-specific output. Instead define - TERM_LAYER_BEGIN_PM3D_MAP and TERM_LAYER_END_PM3D_MAP and use the - term->layer() mechanism. This prevents garbage from being written out - to the cairolatex terminals in pm3d mode. - Bug #3513291 - -2012-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c (gp_cairo_draw_polygon): Always stroke - previous path before starting a new polygon. Also, dots are slow. - Only draw them if specifically requested. - Bug #3512955 - -2012-03-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (enhanced_recursion): Revised handling of backslash - character in enhanced text processing. - Bug #3496517 - -2012-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/canvasmath.js: Handle tab and newline. - -2012-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/plot2d.h: Allow variable pointsize in label plots. - - * term/canvas.trm: Push the correction for over-sampling of Pt - coordinates down one level so it matches the other graphics item types. - - * src/unset.c: "reset" must clear range_is_reverted flag for all axes. - -2012-03-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c (gen_tics): Be even more paranoid about precision error in - axis range or tic steps. - - * src/set.c: Sanity checking on requested number of minitic intervals. - -2012-03-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/gplt_x11.c (exec_cmd): Don't feed unknown strings directly - to *printf. - - * src/plot3d.c (eval_3dplots): Don't mix up enums JUSTIFY and - VERT_JUSTIFY. - - * src/plot2d.c (eval_plots): Don't mix up enums JUSTIFY and - VERT_JUSTIFY. - - * src/graphics.c (do_plot): Don't mix up enums JUSTIFY and - VERT_JUSTIFY. - - * src/color.c (cbtick_callback): Don't mix up enums JUSTIFY and - VERT_JUSTIFY. - -2012-03-16 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/svg.trm: - Do not allow execution of popen() commands during initialization. - -2012-03-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/graphics.c src/save.c src/set.c src/show.c - src/term.c src/term_api.h docs/gnuplot.doc: - New option "set style circle {no}wedges" - -2012-03-13 Michael Reeves <mgreeves@users.sourceforge.net> - - * src/graphics.c: Improved calculation of the margin space needed to - hold rotated x and x2 tic labels. - Bug #3482491 - -2012-03-12 Bastian Maerkisch <bmaerkisch@web.de> - - * win/gnuplot.iss: Bump version number of installer to 4.7. - - * config/mingw/Makefile: New target 'zip' for zip file distribution. - -2012-03-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/graphics3d.c src/util3d.c: - Preparatory cleanup for re-working of axis reverse and range check - processing. This change reduces the size of code produced by macro - STORE_WITH_LOG_AND_UPDATE_RANGE (called >50 times) - but does not change the runtime behavior of the program. - - * src/axis.c src/axis.h src/command.c src/gadgets.h src/mouse.c - src/mouse.h src/plot2d.c src/plot3d.c src/save.c src/set.c src/unset.c - docs/gnuplot.doc: - Change the handling of "set [xyz]range reverse". - Get rid of flag RANGE_REVERSE. Axis range endpoints are now always - stored as-is (i.e. XAXIS.min is not guaranteed to be numerically less - than XAXIS.max). The user command "set [xyz]range ... reverse" now - only affects auto-scaling. This is a change in behavior, although it - matches what the documentation has always given as the intended use. - Fixes various bugs and unexpected behavior; e.g. - "set xr [1:0]; set xr [0:1];" left the axis range reversed. - -2012-03-09 BUMP DEVELOPMENT VERSION NUMBER TO 4.7 - -2012-03-09 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: Odd corner-case of histograms + "set style incr user". - Bug #3499425 - -2012-03-03 Petr Mikulik <mikulik@physics.muni.cz> - - * docs/doc2ipf.c (process_line): Don't use assert() because it calls - int_error(). - -2012-03-02 Petr Mikulik <mikulik@physics.muni.cz> - - * config/makefile.os2: version.o is required for gnuplot_x11.exe. - -2012-03-02 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Point to www.gnuplot.info as the URL for all demos. - - * configure.in src/plot.c src/version.c src/show.c config/mingw/Makefile: - Mark this explicitly as a DEVELOPMENT_VERSION at configuration time - rather than hiding or providing a RELEASE_VERSION definition in - individual source files. - -2012-03-01 Ethan A Merritt <merritt@u.washington.edu> - - * README README.1ST INSTALL TODO FAQ.pdf: Update text for version 4.6 - -2012-02-29 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/wxterminal/wxt_gui.cpp (OnMouseWheel): wxWidgets 2.9 supports - horizontal mouse scrolling. - -2012-02-25 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in tutorial/tutorial.tex: Update latex tutorial for version - 4.6 but do not install it by default. - -2012-02-25 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/command.c src/misc.c src/plot.c src/plot.h: - Unterminated blocks (i.e. missing }) in batch mode caused the program to - erroneously wait for further input or - when commands were streamed - through a pipe - crash. Fix: display an appropriate error message instead. - Bug #3491904 - -2012-02-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/stats.c: Remove order-dependence of keywords. - Bug #3491215 - -2012-02-21 contributed anonymously - - * src/term.c (do_arc): Arcs smaller than 3 degrees were being - reduced to a single line. Bug #3490227. - -2012-02-19 David Leverton <dleverton@users.sourceforge.net> - - * src/graphics.c (edge_intersect): Fix a bug that failed to draw a - pure horizontal or vertical from out of range that crossed the entire - range of a plot to terminate on the boundary. - Bug #3488666 - -2012-02-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c src/graphics.c: The histogram code was not designed to - mix well with other plot styles, and in particular with function plots. - Fixes segfault on "plot 1, newhistogram illegal-syntax, foo". - Fixes Bug #3486639 (key entry spacing of histograms + something else) - -2012-02-08 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotItems.h src/qtterminal/QtGnuplotItems.cpp: - Fixed the const-ness of QtGnuplotKeybox members. - -2012-02-06 Thanate Dhirasakdanon <dthanate@users.sourceforge.net> - - * term/lua.trm: Compatibility wrapper functions to support both lua 5.2 - and earlier versions. - - * term/lua/gnuplot-tikz.lua: fix tightboundingbox option - -2012-02-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Remove error test that could not be reached in the DATA - case and is incorrect in the FUNC case. - -2012-01-30 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c term/linux.trm: Provide a 5x9 raster font for linux.trm - and svga.trm so that they are not dependent on --with-bitmap-terminals. - Bug #3481336 - -2012-01-29 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Make the font scale handling more like pdf and eps. - Bugs #3478745 #3480006 - -2012-01-26 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c: If there is no key title, there is no need to draw a - line between the title and the key samples. - Bug #3478984 - - * docs/gnuplot.doc: Clarify that strlen returns string length in bytes, - not characters. - -2012-01-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.h src/datafile.c src/plot2d.c src/breaders.c src/plot3d.c - src/stats.c: When reporting bad data in an input file, give the file - name in addition to the current line number. - - * term/wxt.trm src/term_api.h src/term.c src/qtterminal/qt_term.cpp - src/wxterminal/wxt_gui.cpp: Switching the terminal from qt to wxt or - vice versa causes the program to lock up or segfault. Introduce a flag - terminal_interlock to prevent such a switch. - -2012-01-19 Khanh-Dang <kdntl@users.sourceforge.net> - - * gplt_x11.c (gpXStoreName): Provide a name string for both - WM_NAME and WM_ICON_NAME. - -2012-01-17 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * configure.in src/Makefile.am src/qtterminal/Makefile.am - src/qtterminal/QtGnuplotApplication.cpp - src/qtterminal/QtGnuplotApplication.h src/qtterminal/QtGnuplotEvent.cpp - src/qtterminal/QtGnuplotEvent.h src/qtterminal/gnuplot_qt.cpp - src/qtterminal/qt_term.cpp term/qt.trm: The Qt terminal application is - executed in a separate executable called gnuplot_qt, started by exec. - This makes the Qt terminal compatible with OS X. - -2012-01-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/eval.c (update_plot_bounds): Store the canvas size used by - the previous plot in user accessible variables GPVAL_TERM_XSIZE, - GPVAL_TERM_YSIZE. - -2012-01-15 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/mouse.c (event_buttonpress): Treat mouse buttons 6/7 as - left/right scroll events (e.g. from fingers on a touchpad). - - * src/qtterminal/QtGnuplotScene.cpp (mouseReleaseEvent): Pass - horizontal scroll events through to gnuplot core as mouse events - 6/7. - -2012-01-15 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.mgw: Sync with configure. - -2012-01-14 Bastian Maerkisch <bmaerkisch@web.de> - - * tutorial/linepoin.plt: Avoid deprecated syntax. - - * win/gnuplot.iss: Create startup menu item for tutorial.pdf. - - * config/mingw/Makefile config/msvc/Makefile src/plot.c: - GNUPLOT_SHARE_DIR is relative to gnuplot directory on Windows. - Extend build support for documentation, include in installer. - -2012-01-12 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * win/gnuplot.iss: Japanese translation - -2012-01-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/util3d.h src/util3d.c (edge3d_intersect two_edge3d_intersect) - src/graph3d.c (plot3d_lines_pm3d): The utility routines in util3d - assumed that a 3D curve is always traversed in ascending order of the - constituent points. But plot3d_lines_pm3d scans in both directions, - leading to incorrect clipping and possible array over-run when the - utility routines were called. Furthermore, the arrays holding the - scan direction info were never initialized. - Bug #3471163 - -2012-01-09 Ethan A Merritt <merritt@u.washington.edu> - - * docs/Makefile.in src/term.h src/makefile.awc src/Makefile.all - term/mac.trm: - Remove vestigial terminal wrapper (contents are long gone). - -2012-01-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c: Allow shell commands from ~/.gnuplot but not from shared - initialization files. - - * configure.in: Report status of aquaterm configuration correctly - (Lutz Maibaum). - -2012-01-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lf_pop): If the current input stream from "load file" is - really a pipe, close it with pclose() rather than fclose(). - Bug #3470351 - -2012-01-07 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotScene.cpp: Normalize the zoom rectangle to avoid - redrawing artifacts - -2012-01-05 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/Makefile.am: Tweak autodetection of Qt utilities to - handle differences in the Qt 4.6 and 4.7 pkg-config files. - - * src/set.c: Call gp_expand_tilde() in 'set loadpath' and 'set fontpath'. - -2012-01-04 Colin Macdonald <macdonald@maths.ox.ac.uk> - - * src/gplt_x11.c: Set WM_CLASS to "Gnuplot" for the benefit of various - window managers. - -2012-01-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/hidden3d.c: Fix an uninitialized colorspec found by valgrind. - The trigger was hidden3d handling of '... with labels tc palette'. - -2012-01-02 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc src/graphics.c: Establish a documented clipping - behavior for rectangles - clip to fit in the graph unless one or both - corners are given in screen coordinates. - -2012-01-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotApplication.cpp (processEvent): - * src/wxterminal/wxt_gui.cpp (wxt_atexit): - In "persist" mode, if all qt plot windows were already closed when the - main program exited then the daughter process would become a zombie. - Even worse for wxt; if _any_ plot windows had been closed then the - persisting daughter process would become a zombie. - Bugfix. - -2011-12-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot.c src/plot.h src/qtterminal/qt_term.cpp: - Provide a function cancel_history() that can be called by terminal - helper functions after forking so that the history file isn't - trashed on exit. - Bug #2950711 - -2011-12-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotEvent.h src/qtterminal/QtGnuplotItems.cpp - src/qtterminal/QtGnuplotItems.h src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/QtGnuplotScene.h src/qtterminal/qt_term.cpp term/qt.trm: - - Organize Qt display list items into groups, one group per plot. - Track display area of keybox entries so that mouse clicks there can - toggle the visibility of the corresponding plot group. - NB: Doesn't work if the key box is set to opaque. - - * docs/gnuplot.doc share/Makefile.am share/colors_default.gp - share/colors_mono.gp share/colors_podo.gp share/gnuplotrc - src/Makefile.am: - Provide template initialization files, including examples of customizing - the linetype color sequence. These are installed in $GNUPLOT_SHARE_DIR. - - * src/command.c src/datafile.c src/help.c src/history.c src/misc.c - src/plot.c src/plot.h src/term.c src/variable.c: - Do not allow execution of system(), shell, or popen() commands in the - initialization files. - - * src/plot.c src/show.c: More compact splash page. - - * configure.in: Default to --enable-stats --without-bitmap-terminals - - * Remove obsolete interface shim intergraph.x11 - - * src/graphics.c src/graphics.h src/graph3d.c: - Strangely, the final parameter of place_objects(,,,clip_area) was - (1) never used and (2) shadowed a global parameter that _was_ used. - Bug #3426247 - -2011-12-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotEvent.cpp src/qtterminal/QtGnuplotScene.cpp: - If two button release events occur in quick succession then the program - messes up the event handling and winds up in a non-recoverable state. - Apply an empirical fix to ignore events in a 300 msec window. - Also rather than ending up a zombie, exit explicitly on a sync error. - Bugfix - -2011-12-23 Ethan A Merritt <merritt@u.washington.edu> - - * QtGnuplotEvent.h QtGnuplotScene.cpp QtGnuplotWidget.h qt_term.cpp: - Support LT_BACKGROUND in qt terminal. - - * src/wxterminal/wxt_gui.cpp: - Revised mechanism for toggling plots on/off. - -2011-12-23 Bastian Maerkisch <bmaerkisch@web.de> - - Installer for Windows. Japanese translation by Shigeharu Takeno. - - * win/gnuplot.iss win/modpath.iss: Installer script to be compiled by - Inno Setup. New files. - - * win/Copyright-ja.txt: Japanese translation of Copyright, includes - original text. Encoding is Shift-JIS. - - * win/README-Windows.txt win/README-Windows-ja.txt: New files, - displayed by installer before installation. Based on Tatsuro Matsuoka's - README.Windows.gpteam and README. - - * config/mingw/Makefile: New make target 'installer'. Let make dist - copy TeX files to a standard TeX directory structure (TDS). - - * Makefile.am (EXTRA_DIST): Include win/ - -2011-12-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: The default sequence of histogram colors was one off - from the default sequence of line colors. Bugfix. - -2011-12-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotScene.cpp src/qtterminal/QtGnuplotSettings.ui - src/qtterminal/QtGnuplotWidget.cpp src/qtterminal/QtGnuplotWidget.h: - Support rounded linejoins/caps in qt terminal. - - * src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h term/qt.trm: - Add term->layer() entry point for qt terminal. - - * src/qtterminal/qt_term.cpp: - Support for dashed lines in qt terminal. - -2011-12-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c src/wxterminal/wxt_gui.cpp term/svg.trm: - Allow toggling individual plots on/off inside a multiplot page. - Bugfix. - -2011-12-08 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/Makefile.in term/context.trm docs/doc2rnh.c: - Miscellaneous documentation updates, remove dead URLs. - - * configure.in docs/gnuplot.doc src/plot.c src/show.c - config/config.cyg config/config.dj2 config/config.mgw config/config.nt - config/config.os2 config/config.oww config/makefile.unx: - - Despite what it says in the documentation, and despite what the - configure script prints out, auto-configuration never defined the - NOCWDRC flag to disable reading an initialization file .gnuplot - from the current directory. This is a security risk. Furthermore, - having to define something special to get the secure state is bad - design. Fix the configuration script and default to not initializing - from the current directory. Put a warning in various config files. - -2011-12-07 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/random.dem: Use loops to create random number data sets. - -2011-12-06 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c src/win/wtext.h config/config.mgw config/config.nt - config/mingw/Makefile config/msvc/Makefile: Emulation of popen/pclose - for wgnuplot via temporary files. Briefly opens a console window for - every pipe and read and write pipes are supported. - -2011-12-05 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/winmain.c: Automatic language detection can be overridden - by new setting "Language=XX" in wgnuplot.ini. Suggestion by Shigeharu - Takeno. - -2011-12-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.h src/set.c src/show.c src/graph3d.c src/graphics.c - src/save.c docs/gnuplot.doc: Add an arrow specification syntax variant - "set arrow <tag> from <position> length <val> angle <angle>" - that makes it easy to describe arrows of constant length, independent of - terminal or graph aspect ratios and 3D view angle. - -2011-12-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (draw_3d_graphbox): Rather than treating the position - of the z-axis label as a fixed 3D [x,y,z], always draw it at a fixed - distance to the left of the z axis. This is a CHANGE in behavior. - Bug #2879916 - -2011-11-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/QtGnuplotItems.cpp src/qtterminal/QtGnuplotItems.h - src/qtterminal/QtGnuplotScene.cpp src/qtterminal/qt_term.cpp - term/qt.trm configure.in: - - Pointsize is a double, not an integer (fractional sizes were being - truncated to zero). - - When a polygon is flushed, the final vertex must be kept as the - current position. Bug #3370540. - - The default rendering ("native") is pathetically slow for polygons. - If the Qt version is >= 4.7 this can be changed using environmental - variable QT_GRAPHICSSYSTEM. Otherwise we force it to "raster". - -2011-11-29 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/Makefile.in: Remove duplicate entry for qt in CORETERMS. - -2011-11-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/scanner.c (legal_identifier) src/scanner.h src/stats.c fit.c: - Make sure that the variable name produced by the "stats ... prefix" - command is a legal identifier. - Bug #3441395 - - * src/set.c (set_autoscale_axis): Remove unjustifiably large macros. - - * docs/gnuplot.doc src/graph3d.c: Spelling, additional index keywords. - -2011-11-26 Bastian Maerkisch <bmaerkisch@web.de> - - * config/config.nt config/config.mgw: Sync with config.h created by - autoconf. - - * src/msvc/Makefile: More complete install target. Add new variables - to hold paths to external libraries. - - src/mingw/Makefile: Include index in gnuplot.pdf. - -2011-11-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm: Revert the change of 2011-08-25 that tried to skip - empty vectors. The concept was sound but the implementation was not - correct, leading to mysteriously missing lines. - Bugfix. - -2011-11-26 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Support building of the Japanese help file - wgnuplot-ja.chm. - - * src/win/wpause.c: Remove local definition of TBOOLEAN. - - * docs/plotstyles.gnu: Prefer pngcairo over png terminal. Use font - "Times New Roman" on Windows. - - * src/syscfg.h: All tested platforms (XP, Vista, 7) support '/' as - directory separator. - - * src/eval.c (update_gpval_variables): New variable GPVAL_ENCODING. - - * term/gd.trm (gd_iconv): Silence const mismatch compiler warning - in call to iconv by casting second argument to (void *). - -2011-11-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/setshow.h src/unset.c src/axis.c src/graph3d.c src/plot3d.c - src/set.c src/term.c: Deal with more FIXMEs. - - * src/axis.c src/axis.h src/mouse.c src/save.c src/set.c src/show.c - term/canvas.trm term/js/gnuplot_mouse.js term/js/gnuplot_svg.js - term/svg.trm demo/world.dem docs/gnuplot.doc: - - New coordinate mode for geographic (DMS) data axes. - `set xdata geographic` indicates that the x coordinate is to be - interpreted as a geographic coordinate measured in degrees. - Use `set format x` to establish how the coordinate appears as an axis - tick label. Similarly for the y axis. - -2011-11-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/term_api.h src/misc.c src/hidden3d.c: New flag LT_SINGLECOLOR - passed through to hidden3d to indicate that the user gave an explicit - surface color in the splot command. - Bugfix. - -2011-11-22 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 4.6 (cvs tag -b branch-4-6-stable) - ->>> Earlier entries are in ChangeLog.3 diff --git a/docs/old/ChangeLog.5 b/docs/old/ChangeLog.5 deleted file mode 100644 index 288a71c2a..000000000 --- a/docs/old/ChangeLog.5 +++ /dev/null @@ -1,1355 +0,0 @@ -2014-08-21 Ethan A Merritt <merritt@u.washington.edu> - - * Branchpoint for 5.0 (cvs tag -b branch-5-0-stable) - - The main (development) branch is now marked 5.1 and will eventually - be used as the basis for a future release named gnuplot version 5.2. - - >>> NOTE <<< - - Starting now - ============ - - * Bugfixes for version 5 should be applied to both the main branch - (5.1 == this one) and the stable branch (branch-5-0-stable). - They will first appear in patchlevel releases 5.0.1, 5.0.2, and so on. - - * Major new features and experimental changes belong here, not in the - stable branch. They will appear eventually in release 5.2. - - * Minor new features can go in both branches at your discretion, but - remember that the stable branch should ideally never break. - That means new code should be tested here in the development - branch first, and only after testing be added or back-ported to the - stable branch. - -2014-08-20 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: Distinct empirical scale factors for - dashlength used by pngcairo, pdfcairo, and wxt. - * term/emf.trm: Scale dashlength with current linewidth. - -2014-08-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_arrows) src/graph3d.c (place_arrows3d): - Only invoke the arrowheads only code if there really is an arrowhead. - -2014-08-18 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile (VPATH): Drop $W from VPATH. Necessary to - avoid circular dependency on wgnuplot.mnu - (%.$(O)): Use pattern rule instead of VPATH to build Windows - source files. - (VERSIONING): Avoid inverted logic in makefile conditional. - (console, windows, pipes): Simplify by letting the default rule in - the sub-make handle things. - (default, all): Versioning is really needed by $(TARGET) rule, - so let that handle constructing it. - ($(TARGET)): Do VERSIONING first, drop dependencies on icon files. - (%.o): Use pattern rules to build Qt source files. Much simpler - than spelling it out long hand for every single source file. - -2014-08-15 Ethan A Merritt <merritt@u.washington.edu> - - * src/bf_test.c src/Makefile.am src/binary.* (removed) - config/makefile.os2 config/makefile.dj2 config/makefile.cyg - config/cygwin/Makefile config/mingw/Makefile config/msvc/Makefile: - Remove bf_test dependence on all other gnuplot files and libraries. - This makes binary.c and binary.h superfluous. - Bugs #1412 #1451 - - * src/makefile.all src/makefile.awc: Remove mention of binary.o - - * config/*/Makefile: Remove alloc and binary from bf_test dependencies - - * src/graphics.c (place_objects) src/set.c (set_obj): - Apply default rectangle style at the time of a "set object rect" - command rather than waiting until the rectangle is drawn. This prevents - the default style line/dash settings from overriding explicit rectangle - commands. - Bug #1460 - - * src/save.c (save_linetype): Bugfix - dashtype was being saved only if - there was also a point type. - - * src/gadgets.c (apply_pm3dcolor): Don't clobber current dashtype by - calling term->linetype(LT_BLACK). Call term->set_color(BLACK_COLORSPEC) - instead. - - * src/graphics.c (place_arrows) src/graph3d.c (place_arrows3d): - Force solid lines for arrow heads. - -2014-08-15 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/gplt_x11.c: For single byte fonts gnuplot_x11 uses a list of - previously used fonts to speed up the search for a new target font. - Now we add an equivalent for multi-byte font search. - -2014-08-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (do_rectangle) src/graph3d.c (map3d_position_r) - demo/rectangle.dem: Fix y extent and clipping of rectangles with - negative y coord or inverted axes. - Bug #1462 - -2014-08-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_buttonpress): Remove extraneous event_reset. - -2014-08-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_colorspec): Apply user-defined line colors - to text color also. - Bug #1452 - - src/misc.c src/save.c src/set.c src/term.c src/term_api.h: - Store custom dashtype string as a constant length character array - rather than a dynamically allocated string. This fixes memory - leakage that happened whenever a linetype using dashes was discarded. - -2014-08-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_buttonpress): Trap mouse button click on - press rather than on release so that "pause mouse {button1|any}" - takes precedence over a key binding to the mouse button. - Bugfix - -2014-07-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/x11.trm: Remove misleading mention of -noevents. This is a - command line option for gnuplot_x11, not for gnuplot itself. - - * src/datafile.c docs/gnuplot.doc demo/heatmaps.dem: - New text input matrix keywords `columnheaders` and `rowheaders`. - These handle reading matrix data from a csv file in which the first - row and/or column contains labels rather than data. - - * src/eval.c (update_plot_bounds): Provide a user-visible copy of - the current terminal scale (oversampling, etc) as GPVAL_TERM_SCALE. - Bug #1291 - -2014-07-28 Allin Cottrell <cottrell@wfu.edu> - - * src/syscfg.h: Report 32/64 bit Windows build in version string - -2014-07-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: Do not pass a linewidth of zero to the - cairo library. The linewidth of LT_AXIS is now set in the core code, - do not further reduce it in gp_cairo_stroke(). - -2014-07-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/gplt_x11.c: Scale x11 dashlength with linewidth. - -2014-07-23 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * src/mouse.c src/mouse.h src/set.c src/show.c docs/gnuplot.doc: - New command 'set mouse zoomfactors <xfactor>,<yfactor>' - -2014-07-22 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/plot2d.c (store2d_point): - INRANGE/OUTRANGE refer to points that are inside/outside the plot - boundaries as defined by xrange, yrange, etc. They fail to handle - points that are outside theta range limits given for polar data. - That is, a point may be outside of trange [pi/2:pi] even though it - would lie well inside the plot boundaries if drawn. - Add a new category EXCLUDEDRANGE for such points. - - * src/graphics.c (plot_impulses): Test for EXCLUDEDRANGE data points - so that set trange [theta_min:theta_max] actually does something. - Bug #1439 - - * demo/poldat.dem: Make sure trange includes the whole plot. - -2014-07-18 Ethan A Merritt <merritt@u.washington.edu> - - * demo/Makefile.am.in: Do not create a symlink to GNUPLOT_X11 in the - build directory during "make check". This was probably intended to - handle the rare case of ./configure --program-suffix=foo but it breaks - the more common case of configuring on a system without x11 support - and then running "make check" twice. - Bugfix - -2014-07-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/gadgets.c src/save.c src/set.c src/gadgets.h: - Continue to recognize "set style increment user" even though it has - been deprecated in favor of "set linetype". - Bug #1411 (not really a bug) - -2014-07-12 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (check_for_iteration): Fix failure to detect some loop - [start:end:increment] combinations that should be executed only once - or not executed at all. - Bug #1441 - -2014-07-10 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_dummy): More sanity checks on "set dummy" syntax. - Bug #1442 - -2014-07-06 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (load_tic_user): "set Xtics ()" should clear the list - of user-specified tics rather than setting tic generation to auto. - -2014-07-04 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc docs/term-ja.diff docs/gnuplot-ja.doc - man/gnuplot.1 man/gnuplot-ja.1: - Fix typos. Sync Japanese documentation to 1.896 - -2014-07-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c: 'q' closes graph window. - - * src/qtterminal/qt_term.cpp (qt_options) term/wxt.trm (wxt_options): - On Windows, the wxt and qt terminals can be used in the same session. - -2014-07-01 Ethan A Merritt <merritt@u.washington.edu> - - * term/cairo.trm, term/wxt.trm: - Always report {no}enhanced property in "show term". - - * src/color.c: If the current terminal has property "monochrome" then - convert all requests for constant color as "black". - Bug #1423 - -2014-06-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c src/show.c src/tables.c docs/gnuplot.doc: - New command: set margins <left>, <right>, <top>, <bottom> - acts just like four successive commands set lmargin <left>, ... - - * src/unset.c: unset margins - -2014-06-20 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/wxterminal/wxt_gui.h: The configuration test for - wxWidgets >= 2.8 had no effect on code generation. Remove this test. - - * configure.in src/wxterminal/wxt_gui.h: Revert the attemp to guess - whether -lX11 is required by wxt. As feared, this causes problems on OSX - and other platforms where wx is built on top of something other than X11. - -2014-06-16 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * fit.c: FIT_NITER holds number of iterations used by previous fit. - -2014-06-16 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in src/wxterminal/wxt_gui.h: wxWidgets versions > 2.8 want - the main program to call XInitThreads(), but fail to specify -lX11 in - wxt-config. So we force this ourselves. [=> reverted 2014-06-20] - Bug #1401 - - * src/graphics.c (xtick2d_callback): Clip r axis tics and tic labels to - the bounding box of the plot. - Bug #1290 - -2014-06-15 Dmitri A. Sergatskov <dasergatskov@gmail.com> - - * configure.in: Add LRELEASE for Qt5 autoconfiguration - -2014-06-15 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c (main): Fix persist mode on Windows when reading - from a pipe. - See Bug #1322 - -2014-06-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * src/binary.c src/datafile.h src/syscfg.h: LFS support on Windows - for MSVC and MinGW. - See also Patch #675 - -2014-06-14 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h src/axis.c src/boundary.c src/plot2d.c (eval_plots): - Unlike all other axes, log scaling was being applied to the color axis - (cb) in do_plot() rather than in the caller eval_plots(). - This caused "refresh" (as opposed to "replot") to fail. Move the - log-scale correction up to eval_plots() like the other axes. - Bug #1425 - - * src/misc.c (prepare_call): Allow parenthesized expressions as - call parameters. The value is passed as a string. - - * src/command.c (exit_command): New option "exit error 'message'" - prints the message and return to the top command line, breaking out - of any loops or calls cleanly. In non-interactive mode the program - then exits. - -2014-06-13 Bastian Maerkisch <bmaerkisch@web.de> - - * src/qtterminal/qt_term.cpp (qt_waitforinput): Fix index error - when trying to stop thread which reads from pipe. - Bug #1426 - -2014-06-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_generate_pseudodata): Do not try to access plot - structure if we were called from fit rather than plot. - Bug #1427 - -2014-06-12 Christoph Bersch <usenet@bersch.net> - - * term/lua.trm term/lua/gnuplot-tikz.lua: - Scale dashlength with linewidth. - -2014-06-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/mouse.c (event_reset) src/qtterminal/QtGnuplotWindow.{h|cpp}: - Window close events from qt were not being passed through to the main - program, so "pause mouse close" did not work. Also a backgrounded - instance could hang rather than exit when the last plot window closed. - Bug #1418 - - * src/fit.c: Remove spurious test and error message for time data - with only 2 columns in the using spec. - Bug #1424 - - * man/gnuplot.1: update - -2014-06-11 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * term/aquaterm.trm: Correctly support encoding CP1252. - -2014-06-11 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Include Qt platform DLLs in distribution package. - -2014-06-10 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc: Add a section explaining the "persist" option. - Bug #1418, #1419 - - * term/post.trm term/svg.trm src/qtterminal/qt_term.cpp: - Add an empirical scale factor to the dashlength*linewidth computation to - make the resulting patterns closer in total size to the built-in ones. - -2014-06-10 Christoph Bersch <usenet@bersch.net> - - * term/post.trm term/svg.trm: Scale dashlength with linewidth. - -2014-06-09 Daniel J Sebald <daniel.sebald@ieee.org> - - * src/qtterminal/QtGnuplotWidget.cpp (processEvent): Always "resize" - the initial plot to its own size. This may work around strangeness on - some systems that create the initial qt plot window with the wrong size. - Bug #1417 (forwarded from Debian) Patch #661 - -2014-06-09 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgdiplus.cpp src/win/wgraph.c src/win/wgnuplib.h - term/win.trm: - Version 5 dashtypes. Custom dashtypes supported by GDI+ driver. - - * src/wxterminal/wxt_gui.cpp: Also "restore" the window state on - "raise". - Bug #1389 - - * src/win/winmain.c (WinMain): Change type from PASCAL to CALLBACK. - - * src/fit.c: Test if covariance matrix is available before saving - it to user variables. - -2014-06-08 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc win/README-Windows.txt win/README-ja.txt - docs/gnuplot-ja.doc: sync to docs version 1.891 - -2014-06-07 Mojca Miklavec <mojca.miklavec.lists@gmail.com> - - * src/wxterminal/gp_cairo.c: Scale dashlength with linewidth, similar - to what qt does. - -2014-06-04 Bastian Maerkisch <bmaerkisch@web.de> - - * src/plot.c src/win/winmain.c|h term/caca.trm: Only if a wxt, caca - or windows terminal window is open, the -persist option is handled by - keeping the main input loop running. This is unfortunate but maybe the - best we can do since we are missing a process fork or detach mechanism. - This avoids a zombie process when no plot windows are open in a - session. For the qt terminal -persist works as on other platforms - since it uses a secondary process. - Bugs #1308, #1335, #1343 - -2014-06-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c src/show.c src/save.c docs/gnuplot.doc: - The hidden3d code processes the lines making up the plot border using - the same algorithm as it does for the plot elements. This renders - partially occluded borders correctly for actual surfaces but fails to - recognize occlusion for, e.g., 3D histograms drawn with impulses. - New keyword option "set border behind" draws the border lines before - the plot elements even for hidden3d plots. - - * src/term_api.h src/wxterminal/gp_cairo.c src/wxterminal/wxt_gui.cpp: - Change the implementation of greying out inactive keybox entries in wxt - to use a textbox rather than the active area of the key entry. - Bug #1416 - - * src/hidden3d.c (draw_vertex): Handle p_type == PT_CHARACTER. - -2014-06-02 Bastian Maerkisch <bmaerkisch@web.de> - - * src/win/wgraph.c src/win/wgdiplus.cpp: - Grey out key entries when corresponding plot is toggled off. - - * src/win/wgraph.c (GraphUpdateWindowPosSize) src/win/wgnuplib.h - term/win.trm (WIN_options): Immediately apply changes to window - position and size. - Bug #1400 - - * src/datafile.h: Revert the Windows LFS changes for now as - they seem to cause problems on some systems. - -2014-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/gadgets.c src/misc.c src/set.c src/unset.c: - Replace magic numbers with LAYER_{BEHIND|BACK|FRONT}. - - * src/graph3d.c: Remove obsolete (always true) conditional - USE_GRID_LAYERS. Minor clean up for the grid layer logic. - -2014-06-01 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * win/gnuplot.iss: Include gnuplot_qt.exe in installer. - Patch #689 - - * src/qtterminal/gnuplot_qt.cpp: Search for Qt translation files - in gnuplot's installation directory on Windows. - Patch #687 - -2014-06-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.h: Partial support for LFS on Windows. Currently - mostly useful for 64 bit builds since integers on the the gnuplot - command line are limited to 31bits otherwise. - Patch #675 - -2014-06-01 Bastian Maerkisch <bmaerkisch@web.de> - - * config/mingw/Makefile: Target 'clean' and 'veryclean' include - Qt files, see patch #688. - - * config/mingw/Makefile win/gnuplot.iss: Include RELEASE_NOTES. - Add "qt" as option as default terminal. - -2014-05-30 Ethan A Merritt <merritt@u.washington.edu> - - * term/post.trm term/cairo.trm: The "header" keyword for epslatex - and related terminals can introduce a string of arbitrary length. - Therefore it is not safe to try to store it in the fixed length - term_options character array. - Bug #1413 - - * term/gd.trm: Limit the stored length of the font so that term_options - cannot overflow. - Bug #1413 - - * Makefile.am RELEASE_NOTES: Include Release Notes in the distribution - package. - - * FAQ.PDF: Update for version 5. - - * src/gplt_x11.c: - Grey out key entries when corresponding plot is toggled off. - -2014-05-29 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * term/caca.trm: Modify nominal codepage to accommodate CJK Windows. - -2014-05-29 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * config/mingw/Makefile: Support compilation of the qt terminal. - Patch #684 - -2014-05-29 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * docs/gnuplot.doc: Improve documentation of `update` command. - Patch #686 - - * src/win/wgdiplus.c src/win/wgraph.c: Change order of pointtypes to - match the sequence in other terminals (cairo, postscript, gd, svg). - Patch #681 - -2014-05-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graph3d.c (plot3d_points): Handle pointtype PT_CHARACTER. - - * src/plot3d.c: Rearrange the order of testing for plot style options - so that it is not possible to end up with uninitialized font or text - properties. - -2014-05-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_readascii): Report status DF_UNDEFINED if a data - value evaluates to the constant "NaN", just as if we calculated it on - the fly to be e.g. 1/0. - * src/stats.c: Remove out-of-date comment that incorrectly describes - what happens in this case. - Bug #1408 - -2014-05-26 Ethan A Merritt <merritt@u.washington.edu> - - * term/js/gnuplot_svg.js term/svg.trm: - Grey out key entries when corresponding plot is toggled off. - - * src/qtterminal/QtGnuplotItems.* src/qtterminal/QtGnuplotScene.cpp: - Grey out key entries when corresponding plot is toggled off. - - * src/wxterminal/wxt_gui.cpp (wxt_grey_out_key_box): - Grey out key entries when corresponding plot is toggled off. - -2014-05-24 Bastian Maerkisch <bmaerkisch@web.de> - - * src/wxterminal/wxt_gui.cpp (wxt_waitforinput): Do not wait for an - event when only checking for mouse events. - Bugfix - -2014-05-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/boundary.c: A width adjustment for the length of the key title - was being applied to every column of entries in the key instead of just - once for the whole key. Apply the "set key {no}enhanced" property to - the key title as well as to the individual plot titles. - Bugfix. - -2014-05-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/wxt_gui.h: Apparently wxWidgets3 (wxgtk3) threads call - into Xlib but fail to initialize X threading before doing so. Therefore - we must call XInitThreads before forking wxt threads. - Bug #1401 - -2014-05-19 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * term/emf.trm: Add point types pentagon (14) and filled pentagon (15) - -2014-05-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (load_linetype): As documented, "set linetype cycle N" - should only affect line properties (color, width, dash), not point - properties (type, interval, size). This got lost somewhere, which - meant point types > linetype_recycle_count were never used by default. - Now they are. This means that, as intended, 'with linespoints' cycles - through (linetype_recycle_count * terminal's_max_point_type) distinct - combinations before repeating so long as those two numbers are - mutually prime. Unfortunately that's not guaranteed and is terminal- - dependent. We really need a "set pointtype cycle M" command also so - that you can choose M to be prime relative to N. - Bugfix. - - * INSTALL docs/gnuplot.doc: Update description of new features. - -2014-05-15 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in PATCHLEVEL src/version.c docs/titlepag.tex: - Bump version information to 5.0.rc1 - - * demo/dashtypes.dem: Avoid irrelevant warning message. - -2014-05-14 Karl Ratzsch <ratzsch@uni-freiburg.de> - - * term/svg.trm src/wxterminal/gp_cairo.c: - Add point types pentagon (14) and filled pentagon (15) - - * src/qtterminal/QtGnuplotItems.cpp: - (EAM) Add point types pentagon (14) and filled pentagon (15) - -2014-05-13 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/tables.c src/tables.h: Remove undocumented routine - test_time(). It was never updated to handle sub-second time precision, - and in any case the functionality is now covered adequately by - "print strptime()" and "print strftime()". - - * src/color.c (filled_polygon_3dcoords filled_polygon_zfixed) - src/pm3d.c (filled_color_contour_plot): The option "set pm3d at C" is - undocumented and doesn't work anyhow. Wrap the corresponding code in - #ifdef PM3D_CONTOURS . This disabled code may or may not be useful for - some future implementation of filled contours. - - * term/post.trm (PS_dashtype): Always stroke the previous path before - setting a new dashtype. - -2014-05-11 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/util.c (LOCAL_BUFFER_SIZE): New constant. - (gprintf): Use constant to identify buffer size, instead of typing - the same magic number multiple times. Insert warning about - remaining magic number. - - * src/plot2d.c (get_data): Fix buffer overflow a bit more cleanly. - (compare_boxplot_factors): Insert warning about magic number. - -2014-05-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c (get_data): fix buffer overflow - - * src/datafile.c (f_stringcolumn): Return an empty string if asked for - stringcolumn(N) on an empty field of a *.csv file. Otherwise it would - return NULL which may cause a segfault later on. - Bugfix. - - * src/datafile.c (df_readascii): If xticlabels(f(n)) returns a - non-string value then do not generate an axis tic. It used to issue - a warning about illegal string values but generated a tic anyway. - -2014-05-10 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - Re-applied after tracking down conflict. - -2014-05-10 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot.doc: various small corrections - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.887 - -2014-05-10 Ethan A Merritt <merritt@u.washington.edu> - - * term/gd.trm: Do not allow setting terminal size to 0. Bug #1398 - -2014-05-10 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * term/lua.trm: Ensure initialization of alpha. - - * src/hidden3d.c (store_polygon): Ensure initialization of v[], - just in case somebody calls this function with an illegal - 'direction' enum value. - - * src/win/wgraph.c (PATTERN_BITMAP_LENGTH): Give name to magic number. - (pattern_bitmaps): Use new name. - - * term/emf.trm (PATTERN_BITMAP_LENGTH): Give name to magic number. - (pattern_bitmaps): Use new name and make const. - (EMF_filled_polygon): Define pattern pointer more locally and make - it point to const. Use named constant in loop. Fix table - underrun. - - * src/win/wgnuplib.c (GetInt): Add some parentheses. - - * src/stats.c (statsrequest): Initialize local data structs, to - avoid warnings about printing uninitialized results. - - * src/readline.c (BACKSPACE): Define as a character constant, not - some hex number. - (readline): Write TAB as character constant, not some hex number. - - * src/interpol.c (gen_interp_frequency): Ensure initialization of - y_total regardless of smooth type. - - * src/plot3d.c (grid_nongrid_data): Ensure initialization of - numpoints. - - * src/pm3d.c (pm3d_plot): Ensure initialiation of gray. - - All the following concern the same problem: Macros from <ctype.h> - cannot safely be called with arguments of type 'char' (because - that may be signed). Such values have to be cast to unsigned char - on passing. - - * src/win/wtext.c (TextPutStr): See above. - - * term/post.trm (PS_load_fontfile): See above. - - * src/win/winmain.c (GetLanguageCode, open_printer): See above. - - * src/util.c (streq): See above. - - * src/term.c (enhanced_recursion): See above. - - * src/scanner.c (legal_identifier, scanner): See above. - - * src/readline.c (backspace): See above. - - * src/plot2d.c (store_label): See above. - - * src/internal.c (f_word): See above. - - * src/gplt_x11.c (exec_cmd): See above. - - * src/eval.c (set_gpval_axis_sth_double): See above. - - * src/datafile.c (df_readascii, plot_option_binary_format): See above. - - * src/command.c (changedir, expand_1level_macros): See above. - - * src/breaders.c (edf_findInHeader): See above. - -2014-05-08 Dima Kogan <dima@secretsauce.net> - - REVERT patch from 2014-04-26 because it broke normal zoom operations. - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - -2014-05-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.h (ACTUAL_STORE_WITH_LOG_AND_UPDATE_RANGE) - src/plot2d.c (store2d_point) src/plot3d.c (get_3ddata) - src/datafile.c (df_readascii) src/tabulate.c: - Revised handling of NaN or Inf in the input data stream. The program - used to set type=undefined for this point but left all the data fields - untouched (i.e. left them containing random garbage). Version 5 fills - in all data fields, including the one[s] containing NaN or Inf. - This means that the output from "set table" matches the input data - whereas before any line marked "u" contained garbage in the data fields. - - Note: For 3D data z=NaN or z=Inf is replaced by z=0. This is needed to - avoid problems with image data. Possibly this special case should be - handled in the image code itself rather than at the input stage. - - * src/plot2d.c (impulse_range_fiddling) src/plot3d.c: Don't extend - range to zero for log-scaled axes. - -2014-05-06 Ethan A Merritt <merritt@u.washington.edu> - - * term/emf.trm: Custom dashtype support. - - * configure.in term/pdf.trm: Modify PDFlib terminal for use with - version 5 dashtypes (but no custom dashtype support). Do not build - by default. - -2014-05-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/graphics.c (place_objects do_rectangle) - src/misc.c (lp_parse) src/save.c (save_object) src/set.c (set_obj): - Allow object borders to have a full set of line properties including - dashtype. - - * docs/gnuplot.doc: Update documentation to better describe recent - changes. - - * src/qtterminal/QtGnuplotScene.cpp: Always use a solid line to draw - point symbols, even if the current linetype has a dash pattern. - - * term/cairo.trm term/canvas.trm term/post.trm term/svg.trm term/wxt.trm - term/x11.trm src/term.c: Terminals that have been upgraded to version 5 - dash handling should ignore the "dashed/solid" terminal setting. - - * src/plot2d.c (impulse_range_fiddling) src/plot3d.c: Autoscaled plots - "with impulses" should include y=0 (z=0 in 3D) unless log-scaled. - -2014-05-05 Tatsuro MATSUOKA <tmacchant3@yahoo.co.jp> - - * src/qtterminal/po/qtgnuplot_ja.ts: Update translations - -2014-05-03 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/po/qtgnuplot_ja.ts: Update translations. - -2014-05-01 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * config/mingw/Makefile (LDFLAGS2): Add auto-import flag. - ($(TARGET)): Add icon files and Makefile as dependencies. - - * config/config.mgw, config/config.cyg: The set of used / - available configuration macros has changed across the past several - years. - - * src/stdfn.h (sgn): Fix parenthesization of macro. - (PATH_MAX): CLang compiler on Cygwin needs a silly little tweak. - - * src/graphics.c (samesign): Improve parenthesization a bit. - -2014-05-01 Ethan A Merritt <merritt@u.washington.edu> - - * demo/gantt.dem demo/html/*: Add Gantt chart to demo collection. - Add dashtypes to demo collection. - - * src/show.c: Show "fixed" property of arrow style. - -2014-04-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (f_timecolumn): Replace the old 1-parameter function - timecolumn(col) with a 2-parameter timecolumn(col,"timeformat"). The - old version had no way to handle time data that didn't correspond to - a coordinate on a plot axis in time format (e.g. set xdata time). - It would segfault if the function appeared in a using spec slot >= 2. - Now we require an explicit format, so data input is dissociated from - any particular axis or time setting. - Bug #1394 - - * src/gplt_x11.c term/x11.trm term/xlib.trm: - Custom dashtype support for X11. - -2014-04-28 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c src/mouse.h src/set.c src/show.c docs/gnuplot.doc: - Remove the distinction between "coordinate format echoed to the screen - during mousing" and "coordinate format saved to the clipboard on click". - This removes the default bindings for hotkeys 3 and 4. - -2014-04-28 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.882 - * docs/gnuplot.doc: typos - -2014-04-28 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c src/graph3d.c src/save.c src/show.c: Use named - values LAYER_{BEHIND|BACK|FRONT} rather than magic numbers. - - * docs/gnuplot.doc: Add a section documenting the use of layers. - -2014-04-27 Dima Kogan <dima@secretsauce.net> - - * src/gplt_x11.c: Fix off-by-one error in selection string. - Allow clipboard contents to be retrieved more than once. - -2014-04-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (plot_steps): Avoid overflow in clipping code. - ==> Reverted in favor of fixing the clipping code itself. - - * src/gadgets.c (clip_line): It is not safe to use (A*B >= 0) as a - substitute for the test (sign(A) != sign(B)). - It fails when A and B are integers and their product overflows. - Bugs #1390, #1392 See also Bug #1358 - - * src/stdfn.h: Define a sgn() function. - - * src/graphics.c: Use sgn() function to define samesign(). - - * src/mouse.c: No longer need a local definition of sgn(). - -2014-04-26 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom rescale_around_mouse): Handle various conditions - that caused zooming around the current mouse position to fail. - Bug #1380 - [REVERTED 2013-05-08 because it broke normal zoom] - -2014-04-25 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (lp_parse): Disallow defining "set lt N lt M". - This used to mean "define effective linetype N to be the hidden device - specific linetype M", except that in other contexts it meant "use - effective linetype M rather than effective linetype N". Version 5 - distinguishes between color and dashpatten, so require an explicit - command to set one or both rather than an ambiguous old-style request. - - * src/save.c (save_pm3dcolor save_linetype): Save special linetypes - by keyword rather than a magic number (e.g. lt bgnd rather than -3). - -2014-04-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/gp_types.h src/misc.c (lp_parse) src/misc.h src/plot2d.c - src/plot3d.c src/set.c: Revise the parameters passed to lp_parse() so - that the legal options can vary depending on the identity of the caller. - - * src/term.c (test_term): Reset to default font after Bold/Italic test. - Bug #1387 - -2014-04-24 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (do_zoom_scroll_up): Fix typo that causes incorrect - manipulation of y2 axis scale during zoom. - Bug (Patch #647) - -2014-04-23 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c src/graph3d.* src/set.c src/show.c src/save.c - docs/gnuplot.doc: Introduce a scale parameter "set view map {scale}" - and set the default size of a plot in this mode to approximately the - same as a default 2D plot. - - * src/command.c (replotrequest): It's now OK to have a range in a - replot command, since it can be applied to the new plot piece only. - - * src/datafile.c (df_readascii): If a read request returns a string - rather than a numerical value, nevertheless fill in the numerical - value as NaN. This is better than leaving some random garbage there - (in practice probably some earlier data value). - Bugfix. - -2014-04-21 Ethan A Merritt <merritt@u.washington.edu> - - * term/canvas.trm: Support for custom dashtypes. - -2014-04-20 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/po/*.ts: Update translations. - - * src/qtterminal/qt_conversion.cpp: Add new encoding types. - - * src/qtterminal/QtGnuplotEvent.* src/qtterminal/QtGnuplotWindow.cpp - src/qtterminal/qt_term.cpp src/wxterminal/wxt_gui.cpp - src/wxterminal/wxt_term.h term/qt.trm term/wxt.trm: new terminal option - "position" that specifies the initial position of the plot window. - Applies to Qt and wxt terminals. Feature request #386. - -2014-04-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (test_command): When "test" is issued before any plot - command, suppress error messages if the window is resized. - - * term/PostScript/prologue.ps term/PostScript/prologues.h: - Update PostScript prolog for version 5 and regenerate headers. - - * term/post.trm: - Support for custom dashtypes in PostScript output. - -2014-04-18 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm (set_dashtype): Fix potential buffer overrun; - - * src/misc.c (parse_dashtype): A custom pattern must contain an even - number of entries. - - * demo/dashtypes.dem demo/all.dem: New dashtype demo. - - * src/qtterminal/QtGnuplotEvent.h src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/qt_term.cpp src/qtterminal/qt_term.h term/qt.trm: - Support for custom dashtypes and dashlength in qt terminal. - Change implementation of "lt nodraw" from background color to NoPen. - - * src/term.c (enhanced_recursion): Consume only a single space following - the font name in an enhanced text string "{/Fontname text}". - - * docs/gnuplot.doc: Initial documentation for `set dashtype` and - dash properties in version 5. - -2014-04-17 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c (parse_dashtype) src/save.c (save_dashtype) src/term_api.h - src/term.c (term_apply_lp_properties) demo/dashcolor.dem: - Fix some glitches found while testing custom dashtypes. - - * src/term.c (test_term): Exercise bold/italic. Longer line samples to - make it easier to distinguish dashtypes. Minor layout changes. - - * term/svg.trm: Support for custom dashtypes. - - * src/wxterminal/gp_cairo.* src/wxterminal/wxt_gui.* - src/wxterminal/wxt_term.h term/cairo.trm term/wxt.trm: - Support for custom dashtype in all cairo-based terminals. - -2014-04-14 Dima Kogan <dima@secretsauce.net> - - * src/mouse.c (event_buttonpress): Flip direction of horizontal - scrolling to match the convention used by vertical scrolling. - -2014-04-14 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in (AC_FUNC_FSEEKO) src/datafile.h: LFS support part 2. - If possible, use fseeko/ftello to navigate input data files. - -2014-04-13 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in (AC_CHECK_TYPES([off_t])) src/syscfg.h (#define off_t) - src/binary.c src/datafile.c src/datafile.h: Change the declared type - of all variables contributing to calculation of file offsets from (int) - to (off_t). This is sufficient to allow seeking in files > 2GB on 64bit - platforms. It may also allow LFS support on some 32bit platforms if - compiled with -D_FILE_OFFSET_BITS=64 but in general it will also be - necessary to replace fseek/ftell with fseeko/ftello (32bit linux) or - _fseeki64/_ftelli64 (MSVC). - -2014-04-11 Ethan A Merritt <merritt@u.washington.edu> - - * src/datafile.c (df_binary_details[]): Handle int64 and uint64 types - even if current platform has sizeof(long) = 4. - Bugfix - -2014-04-08 Ethan A Merritt <merritt@u.washington.edu> - - * src/save.c (save_linetype) src/misc.c (lp_parse) - src/graphics.c (plot_lines) src/graph3d.c (do_3dplot plot3d_lines) - src/boundary.c (do_key_sample): - - New linetype keyword "nodraw" maps to existing internal value LT_NODRAW. - Apply this in the graphics layer rather than the terminal layer in order - to distinguish between line properties and point properties. - I.e. this draws blue points but no lines: - plot $FOO with linespoints lt nodraw pointtype 6 lc rgb "blue" - - * src/term.c (term_apply_lp_properties): Distinguish between l_type - values that really indicate a linetype (e.g. LT_NODRAW, LT_AXIS) and - those which indicate a dash pattern. Send the former directly to - term->linetype(). Send the latter to term->dashtype(), which may itself - call term->linetype() if there is no private implementation of dashes. - -2014-04-07 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (null_dashtype): Ignore custom dashtypes. Pass through - dashtypes > 0 to term->linetype(). Treat negative dashtypes as LT_BLACK. - This should allow terminals without a private dashtype implementation to - continue working as they did before (pre-version 5). - - * src/plot2d.c (eval_plots): Don't call lp_parse if all we want is - a fill color. - - * src/boundary.c (do_key_sample) src/graphics.c (plot_boxes plot_c_bars): - Funnel requests for linetype changes through term_apply_lp_properties(). - - * demo/all.dem: Add varcolor.dem to the test set. - -2014-04-06 Christoph Bersch <usenet@bersch.net> - - * src/graphics.c (fill_between): It is no longer necessary to clip in - this routine because the component quadrilaterals will be clipped later. - -2014-04-05 Ethan A Merritt <merritt@u.washington.edu> - - * src/set.c (set_table): Name leak. - -2014-04-05 Bastian Maerkisch <bmaerkisch@web.de> - - * demo/vector.dem docs/gnuplot.doc src/command.c src/datablock.c - src/datablock.h src/gadgets.c src/gadgets.h src/plot2d.c src/set.c - src/tabulate.c src/tabulate.h src/unset.c src/util.c src/util.h: - 'set table $datablock' redirects table output to a named data block. - Patch #662 - -2014-04-04 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (load_linetype): If a line style is based on a lt < 0 - (LT_NODRAW, LT_BACKGROUND, LT_BLACK, etc), take only the line color. - FIXME: LT_AXIS should also take the dash pattern but that mechanism - isn't fully in place yet. - Bug #1369 - - * src/util.c (value_to_str): Fix error in buffer length accounting. - Bug #1372 - - * src/alloc.c src/alloc.h src/bf_test.c: The conditional code in - alloc.c for tracking memory allocation/free has bit-rotted to a point - where the program segfaults on entry if it is enabled. Since this sort - of accounting is now better done using valgrind it is not worth fixing - the old code. Delete it. - - * src/alloc.c: Although freeing old help messages may free some memory, - entangling the help system with every memory allocation seems excessive. - If we're about to run out of memory there are deeper problems than old - help messages. - - * configure.in: Remove EXPERIMENTAL warning from older options. - - * src/save.c src/set.c src/term.c: Code style / whitespace cleanup - - * src/set.c (set_dashtype) src/misc.c (parse_dashtype): Add comments. - Truncate dashtype string to match size of stored pattern array. - -2014-04-03 Bastian Maerkisch <bmaerkisch@web.de> - - * src/fit.h (error_ex): Add noreturn attribute to avoid compiler - warnings. - - * src/fit.c: Correct test for invalid covariance matrix. - - * src/util.h (int_error, os_error, graph_error): noreturn attribute - for MSVC. - - * src/wgdiplus.cpp (drawgraph_gdiplus) src/win/wgraph.c (drawgraph): - Test if command list is available. - - * src/win.trm (WIN_update_options) src/win/wmenu.c: Incomplete format - strings. - -2014-04-02 Ethan A Merritt <merritt@u.washington.edu> - - * src/misc.c demo/heatmaps.dem docs/gnuplot.doc: - Document and add a demo for "with image pixels" (formerly "failsafe"). - - * src/color.c src/plot3d.c src/pm3d.c src/pm3d.h src/save.c src/set.c - src/show.c src/tables.c src/tables.h src/term.c src/unset.c: - Revise "set pm3d hidden3d <lt>" to match other places where you can - specify line properties. - - Full syntax is now "set hidden3d {no}border {line-properties}" - - Individual line properties can be overridden in the plot command - - Old sytax is accepted as a synonym for "set hidden3d border lc <lt>" - - * demo/transparent_solids.dem docs/gnuplot.doc: - Update documentation and demo to show new syntax - - * src/contour.c (end_crnt_cntr): Initialize blank label in new contour. - -2014-04-01 Ethan A Merritt <merritt@u.washington.edu> - - * src/command.c (test_palette_command): Write the palette colors into - a datablock $PALETTE rather than writing them as in-line data in a temp - file. Simplify the internal command sequence that generates the test - output. TODO: Move the command sequence into a datablock as well. - -2014-03-30 Bastian Maerkisch <bmaerkisch@web.de> - - * term/caca.trm: Change codepage from 932 to 437 on Japanese Windows. - Apparently this fixes display problems, although libcaca uses unicode - functions to write to screen. - Bug #1361 - - * src/eval.c src/internal.c|h src/parse.c: Implement f_words instead - of treating it as a special case in the parser. - - * src/command.c src/command.h src/plot.c src/stdfn.h src/syscfg.h - src/win/wgraph.c src/win/winmain.c src/win/wprinter.c: Include file - cleanup. - - * src/win/screenbuf.c: Avoid crashes on memory allocation errors. - - * src/makefile.all src/makefile.awc: Recreate to include multiplot.c. - - * demo/lines_arrows.dem: UTF-8 encoding. - - * config/mingw/Makefile: Fix non-numeric version number due to - patchlevel "alpha". - -2014-03-29 Christoph Bersch <usenet@bersch.net> - - * src/multiplot.h src/multiplot.c demo/layout.dem docs/gnuplot.doc: - New autolayout options for multiplot: - set multiplot layout margins LEFT, RIGHT, BOTTOM, TOP spacing GAP - Patch #611 - -2014-03-29 Ethan A Merritt <merritt@u.washington.edu> - - * src/term.c (multiplot_current_panel) term/svg.trm src/term_api.h: - Hide internal data structure behind an access function. - - * src/multiplot.h src/multiplot.c src/term.c src/term_api.h - src/Makefile.am: Move multiplot layout code from term.c into a new - file multiplot.c. - -2014-03-27 Shigeharu Takeno <shige@iee.niit.ac.jp> - - * docs/gnuplot-ja.doc term-ja.diff: Sync translation to version 1.872 - * docs/gnuplot.doc: typos - -2014-03-27 Dima Kogan <dima@secretsauce.net> - - * docs/gnuplot.doc - -2014-03-27 Ethan A Merritt <merritt@u.washington.edu> - - * src/qtterminal/qt_term.cpp (qt_text_wrapper): - Prevent segfault on "set term qt; set multiplot; quit". - -2014-03-24 Ethan A Merritt <merritt@u.washington.edu> - - * src/graphics.c (place_objects do_rectangle): When fillcolor for an - objects is given as a linecolor it should be interpreted as referring - to a current linetype. - - * src/command.c: clean up to remove compiler warnings. - - * term/emf.trm: Bold/Italic markup in enhanced text mode - - * src/boundary.c (do_key_sample_point) demo/lines_arrows.dem: - Apply textcolor to character point type in key sample. - -2014-03-23 Bastian Maerkisch <bmaerkisch@web.de> - - * src/command.c src/command.h src/datablock.c src/datablock.h - src/set.c src/show.c src/unset.c docs/gnuplot.doc demo/ellipse.dem - demo/fitmulti.dem demo/gen-random.inc demo/rugplot.dem: - Implement 'set print $datablock' which redirects 'print' output to - an in-memory datablock. - Patch #662 - - * src/setshow.h src/show.c src/util.c src/util.h: Factor out new - routine value_to_str() which returns a string representation of a - struct value from disp_value(). - - * demo/tango_colors.dem: set linetype cycle. - - * docs/plotstyles.gnu: Encoding is utf8. - - * src/win/wcommon.h src/win/wgraph.c: Fix const-ness for - enhanced_recursion(). - - * src/util.c (gprintf): Skip leading zeroes of negative exponents. - -2014-03-22 Ethan A Merritt <merritt@u.washington.edu> - - * docs/gnuplot.doc docs/doc2tex.c docs/titlepag.tex: - Update documentation New Features, Changes for version 5. - - * src/plot.c (init_session) src/set.c (set_colorsequence) src/setshow.h - src/show.c src/tables.c src/tables.h src/term_api.h: - New command: - set colorsequence {default | classic | podo} - Built-in command to select one of the linetype color sequences provided - in .../share. The default sequence is visibly changed from the old - red/green/blue ugliness, which should make users immediately aware that - the colors can be customized. - - * src/set.c (set_linestyle): Dash type of newly created linetype should - by solid unless otherwise specified. - - * src/misc.c: Allow `black` as a colorspec or linetype, analogous to - `bgnd`. - -2014-03-21 Ethan A Merritt <merritt@u.washington.edu> - - * src/parse.c (check_for_iteration next_iteration): - Replace overly clever checks for end condition already satisfied with - one that doesn't fail due to overflow of integer multiplication. - Bug #1358 - - * src/term.c (enhanced_recursion) term/post.trm(ENHPS_OPEN): - The bold/italic support code has revealed a problem with PostScript - output. The core code assumes that passing a blank font name means - "keep the previous font" or at worst "use the default font". post.trm - failed to do this for some command sequences. Fix it in two places. - In term.c pass the previous font if we already know it. - In post.trm fall back to the default rather than place a blank - string in the ouput *.ps file. - Bug #1359 - -2014-03-20 Bastian Maerkisch <bmaerkisch@web.de> - - * src/set.c src/term.c src/term_api.h src/util.c src/win/wgraph.c - src/wxterminal/gp_cairo.c term/aquaterm.trm term/pdf.trm term/post.trm - term/pslatex.trm term/svg.trm: Add support for codepage 1252, the - standard Western European encoding on Windows. - - * src/set.c: "set encoding locale" only handles utf8 and sjis. Extend - this to all supported encodings on Windows, probably the only platform - where this is still relevant. - Bug #1270 - - * demo/dashcolor.dem: UTF-8 encoding. - - * src/fit.c (show_results): Do not try to print parameter errors if - the covariance matrix is unavailable or invalid. - -2014-03-20 Thomas Henlich <thenlich@users.sourceforge.net> - - * term/PostScript/cp1252.ps: CP1252 encoding support for PostScript - terminal. Based on Patch #341, but with non-standard characters - removed. - -2014-03-20 Ethan A Merritt <merritt@u.washington.edu> - - * term/svg.trm: svg was losing the current linetype (i.e. dash type) - between drawing the key sample and drawing the main plot. - -2014-03-19 Bastian Maerkisch <bmaerkisch@web.de> - - * src/stdfn.c src/stdfn.h src/internal.c src/win/winmain.c - src/win/wtext.h config/config.nt: Standard compliant replacements - of snprintf() and vsnprintf() for MSVC. Note that _snprintf does set - errno=ERANGE if the destination buffer is too small. - -2014-03-19 Ethan A Merritt <merritt@u.washington.edu> - - * src/plot2d.c: Fix parsing error for "with lp pt 'X', ..." - - * src/boundary.c src/boundary.h src/graphics.c: Refactor code that - draws key samples for point plots. - - * configure.in term/gpic.trm src/term.h: - Add configuration option --with-gpic - - * configure.in src/term.h: FrameMaker now allows import of svg, so the - utility of the ancient mif v3 support is dubious. Disable by default. - Add configuration option --with-mif - - * demo/lines_arrows.dem demo/stringvar.dem demo/html/Makefile - demo/html/index.* demo/html/webify.pl: Update demos for version 5. - -2014-03-19 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/misc.c (parse_dashtype): Avoid warning about assignment used - as a condition value. Some reindentation. - -2014-03-19 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotScene.cpp - src/qtterminal/QtGnuplotItems.h src/qtterminal/qt_term.cpp: - Implement image clipping for the Qt terminal. Fix issue with - unsigned variables in terminal coordinates. Bug #1349 - -2014-03-18 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term.c src/set.c: Fix leaks and invalid reads associated - with dashtype strings. - -2014-03-18 Ethan A Merritt <merritt@u.washington.edu> - - * src/wxterminal/gp_cairo.c: PANGO_WEIGHT_NORMAL is not the same as 0. - - * term/x11.trm: Make the "persist" flag local to x11 and remember - what is was the last time we set the terminal to x11. - Bug #1348 - -2014-03-18 Jérôme Lodewyck <lodewyck@users.sourceforge.net> - - * src/qtterminal/QtGnuplotEvent.* src/qtterminal/QtGnuplotWindow.cpp - src/qtterminal/QtGnuplotWidget.cpp src/qtterminal/QtGnuplotScene.cpp: - Block events that come from inactive plot widgets. - -2014-03-17 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term_api.h src/misc.c src/misc.h src/save.c src/save.h: - Parse and save dashtype specification in the form of "-_. " or - "(1.0, 0.3, 1.5, 2.0)". In the latter form alternating numbers - specify dash lengths and spaces between them. - - * src/gadgets.c src/gadgets.h: - Added new type custom_dashtype_def and global variable - first_custom_dashtype in preparation of new "set dashtype" command. - - * src/gadgets.h src/misc.c src/set.c src/setshow.h src/show.c - src/tables.c src/tables.h src/term_api.h src/unset.c: - New commands 'set|show|unset dashtype <N> <dashtype_spec>' to - specify permanent, user-defined dashtypes. - - * src/termp_api.h src/term.c src/misc.c: lp_parse() loads dashtype - from the list of user-defined dashtypes if the absence of an explicit - definition. - -2014-03-16 Ethan A Merritt <merritt@u.washington.edu> - - * src/axis.c src/axis.h src/gadgets.c src/gadgets.h src/graphics.c - src/misc.c src/plot2d.c src/set.c src/term_api.h docs/gnuplot.doc - docs/plotstyles.gnu: - New point type that consists of a single character (possibly a - multibyte character). This is particularly useful as - plot $FOO with linespoints pointtype "#" pointinterval -1 - where # is the desired character drawn at each point. - -2014-03-16 Peter Juhasz <juhaszp@users.sourceforge.net> - - * src/term_api.h src/term.c src/misc.c src/plot2d.c src/plot2d.c - src/set.c src/save.c src/graphics.c src/gadgets.c src/gadgets.h: - Introduce new "dashtype" line property that controls dot/dash - pattern independently. Allow it in "set|show linetype|linestyle", - "plot", etc., display it in "save". - Only numeric "dashtype N" supported for now. - New function dashtype() added to termentry struct, but none of the - terminals use it yet. - - * src/set.c (set_linestyle): Set pm3d_color.type to TC_LT and - pm3d_color.lt to line number by default. This is necessary because - since the use_palette flag was removed, pm3d_color information is - used everywhere, yet, it was not set properly. This resulted, - among others, a broken "show linetype" output with empty "linecolor" - spec. - -2014-03-16 Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> - - * src/axis.h (en_minitics_status): Give enum a typedef name, too. - (axis): Use new type for element of AXIS struct, instead of int. - - * src/axis.c (gen_tics): Simplify by using local OO-like "this" - pointer variable. Remove pointless local variable "minifreq". - Treat "minitics" variable as a proper enum everywhere (no - set/compare to zero). - -2014-03-15 Ethan A Merritt <merritt@u.washington.edu> - - * configure.in VERSION PATCHLEVEL share/gnuplotrc src/version.c - demo/html/index.canvas demo/html/index.save demo/html/index.svg - docs/doc2texi.el docs/gnuplot.doc docs/titlepag.tex: - - >>>>> Bump version to 5.0 alpha <<<<< - ->>> Earlier entries are in ChangeLog.4 diff --git a/docs/old/ChangeLog.old b/docs/old/ChangeLog.old deleted file mode 100644 index f56a00e75..000000000 --- a/docs/old/ChangeLog.old +++ /dev/null @@ -1,1580 +0,0 @@ -/* - * The rcs log will be removed for `real' releases - * - * A note about version numberering: Since RCS is notable faster when using - * trunk revisions (x.y), I have decided simply to start with revs 1.x - * - * There is a small bug in CVS that prevents the commit -r option from - * working. This means that the revision numbers in the individual files - * do not agree with the one in the log. I hope to fix this some time soon. - * - * $Log: version.c,v $ - * - * I have moved these entries from version.c. All future code changes - * should be logged in ChangeLog. Lars Hecking - * - * Revision 1.347 1998/06/22 12:24:56 ddenholm - * dd : retrieve fit.*, matrix.*, docs/latextut/makefile from earlier vsns - * add set noxdtics etc. (behave same as set xtics) - * - * Revision 1.346 1998/06/18 14:55:21 ddenholm - * Lars : compilation of many patches posted to the net. - * - * Revision 1.345 1998/05/19 18:05:03 ddenholm - * drd: add missing stdfn.c file - * - * Revision 1.344 1998/04/14 00:38:57 drd - * drd: oops - forgot to bump version number with last checkin. - * - * Revision 1.343 1998/03/22 23:31:31 drd - * hbb: compile on win16 ; latest and greatest hidden3d stuff - * - * Revision 1.342 1998/03/22 22:32:24 drd - * drd: update copyright statements on most files. There are still a - * few files (obscure terminal drivers) copyright others. Maybe - * we have to drop these, or at least list the files which - * cannot be redistributed with a modified gnuplot. - * (Or maybe it is okay to include these files unchanged in an - * otherwise modified gnuplot ?) - * - * Revision 1.341 1997/12/16 23:01:05 drd - * Lars Hecking: 0PORTING, 0README, 0INSTALL - * HBB: latest hidden3d stuff - * off-by-one error in long-line datafiles - * gas@SLAC.stanford.edu : fix for \" inside "strings" - * Hans-Martin Keller : fix for fault in contour stuff - * Niels Provos : VMS stuff - * - * Revision 1.340 1997/11/25 23:03:09 drd - * Alexander Mai: fix show output for non-auto x range - * Konrad Bernloehr: fixes for logscale tics - * pointsize for fig - * Thomas Witelski: set border in save output - * HBB: key entry for impulse plot - * Dick Crawford: recent (latest ?) docs - * drd: set cntrparam ; ... - * fix y2label placement (I hope) - * - * Revision 1.339 1997/10/10 06:51:56 drd - * drd: very minor tweaks : fix the longjmp on os/2 ; fix the problem - * with time on last column in data file ; make lmargin and tmargin - * of 0 actually work - * - * Revision 1.338 1997/07/23 23:16:36 drd - * drd: fix autodetection of libgd - inverted logic meant that !=no meant - * yes. Now !=yes means no, since it returns blank for no - * swap axes and smooth keywords on plot line, since smooth - * is really a data modifier - * fix the set key width stuff so that the text is within a - * key box for any combination of key reverse Left|Right - * - * Revision 1.337 1997/07/22 23:20:54 drd - * erik@tntnhb3.tn.tudelft.nl : conform to postscript DSC - * HBB, Lars Hecking : -Xc for solaris compile and other config changes - * ueda@syslab.lias.flab.fujitsu.co.jp : gplt_x11.c includes config.h - * fix script line number after inline data - * Roger Fearick : os/2 patches - * jgrant@traveller.com: gplt_x11.c fix to drain _all_ X events after a select() - * fix endianness problem in cgm driver - * Carsten Steger : fixes for clean build on amiga - * David Schooley : ai term updates - * M.N.Schipper@IRI.TUDelft.NL : workaround for broken sscanf(%n) on os9 - * William Kirby : double->coordtype in interpol.c - * cb203@cus.cam.ac.uk: documentation : -noraise instead of +raise - * drd: localise use of <setjmp.h> to plot.c and parse.c, for png on linux - * - * Revision 1.336 1997/06/04 05:48:01 drd - * drd: put back setvbuf(...,1024) - * (trivial) make show at $3 work properly - * table output uses %g not %f for contours - * - * Revision 1.335 1997/05/27 01:29:03 drd - * HBB: change number of colours in pbm.trm - * new hidden3d.c and fit demo/docs - * Alexander Mai: os/2 patches (sorry I keep missing os/2 patches) - * Lars Hecking: autoconf changes for png, and more configure improvements - * drd: space in timefmt means 0 or more spaces. Add read of %b / %B - * tweak the windows /noend stuff - * - * Revision 1.334 1997/05/19 08:10:25 drd - * Dick Crawford : set key width [but I still think it should be absolute,not relative] - * drd: review the splot key stuff : - * set key box ; set contour ; splot x,y overran the key box - * splot x title '' was not same as splot x notitle - * - * Revision 1.333 1997/05/18 21:22:14 drd - * Dick Crawford : rmargin/y2label bug - * Latest docs - * Joost Witteveen: configure bug - * Lars Hecking: setvbuf workaround for win32 - * HBB : don't fit when ndata < nparams - * HBB, Berthold Hoellmann : docs/makefile deps - * Novak Levente: tgif upgrade - * drd: fix pslatex aux again - * fix show xdata - * support %02H in time formats : allows suppression of leading 0's - * - * Revision 1.332 1997/04/12 05:44:01 drd - * HBB: FIT_MAXITER patch ; drd added it to fit.dem and gnuplot.doc - * drd: change hidden3d.c to not draw diagonals by default - * trap seg.fault in set term pslatex aux ; set out ; plot x - * Mention gif and png in 0INSTAL. Output a brief message when - * configure fails to detect the libraries. - * Add mention of AIX 4 NaNq bug to gnuplot.doc - * - * Revision 1.331 1997/04/10 02:33:29 drd - * Dick Crawford: fix broken set label ... font ... - * Lars Hecking: many cleanups - * Alexander Mai: os/2 changes - * drd: trap EOF in fit intr. handler - * warn if udf shares name with internal func - * doc and copyrights - * - * Revision 1.330 1997/04/08 06:14:18 drd - * Lars Hecking, drd: update command takes optional second parameter - * Roger Fearick: os2 patches ("os2237") - * - * Revision 1.329 1997/04/05 19:44:29 drd - * Ian MacPhedran, Konrad Bernloehr: fig driver patch - * Berthold Hoellmann: support --with-gd etc in configure - * patches for hidden demos - * John Grant : fix unitialised variable in gplt_x11 - * HBB : latest hidden3d (25/3/97) - * Nelson Beebe : fix some typos - * Gary Holt: guard configure --with-gnu-readline=/bogus/path - * drd: make non-rotated labels the default - * fix up multilined title and x2label - * print extended-printf %c as e+/-nn for outrange powers - * (forgot to record in 322) : trap top-bit-set chars in bitmap.c - * configure --with-gnu-readline should not assume -ltermcap (Debian Linux) - * - * Revision 1.328 1997/03/09 23:50:19 drd - * drd: detect top-bit-set characters in bitmap.c - * detect gd lib in autoconf - * put writeback back into plot2d.c : deleted for some reason..? - * AL: NeXT fixes, plus some tidying. - * Roger Fearick, HBB : column check in fit.c - * HBB: latest hidden3d.c (wasn't latest last time) - * Stefan Bodewig: doc2xxxx for multiple top-level entries - * Alexander Jolk: error in %c in extended printfs - * - * Revision 1.327 1997/03/06 06:04:14 drd - * drd: add support for dates in user-tics ie set xtics ('format' 'place',...) - * - * Revision 1.326 1997/03/04 07:58:15 drd - * Alexander Mai : gif to os2 stdout - * Carson Wilson,drd: fix off-by-one in days for xdtics and %a - * CMWestern,William Kirby: win32 build with bc - * Dick Crawford : rotate patch - * HBB: latest hidden3d code (with drd's OUTRANGE tweak) - * James Obrien,drd : don't write to readonly string returned by xlib - * drd: change message when range is less than zero - * show as comment the current range hidden by auto - * fix output to PRN in windows - * latex multiplot uses original size for bounding box - * temporary fix for VMS help : allow only one toplevel help entry - * - * Revision 1.325 1997/01/05 22:02:42 drd - * Johannes.Hoffstadt,drd: free() bug in fit.c - * William Kirby: undefined tmpn in fit.c - * Carsten Steger: clean compile on HP-UX & Irix 6.2 - * Robert Lutwak: avoid ObjC keywords in cgm.trm - * Jim Van Zandt: linwidth for cgm - * Alexander Mai: readline fix for os/2 - * makefile.os2 update - * bjr@ln.nimh.nih.gov : take out redundant cast which upsets SGI - * Lucas Hart : titles and crosshair in multiple X11 windows - * nameless mailbox for VMS x11 - * mgr.dem update - * C.M.Western@bristol.ac.uk : win95 fixes - * drd: (trivial) accept vectors (plural) as line style - * - * Revision 1.324 1996/12/19 20:25:30 drd - * Matthew Jackson (and others): segv on linux with set locale - * William Kirby: win32 has long filename, but win32s does not : fix update - * Jim Van Zandt : allow more contour levels - * G.Allen Morris III: texdraw fix - * Alexander Mai: makefile.os2 - * David Schooley: mac patches - * - * Revision 1.323 1996/12/19 19:12:50 drd - * Roger Fearick/Alexander Mai : doc2ipf changes - * HBB: pointsize bug in hidden splot (?) - * Carsten Steger: tweaks for compile on amiga - * drd: eliminate some gcc -W... warnings (mostly prototypes) - * tidy use of lp in plot3d.c and set.c - * add some comments to term.c, and make term_suspend static - * set missing was completely broken (df_column->good is not boolean) - * show contour says approximately n levels - * off-by-1 error in incremental contour levels : last one was not shown - * - * Revision 1.322 1996/12/09 15:57:59 drd - * drd: config tweaks - * gif output on stdout - * invnorm(0) on aix - * - * Revision 1.321 1996/12/08 13:08:56 drd - * Lars Hecking : extensive changes to autoconf and various portability - * problems addressed. But is ifdef __STDC__ enough, - * or do we need if defined(__STDC__) && __STDC__ ? - * - * Revision 1.320 1996/12/08 12:28:48 drd - * Alexander Mai, Roger Fearick : more os/2 changes - * Joerg, drd : font 'name,size' for enhanced postscript - * drd : more checking in checkdoc, with file/line recording - * latest FAQ - * - * Revision 1.319 1996/11/26 07:15:19 drd - * Alex Jolk: fix scientific formats %s/%S for -ve powers - * Roger Fearick: os/2 fixes - * - * Revision 1.318 1996/11/25 22:37:40 drd - * drd: accept '% g' for format - * tolerate pressing ^c while in help - * both x11 and X11 terminals accept options - * set nomxtics ; save 'all.gnu' no longer outputs 'set no mxtics' - * move reopen of output file into term_init so that cgm output is not - * truncated when terminal is subsequently changed - * $0 in plot 'file' resets to 0 after an index change - * column(-1) works same as plot 'file' using -1:1 - * - so plot 'file' using ($0+column(-1)):1 skips an x at blank lines - * set contour ; splot 0 no longer faults - * splot '/dev/null' binary no longer faults - * bf_test opens files "wb" on all platforms - * - * Revision 1.317 1996/11/24 16:47:13 drd - * drd: fix polar-mode tics when rmin != 0 - * splot f(x,y)=x*y, f(x,y) faulted - * - scoping problem in plot3d.c : I blame the inconsistent indentation - * add tkcanvas driver (see file for authors) - * Ed.Breen@dms.csiro.au clear for x11 - * Dick Crawford: latest doc changes - * dkh: buildvms.com fix - * - * Revision 1.316 1996/10/21 19:51:18 drd - * drd: fix radial grid lines in polar mode - * fix seg fault with set dgrid ; splot '/dev/null' - * pointsize and wide lines for pslatex - * plot ... linestyle was not being accepted - * HBB: remove 32k limit for DOS32 - * Emmanuel Bigler : vector demo (for x11 only) - * Avinoam Kalma, drd: show action_table - * Joerg : more consistent linewidth stuff - * save cleanup ; add comments - * - * Revision 1.315 1996/09/29 21:12:41 drd - * drd: no ! after a shell command, except in interactive mode - * fix polar mode bug - * use fancy formats in user-defined tics - * - * Revision 1.314 1996/09/23 20:55:03 drd - * drd: try acos again : acos(-2) _is_ defined (but complex) - * post.trm was using pointsize directly, hence everything scaled twice - * - next.trm looks like it was doing the same - * define null pointsize routine to set scale for generic do_point - * test now fflushes (actually, uses term_start_plot and term_end_plot) - * - * Revision 1.313 1996/09/22 21:08:28 drd - * drd: include time.c in buildvms.com - * fix latex character width (again) - * fix problem with linetypes not matching key on post.trm - * anticipate -ve log in acos() - * Carsten Steger: amiga fixes - * - * Revision 1.312 1996/09/18 23:15:09 drd - * drd: fix font sizes in latex term - * try to work around assertion failure with x1y2 axes in parametric - * Roger Fearick: pm.trm tweaks - * Martijn Schipper: os9 changes - * - * Revision 1.311 1996/09/16 20:22:18 drd - * drd: fix seg fault with fig term on sunos - * -DNOGAMMA if neither lgamma nor gamma defined - * truncate term_options before call term->options - * Gary Holt, drd: outstr stored twice in save : now only a comment is output - * W.Geppert: doc changes - * - * Revision 1.310 1996/09/15 13:04:06 drd - * HBB: hidden3d fix - * gary Holt: configure --with-gnu-readline[=path] - * Dick Crawford: latest docs - * drd: file copyrights, comp.graphics.apps.gnuplot - * - * Revision 1.309 1996/09/11 23:39:56 drd - * drd: try again to get the line property keywords right - * remove duplicate pointsize entry points from term structure, and - * reimplement set pointsize via line property stuff - * implement line width for x11 - * fix "unknown type in real()" from plot '<echo 0 0' thru 1/x - * - * Revision 1.308 1996/09/10 22:08:28 drd - * Alexander Jolt: relative errors displayed for fit - * Roger Fearick: more os2 changes - * drd: change "" to '' in latextut/*.plt - * fix typo in hidden3d.c - * tweaks to term/*.trm to make gnuplot.tex build cleanly - * - * Revision 1.307 1996/09/10 21:07:11 drd - * drd: de-ANSI-fication for sun cc - * fix problem in df_readline as shown up by 'purify' - * linewidth tweaks - * make next.trm conformant with termdoc.c - * also, remove some unbalanced ' in strings that were upsetting cpp ? - * move .NOEXPORT from top of docs/Makfile.in and latextut/... - * Steve Stuart: typo in makefile.unx - * - * Revision 1.306 1996/09/08 20:03:33 drd - * drd: tweaks to lp patch (parsing as #defines in plot.h, not lp_parse.inc) - * try again to tolerate "{/Symbol hello\nworld}" in enhpost - * Topher Cawlfield: histeps style (at last) - * - * Revision 1.305 1996/09/05 21:16:21 drd - * Joerg: linewidth patch (with some gratuitous drd tweaks !) - * - * Revision 1.304 1996/09/05 19:45:50 drd - * drd: run configure.in through autoconf 2.10 - * fix autoranging bug in binary splot - * HBB: fix 'update' and demo - * - * Revision 1.303 1996/09/04 21:15:35 drd - * drd: comments in .doc file, so I can add an RCS ID - * don't assert fail with plot 'file' binary - * HBB: FSF-compliant Makefile.in, but not yet since my autoconf is old - * hidden-friendly demo/whale.dat - * multiplot clear for djsvga - * detect candlesticks/financebars in splot - * Konrad Berloehr: fig.trm revisions - * Thomas Koenig: on-the-fly postscript non-reencoding - * - * Revision 1.302 1996/09/02 22:36:55 drd - * drd, William Kirby: more problems with change to outstr - * drd: save of xdata time was broken - * Dick Crawford: set key samplen and spacing - * drd: axis alias for axes in plot ... axes ... - * HBB: hidden3d typo fix - * Konrad Bernloehr: fig driver changes - * Alex Woo: gif driver - user-specified sizes - * drd: oops - put in pm.trm.rej that I missed last time - * - * Revision 1.301 1996/08/15 00:04:44 drd - * drd: use AC_CHECK_FUNCS for strnicmp, ..., and update makefiles - * tolerate no closing backquote at end of line - * no limit on output filename - * main is int in doc2* funcs - * Robert Lutwak: NeXT stuff (at last - sorry !) - * - * Revision 1.300 1996/08/13 21:48:13 drd - * drd: dont check for #warn - solaris cant do it, but we dont use it - * *at last* - plot ... axes x1y2 ... - * typo in recent change to parse.c :-( - * (de-ansify macros in hidden3d.c in 299 but I forgot to note it) - * - * Revision 1.299 1996/08/12 21:36:10 drd - * Steve Turner, drd : eliminate warnings from enthusiastic SGI compiler - * Santiago Vila Docel: more VPATH makefile tweaks - * Alex Woo,Roger Fearick: gnuplot.doc error - * Roger Fearick: os/2 patches - * drd: infinite loop in enhpost with spurious '}' in text - * - * Revision 1.298 1996/08/11 21:56:20 drd - * Pieter Vosbeek: gnu readline - * pslatex bounding box - * David Schooley: mac patches - * Santiago Vila Doncel: mkinstalldirs - * Alexander Lehmann: PNG terminal changes - * HBB: hidden3d tweaks - * fit sanity checks - * djsvga terminal changes - * drd: 3d fitting ; eliminate FIT_INDEX - * support for ... using -1 and -2 (line and index) - * - * Revision 1.297 1996/08/08 21:24:48 drd - * drd: financebars / candlesticks - * plot 'file' using 0:1 gives x=0,1,... - * optional keyword 'font' in set xlabel etc - * Rolf Niepraschk: new descrip.mms - * Jens Emmerich: fix undefined points in splines - * - * Revision 1.296 1996/08/05 20:05:02 drd - * drd: latest FAQ - * provide a default location for HELPFILE in Makefile.in - * include stdfn.h in gplt_x11.c, for index() on solaris - * back out size/font-dependent tics {also fixes set format y '' bug} - * save \'s in xtics properly - * fix typo in djsvga.trm - * increase pslatex aux file from MAX_ID_LEN to MAX_LINE_LEN - * dont use PS_set_font from pslatex driver - * Santiago Vila Doncel : some Makefile.in tweaks - * - * Revision 1.295 1996/07/14 15:13:44 drd - * drd: update Projects and WhatsNew - * restore set size nosquare : it does no harm - * include stdlib.h in gplt_x11.c for malloc() - * rename vfree() in hidden3d.c to avoid name clash on next - * Carsten Steger: atan2() for real args - * Chuck McCorvey: fix for windows 95 printing - * Rolf Niepraschk: descrip.mms etc for VMS - * - * Revision 1.294 1996/07/14 11:51:55 drd - * drd: max_params typo in fit.c - * - * Revision 1.293 1996/06/27 22:04:48 drd - * drd: print "this", z, "that", f(2), ... - * ICCCM export of X11 pixmap - * - * Revision 1.292 1996/06/27 21:07:55 drd - * drd: add set size ratio ... - * take David Kotz' name out of latextut [at his request] - * try to fix the linux/x11 plot with dots problem - * Hans-Bernhard Broeker: extra checks in fit.c - * Scott Lurndal: variable scope in help.c [reported against 3.5] - * Alex Woo: Makefile for docs - * William Kirby: colours in win32 [again !] - * Carsten Steger: amiga fixes - * Dick Crawford: yet more postscript symbols - * Joerg Fischer: makefile.all fixes - * Neil Mathews: gplt_x11 tweaks - * Rolf Niepraschk: SQRTPI wrong in specfun.c ! - * Joerg Fischer: back out a personal-preference change made earlier - * - * Revision 1.291 1996/06/05 21:39:01 drd - * pl291 - * drd: term_reset() didn't check that term had been initialised - * enhance the heap checking with CHECK_HEAP_USE build - * trap access violation in hidden3d - * fit was bypassing alloc routines - * add leak-check calls around the plot calls - * - * Revision 1.290 1996/06/03 19:22:46 drd - * pl290 - * drd: get rid of some warnings on NT - * fix access violation in hidden3d - * define GP_INLINE for inline fns if directive available - * Martijn Schipper: os-9 changes for x11 - * Lars Hecking,drd : better support for on_exit vs atexit - * - * Revision 1.289 1996/06/02 21:44:55 drd - * pl289 - * Hans-Bernhard Br"oker : many changes integrated (at last !) - * - * Revision 1.288 1996/06/02 20:26:42 drd - * drd: revisit time code again. - * add undocumented command: testtime 'format' 'string' - * - * Revision 1.287 1996/05/16 21:25:03 drd - * drd : oops - replot was broken - * oops - make command.o was broken - * fix the problems with the keyhole - * Joerg Fischer : fix number of call args to 10 as documented - * - * Revision 1.286 1996/05/16 19:49:54 drd - * drd: reset state of ytics did not match startup state - * print datafile name in error message if it failed to open - * default locale is "C", not "" ("" gives error on linux ?) - * Mark Diekhans : compile on FreeBSD - * Jim Van Zandt : CGM tweaks - * - * Revision 1.285 1996/05/14 19:50:08 drd - * drd: fix bug in linespoints / title '' code - * show arrow output - * Jim Van Zandt : cgm tweaks - * Joji Maeda : trap division by zero in view 90,90 - * - * Revision 1.284 1996/05/14 18:59:18 drd - * drd: second attempt to move open_printer out of win.trm - * - * Revision 1.283 1996/05/13 21:04:05 drd - * drd: typo in gplt_x11.c - * incorporate latest makefile.all into Makefile.in - * try to clean up groff-ing of gnuplot.ms (not there yet) - * - * Revision 1.282 1996/05/13 19:27:31 drd - * Bruce Bowler: VMS gplt_x11.c termination fix - * drd: NT changes to makefile.all - * move open_printer() etc from win.trm to wprinter.c - * time.c changes to compile on NT - * - * Revision 1.281 1996/05/08 20:57:12 drd - * Dick Crawford: latest docs - * Alex Woo, William Kirby : latest gif driver (name changed) - * - * Revision 1.280 1996/05/08 19:24:16 drd - * drd: another change to the shared segment of the makefiles - * (core.mak was a bad choice of name, since make clean kills it) - * - * Revision 1.279 1996/03/04 22:10:45 drd - * drd: more tweaks to term.c API - * Alex Woo / Sam Shen : new gdgif.trm [no help yet] - * - * Revision 1.278 1996/03/04 21:41:36 drd - * drd: second attempt at getting core.mak into Makefile - * - * Revision 1.277 1996/03/04 20:50:33 drd - * drd: add core.mak, and arrange for it to be appended to Makefile by - * ./configure - * - * Revision 1.276 1996/03/04 20:33:54 drd - * drd: largish restructure of outfile access: rules are too complex to - * allow manipulation outside term.c, so provide a term_* API - * Separate out the replacement time routines into time.c, allowing - * use of either system routines or supplied routines - * Add TERM_BINARY flag to term structure - * gplt_x11.c/VMS - typo in client message code - * Joerg: fix typo in setting of axes - * Werner: increase fixed string buffers in tgif.trm - * - * Revision 1.275 1996/03/01 21:17:30 drd - * drd: new file time.c - update lots of makefiles - * fix typo in VMS gplt_x11.c - * - * Revision 1.274 1996/02/27 20:50:47 drd - * drd: fix multiplot for x11 - * commit replot line at last possible moment, guarding against typos - * - * Revision 1.273 1996/02/26 23:12:36 drd - * Roger Fearick : fix pause -1 ; print 1 - * drd : fix plot sin(x) ; replot cos(x) - * - * Revision 1.272 1996/02/26 22:49:44 drd - * William Kirby,Alex Woo,Roger Fearick: doc fixes - * William Kirby: tweaks to djgpp/2 and bc/win32 makefiles - * Roger Fearick: doc2ipf fixes - * David Liu: emxvga fixes - * drd: oops - wgnupl32.def was not commited to cvs - * - * Revision 1.271 1996/02/26 21:55:17 drd - * drd: detect on_exit() in place of atexit() for sunos 4 - * Jim Van Zandt : cgm driver (portability tweaks by drd) - * Lucas Hart, drd : better gnuplot_x11 error response in VMS - * Rolf Niepraschk : compile gnuplot_x11 on VMS - * John Turner: tweaks to compile cleanly - * John Eaton: solid/dash for pslatex - * - * Revision 1.270 1996/02/24 19:10:24 drd - * drd: accept lp as an abbreviation for linespoints - * accept using ::4 as using 1:2:4 - * Joerg Fischer : new format letter %P for multiple of pi - * drd: get rid of some of the obvious problems in gnuplot.tex output - * define DOS32 in emx and djgpp makefiles - * Emmanual Bigler,drd: tweaks for djgpp vsn 2 - * drd: small tweaks to show output - * feed option on dumb terminal - * tweaks to new x11 terminal - * - * Revision 1.269 1996/02/23 01:32:04 drd - * drd: make new x11 driver work for VMS - * handle WM_DELETE_WINDOW messages neatly (all x11 ports) - * Dick Crawford, drd: docs - * - * Revision 1.268 1996/02/22 00:54:55 drd - * Neil Mathews: set auto fix - * drd: show arrows ; user-defined tics - * Roger Fearick: os/2 patches - * Emmanual Bigler: makefile for djgpp 2 - * Joerg Fischer: GPMIN/MAX - * Anthony Heading: daycount bug - * - * Revision 1.267 1996/02/21 23:50:35 drd - * Gary Holt, drd : multiple, persistent X windows - * drd : tweaks to gdgif driver - * - * Revision 1.266 1996/02/17 18:28:00 drd - * Dick Crawford - terminal-driver help text - * Mark Charney - location of gdgif library - * Thomas Koenig - trap floating point exception in set view 0,90 - * drd: TERM_CAN_MULTIPLOT in pm.trm - * rationalise code in x11.trm - * HAVE_LOCALE -> NO_LOCALE_H in configuration - * tweak makefiles for documentation - * - * Revision 1.265 1996/01/30 23:47:14 drd - * drd: tweak malefile.djg - * Stefan Bodewig: doc2info.c and xref.c - * Dick Crawford: new gnuplot.doc - * - note that there is a problem with tables in doc2ipf ! - * - * Revision 1.264 1996/01/28 16:31:44 drd - * drd: take out defunct atari.trm from some makefiles - * (try to) choose real(sqrt(z)) >= 0 - * Emmanuel Bigler, drd: encoding support for hpgl - * Werner Geppert: fixes to help text in post.trm and x11.trm - * Stefan Bodewig: add asinh etc - * Pieter Vosbeek: new pslatex.trm - * Emmanual Bigler: djsvga.trm - * - * Revision 1.263 1996/01/25 19:47:34 drd - * drd: all doc2* filters use termdoc.c - * trap seg fault in doc2rtf.c - * tweak grass.trm to work with doc2* - * - * Revision 1.262 1996/01/24 22:18:24 drd - * drd: optional heap checking if compiled with CHECK_HEAP_USE - * remove term/emxvgaold.trm term/bigfig.trm term/pstex.trm - * tweaks to hpljii.trm and win.trm for making manual with *.trm - * docs/termdoc.c reads from allterm.h if -DALL_TERM - * - * Revision 1.261 1996/01/23 20:42:24 drd - * Stephen Peters : %%Orientation in postscript output - * Thomas Witelski,drd: space after mirror in save_xtics - * Axel Kielhorn,drd: reset x2range - * Joerg Fischer,drd: change to GPMIN/GPMAX - * extend scientific symbols in gsprintf - * restore reading of files on command line - * - * Revision 1.260 1996/01/23 19:25:56 drd - * drd: tweaks to compile on NT (hope I got them all) - * - * Revision 1.259 1996/01/22 21:22:25 drd - * drd: have a go at splot 'file' matrix - index not done yet - * - * Revision 1.258 1996/01/18 20:36:22 drd - * Pedro Mendes, drd: try to tidy up sources/build for win16/win32 - * - * Revision 1.257 1996/01/17 23:09:43 drd - * drd: first attempt at clear for multiplot - * catch seg fault in xstrftime - * fix output in show/save xrange for xdata time - * - * Revision 1.256 1996/01/16 22:12:34 drd - * drd: trap a div by zero with xdtics / xmtics - * try to support tm_wday field in ggmtime() - * first attempt at timecolumn() and tm_sec() family - * - * Revision 1.255 1996/01/11 22:45:12 drd - * Volker Solinus, drd: avoid namespace clashes with zlib used by png term - * Joerg Fischer: more help moved into terminal driver files - * - * Revision 1.254 1996/01/11 22:25:28 drd - * jrv@vanzandt.mv.com : auto contours at "nice" levels - * hkeller@gwdg.de : improvements to contouring code - * - * Revision 1.253 1996/01/11 21:58:22 drd - * Lucas Hart: trap a division by zero - * Volker Solinus: fix some weird problems caused by folding editor - * Carsten Steger: many small tweaks to compile on HP-UX and Amiga - * - * Revision 1.252 1996/01/11 21:43:34 drd - * s.mccluney@bre.com: make wgnuplot filename run until plot window is - * explicitly closed, or enter interactive session if - * /noend is specified - * - * Revision 1.251 1996/01/10 21:26:19 drd - * drd: add file gnuplot.opt containing a list of the core files - * update makefile.vms to use this. Comments in some other makefiles - * - * Revision 1.250 1996/01/10 20:18:37 drd - * drd: add doc2html.c into the cvs tree, and so into distribution - * trivial tweaks to win/ files to compile with VC++ - * - * Revision 1.249 1996/01/10 20:07:49 drd - * cmw: patches for win32s using borland c + various small tweaks - * - * Revision 1.248 1995/12/20 22:44:28 drd - * Erik Luijten: missing static keyword in set.c - * fix a small layout problem in Makefile.in - * Joerg Fischer: put back in the extra line in boxed key - * drd: post eps bounding box - * make %T print as %d not %f hence no trailing .000000 - * - * Revision 1.247 1995/12/20 21:46:41 drd - * Stefan Bodewig: updated remaining terminals - * Joerg Fischer: moved help text to drivers - * Dick Crawford: docs/ps_guide.ps - * - * Revision 1.246 1995/12/18 22:41:13 drd - * drd: accept %+... in gprintf() - * first attempt at accepting set ytics [start,]step[,end] - * - * Revision 1.245 1995/12/14 21:08:59 drd - * drd: oops - range calculation wrong in splines - * Neil Mathews: catch a possible pointer mis-access - * Joerg Fischer: tidy the set/show messages - * - * Revision 1.244 1995/12/12 22:15:24 drd - * drd: make interpol.c aware of dual axes and log scales - * tighten up on plot using n cf plot using 0:n, including plot..every - * - * Revision 1.243 1995/12/11 23:14:09 drd - * drd: dont seg fault if initial term not identified - * dont take logs twice in spline stuff - * both min and MIN are defined by some compilers - use GPMIN - * update spline demo - * various: small tweaks for different compilers - * - * Revision 1.242 1995/12/10 18:40:57 drd - * drd: back out change to bitmap.h [dont quite understand, actually !] - * second attempt at setlocale stuff - * - * Revision 1.241 1995/12/07 21:58:06 drd - * drd: tweaks to configure.in, Makefile.in - * add set locale - * Hans Olav Eggestad: timeseries patches - * - * Revision 1.240 1995/12/05 22:18:51 drd - * drd: try to fix the postscript bounding-box and reencode problems - * Joerg Fischer: cp437 and cp830 code pages for postscript - * drd: bogus code in boundary() in graphics.c (ybot used before set) - * - * Revision 1.239 1995/12/02 22:04:44 drd - * carsten steger: amiga fixes, plus upgrades for several terminals - * drd: make post.trm variables static - * - * Revision 1.238 1995/12/02 21:16:50 drd - * drd and many others: small tweaks to code to avoid compiler warnings - * and improve portability - * - * Revision 1.237 1995/11/29 19:01:22 drd - * schooley@ee.gatech.edu: mif.trm - * Ian MacPhedran: hpgl.trm - * - * Revision 1.236 1995/11/29 17:45:30 drd - * drd: changes for VMS - * - * Revision 1.235 1995/11/29 14:32:26 drd - * schuh@meteo.uni-koeln.de: fix splines, etc - * plot 'file' smooth ... - * - * Revision 1.234 1995/11/27 12:57:30 drd - * Ian_MacPhedran@engr.USask.CA : coloured points in fig output - * - * Revision 1.233 1995/11/27 11:28:48 drd - * drd: add x2 label - * allow fonts for title / axis labels / time - * allow strftime format for timestamp - * - * Revision 1.232 1995/11/20 12:04:53 drd - * Joerg Fischer: extra line in boxed key - * - * Revision 1.231 1995/11/20 11:28:45 drd - * drd: a few portability concerns - * beebe@math.utah.edu - trap use of void fn in an expression. - * - * Revision 1.230 1995/11/17 17:58:01 drd - * drd: try to eliminate the MAXINT problem in datafile.c - * - * Revision 1.229 1995/11/03 11:23:54 drd - * drd: accept x1y2 etc as well as first or second - * small change to tics for very small plots - * - * Revision 1.228 1995/11/02 16:55:29 drd - * drd: dont core dump when plot is very small - disable key instead - * when autoscaling tics, take plot size and font size into account - * Neil Mathews : dont forget to alloc room for string terminator - * - * Revision 1.227 1995/11/02 13:14:05 drd - * drd: support boxed key with key under - * - * Revision 1.226 1995/11/01 19:05:06 drd - * drd: splot fix for rs6000 - * allow negative ticslevel - * geometric series tics for logscale - * enhanced sprintf for tic format - * - * Revision 1.225 1995/11/01 17:43:50 drd - * drd: added png and updated several other drivers, particularly for help - * add the code to doc2gih and doc2hlp to merge help from driver files - * - * Revision 1.224 1995/08/25 07:39:46 drd - * drd: show, save and reset 'origin' - * trap seg.fault in dumb.trm - * avoid garbage on exit from linux vga - * reset ordinate at double blank line - * John Turner : tidy up key - * - * Revision 1.223 1995/08/24 17:06:47 drd - * drd: detect tempnam in configure - * - * Revision 1.222 1995/08/24 13:06:32 drd - * drd: run configure.in through autoconf 2.4 - * - * Revision 1.221 1995/08/24 12:49:55 drd - * drd: update dumb and latex terminals - * Joerg Fischer : small change to pm driver - * - * Revision 1.220 1995/08/24 11:54:12 drd - * drd: many small changes : index a:b:c for splot, fixes for vms compile, - * preserve \ in strings saved then loaded - * - * Revision 1.219 1995/07/28 16:22:38 drd - * drd: still trying to get it to compile on sun - * - * Revision 1.218 1995/07/28 10:19:03 drd - * drd: more changes to make it compile on sun - * - * Revision 1.217 1995/07/27 16:23:05 drd - * drd: changes to compile on archaic sun compiler - * - some ANSI prototypes without __P had sneaked in - * - sun compiler doesn't merge adjacent string constants ? - * - 0L caused error ? - * (still a problem with float.h ?) - * - * Revision 1.216 1995/07/21 10:45:45 drd - * Ian McPhedron, drd - updated various tek drivers to new format - * - * Revision 1.215 1995/06/22 15:20:37 drd - * drd: fix garbage output from print {1, 1.74268162741998e-08} - * atari terminals in makefile.unx - * - * Revision 1.214 1995/06/19 14:22:14 drd - * werner@bilbo.mez.ruhr-uni-bochum.de : tgif.trm - * Dick Crawford : new docs - * - * Revision 1.213 1995/06/19 13:10:25 drd - * drd: fix missing ytics in splot - * splot x*y ; plot x didn't (seem to) do the plot - * tony@plaza.ds.adp.com : atof not prototyped in scanner.c - * dirk@lstm.uni-erlangen.de : typos in term.h and ataries.trm - * - * Revision 1.212 1995/06/16 12:37:09 drd - * drd : update regis terminal - * - * Revision 1.211 1995/06/16 12:02:41 drd - * turner@lanl.gov : /usr/openwin -> $OPENWINHOME in makefile.unx - * - * Revision 1.210 1995/06/16 11:58:32 drd - * schuh@meteo.Uni-Koeln.DE : add bezier, etc to saved output - * - * Revision 1.209 1995/06/16 11:45:50 drd - * drd: make enhpost an 'enhanced' option on post.trm - * - * Revision 1.208 1995/06/16 10:07:51 drd - * Thomas.Koenig : set encoding - * - * Revision 1.207 1995/06/16 09:06:49 drd - * macphed@dvinci.usask.ca, drd: implement MINEXP - * - * Revision 1.206 1995/06/16 07:57:00 drd - * drd: saved absolute key position incorrectly - * - * Revision 1.205 1995/06/15 15:51:21 drd - * Richard Stanton : os2 makefile - * prm@aber.ac.uk : windows patch - * - * Revision 1.204 1995/06/15 15:35:59 drd - * drd, papp@tpri6f.gsi.de : effort to store all co-ordinate numbers - * in unsigned variables - * - * Revision 1.203 1995/06/15 10:51:22 drd - * drd: show zeroax was showing wrong linetype - * pieter@wfw.wtb.tue.nl : update pslatex driver to output plain TeX - * - * Revision 1.202 1995/06/15 10:30:42 drd - * drd: key wrong with set cont; splot ... notitle - * anonymous: makefile.tc fixes - * - * Revision 1.201 1995/06/14 13:13:03 drd - * drd: h_tic and v_tic reversed in xtick_callback and ytick_callback - * - * Revision 1.200 1995/06/14 12:20:42 drd - * dirk@lstm.uni-erlangen.de: atari patches - * - * Revision 1.199 1995/06/13 14:13:23 drd - * drd: tidy up contour key entries. - * accept set clabel ['format'] to control key printf format. - * - * Revision 1.198 1995/06/13 10:18:10 drd - * drd: portrait and landscape were switched in enh/post.trm - * - * Revision 1.197 1995/06/12 18:09:30 drd - * drd: fix ylabel x-coord when origin is displaced from 0,0 - * fix output from 'show margin' - * - * Revision 1.196 1995/06/12 14:19:07 drd - * drd: fix bug where empty data files not correctly trapped - * - * Revision 1.195 1995/06/12 12:05:04 drd - * drd: fix bug in fortran D/Q detection - * put #ifdef LINUX around linux.trm in term.h - * - * Revision 1.194 1995/05/26 17:41:52 drd - * anonymous ! (uploaded to /incoming) - * - * Revision 1.193 1995/05/26 17:25:47 drd - * Roger Fearick: os/2 patches - * - * Revision 1.192 1995/05/25 16:44:27 drd - * drd: multiplot for splot; suspend only when prompt is issued - * - * Revision 1.191 1995/05/25 14:24:08 drd - * drd: change term_tbl[term] to term-> in preparation for change to - * linked lists of terminals - * - * Revision 1.190 1995/05/25 13:38:17 drd - * drd: fix memory leak when plotting files without \n before EOF - * - * Revision 1.189 1995/05/25 10:47:21 drd - * drd: error in parsing set *range reverse writeback - * - * Revision 1.188 1995/05/12 12:26:35 drd - * woo,drd: initial multiplot support - * - * Revision 1.187 1995/05/11 15:22:51 drd - * Richard Stanton, Roger Fearick : OS/2 patches - * Russel Lang, Pedro Mendes : windows patches - * - * Revision 1.186 1995/05/11 12:05:09 drd - * Martijn Schipper : os9 port - * - * Revision 1.185 1995/05/09 15:47:32 drd - * drd: trivial bug in reporting of extension of ranges < zero - * - * Revision 1.184 1995/05/09 15:35:01 drd - * drd: range reverse and writeback - * - * Revision 1.183 1995/05/09 12:27:15 drd - * several beta testers : mismatch in declarations for {xy}fact across files - * - * Revision 1.182 1995/05/09 12:23:51 drd - * drd: realloc(NULL,x) is not to be trusted - * - * Revision 1.181 1995/04/27 14:33:42 drd - * dirk@lstm.uni-erlangen.de : fix 'set nozeroaxis' bug - * drd: syntax error in gplt_x11.c - * - * Revision 1.180 1995/04/27 14:00:11 drd - * Richard Standton: os/2 changes - * mikulik@labs.polycnrs-gre.fr : djgpp changes - * drd: two blank lines after table output, for index - * pointsize parsing in gplt_x11.c - * - * Revision 1.179 1995/04/27 12:06:05 drd - * drd: more recent FAQ - * update some makefiles - * use graph_error() rather than int_error() while graphics active - * allow mix of co-ordinate systems _within_ arrow/label posn. - * - * Revision 1.178 1995/04/24 10:41:54 drd - * Roger Fearick: more os/2 changes - * drd: trivial portability fixes - * - * Revision 1.177 1995/04/22 14:22:07 drd - * drd: accept set size x since if there is no ,y xsize already changed - * guard against division by zero when fit is almost perfect - * - * Revision 1.176 1995/04/21 15:02:03 drd - * drd: update a few of the makefiles - * temporary fixes to the non-portable timeseries code - * - * Revision 1.175 1995/04/21 12:46:18 drd - * drd: try to accept qQ in place of e for fortran quad numbers in datafile - * split graph3d.c into graph3d.c, util3d.c, hidden3d.c [needs cleanup] - * - * Revision 1.174 1995/04/20 18:11:55 drd - * olav@melvin.jordforsk.nlh.no : timeseries update - * set missing - * prm@aber.ac.uk : fix cd for win32 - * - * Revision 1.173 1995/04/20 14:27:28 drd - * drd: modify table3d output so that it can be read back in as a data splot - * - * Revision 1.172 1995/04/20 13:18:52 drd - * prm@aber.ac.uk : win32 changes - * David Liu: merge pc graphics routines - * - * Revision 1.171 1995/04/20 12:54:40 drd - * drd: allow arbitrary number of columns and arbitrary length data lines - * start undefined fit variables at 1 rather than 1e-30 - * Werner Geppert: new-format texdraw.trm - * - * Revision 1.170 1995/04/19 15:57:04 drd - * Roger Fearick: changes for os/2 - * - * Revision 1.169 1995/04/19 14:01:42 drd - * Alex Woo, drd: isnumber -> isanumber to avoid BSD name conflict - * - * Revision 1.168 1995/04/19 13:15:20 drd - * drd: remove polar.dat and antenna.dat from makefiles. - * - * Revision 1.167 1995/04/19 10:59:04 drd - * mccauley@ecn.purdue.edu: update grass terminal - * drd: fix bug in inverted range in plot2d.c - * - * Revision 1.166 1995/04/13 17:06:42 drd - * drd: last-minute changes to makefile.vms - * implement sin(x) as expected for set angles degrees - * fix bug : acos(cos({0,1})) was undefined - * - * Revision 1.165 1995/04/13 15:26:38 drd - * drd: rewrite compiler detection in buildvms.com - * fix plot second,x - * add a set_pointsize function to the terminal driver fn - * mods to term.c to support old and new forms of driver - * initial implementation of tic mirror and axis for splot - * a few set no* commands for consistency - * make set bar continuous rather than on/off - * - * Revision 1.164 1995/04/07 18:03:59 drd - * drd: more fixes from betatesters. - * finally fix contour bug on OpenVMS/AXP and splot crash on OSF/AXP - * - * Revision 1.163 1995/04/06 13:59:00 drd - * drd: the various small fixes to makefiles since release of 162 - * fixes for set zero and plot second,first,x - * - * Revision 1.162 1995/04/04 16:00:22 drd - * drd: remove gnubin from makefiles - * - * Revision 1.161 1995/04/04 15:14:13 drd - * drd: set size square. graph and screen coordinates for labels, etc - * via is a requried keyword for fit. more code cleanups (#if 0) - * - * Revision 1.160 1995/04/03 19:09:21 drd - * drd: allow key to be positioned at screen/graph co-ordinates - * - * Revision 1.159 1995/04/03 18:23:39 drd - * phy6tc@gps.leeds.ac.uk : updated README.mf and makefile.unx for solaris - * roger@rsun1.ms.ornl.gov, drd: accept i as abbreviation for index - * was not autoscaling for binary splot - * drd: implement absolute labels and arrows - * small changes to makefile.tc - * - * Revision 1.158 1995/04/03 11:13:44 drd - * rjl: 16-bit changes (ie make pointers GPHUGE) - * - * Revision 1.157 1995/04/03 10:36:10 drd - * rjl: win32 patches - * - * Revision 1.156 1995/03/31 17:53:12 drd - * drd: a few more corrections to command.c/plot2d.c/plot3d.c - * - * Revision 1.155 1995/03/31 16:19:03 drd - * drd: extract some code from command.c into plot2d.c and plot3d.c - * update makefiles, but I've probably missed something. - * (what's Makefile.in - can it be used to autogenerate the makefiles ?) - * - * Revision 1.154 1995/03/31 13:24:06 drd - * drd: more code cleanups, vms prototypes... - * split setshow.c into set.c and show.c - * - * Revision 1.153 1995/03/31 10:22:23 drd - * AL: no auto cast of 0 to 0.0 to gen_tics() with k&r compilers. - * drd: ditto for cast of double to int in calls to dbl_raise() - * code cleanup based on output from gcc -pedantic -Wall - * cc -xansi for SGI and -DHAVE_UNISTD_H for linux - * - * Revision 1.152 1995/03/28 14:27:02 drd - * drd: update 00test and CodeStyle - * AL: explicit promotion of int->double since k&r compilers cant prototype - * - * Revision 1.151 1995/03/27 18:04:44 drd - * drd: New (temporary) file WhatsNew - * update some demos (not sure cvs has noticed..?) - * zeroaxis linetype for 3d - * draw 2d zeroaxes after grid to get the correct linetype - * - * Revision 1.150 1995/03/27 15:00:04 drd - * drd: couple of problems with non-ansi compilers. - * fonts for labels weren't being saved properly - * allow linetype to be specied for grid and zeroaxes - * allow all four margins to be specified : xmargin -> [lbrt]margin - * - * Revision 1.149 1995/03/27 09:41:50 drd - * drd: reorder linux alphabetically in term.c - * rename popen.c to amiga.c, add a CVS id line, update makefile.amg - * more tweaks to makefile.vms - * - * Revision 1.148 1995/03/26 16:59:13 drd - * drd : code cleanup in graph3d.c, command.c - * brouard@sauvy.ined.fr : contour levels fixed when z is logscale - * - * Revision 1.147 1995/03/26 15:02:08 drd - * drd: many, many changes. Second axes. Rewrite of polar mode. every option - * on datafile. splot and fit use datafile module. grid at any/all of - * tics. Auto-set left margin. Clip data at edge of splot. Remove - * need for parametric mode for 3-column data file. border for splot. - * Tics on border. Tics optionally mirrored on opposite border. Allow - * plot '' to reuse last name. Various small bugfixes. - * - * Revision 1.146 1995/03/26 13:26:31 drd - * drd: trap realloc(NULL,size) bug in vaxcrtl - * - * Revision 1.145 1995/03/05 12:33:29 alex - * AL: suid fixes for linux - * - * Revision 1.144 1994/12/10 12:06:18 alex - * AL: updated configure.in for autoconf 2.x - * - * Revision 1.143 1994/10/06 14:33:39 alex - * Roger Fearick: OS/2 patches for alpha 140 - * - * Revision 1.142 1994/09/29 22:37:56 alex - * David J. Liu: read wait string from /dev/console in linux.trm - * - * Revision 1.141 1994/09/18 16:45:59 alex - * David J. Liu: new linux driver, new terminal function set_font (only - * Postscript yet), new emx terminal - * - * Revision 1.140 1994/09/13 23:12:18 alex - * AL: updated 00test - * - * Revision 1.139 1994/09/13 22:24:37 alex - * David Denholm: unary +, duplicate symbols in contour.c, plot.h - * makefile.vms fixes, undefined dummy vars in plot command, - * some bugfixes / additions to key - * - * Revision 1.138 1994/09/13 19:21:06 alex - * AL: added -DNO_GIH to vms and Windows makefiles - * - * Revision 1.137 1994/09/13 18:54:22 alex - * Andrew McLean: avoid CFLAGS commandline overflow in makefile.tc - * - * Revision 1.136 1994/09/13 18:35:02 alex - * Carsten Steger: pipe support for Amiga - * - * Revision 1.135 1994/09/13 18:20:35 alex - * AL: avoid integer overflow in constant expressions for 16bit compilers. - * Hope I caught all. - * - * Revision 1.134 1994/09/13 16:14:13 alex - * AL: memory functions moved to alloc.c. removed default cases again. - * - * Revision 1.133 1994/09/03 12:18:05 alex - * AL: EOF lockup fix in readline.c - * - * Revision 1.132 1994/09/03 12:05:00 alex - * Carsten Steger: fix for missing tics in polar mode. (Some patch conflicts, - * still not working completely) - * - * Revision 1.131 1994/09/03 10:41:56 alex - * AL: strftime rewrite, removed strftime dummy from misc.c, still has to be - * added to buildvms.com and makefile.vms - * - * Revision 1.130 1994/08/28 15:34:26 alex - * AL: changed defines MEMCPY and MEMSET to BCOPY and BZERO, changed all - * occurences to bzero to memset. - * added default case with warning to all switch statements - * removed VFORK code and comments - * - * Revision 1.129 1994/08/28 12:58:45 alex - * AL: reintroduced NOGAMMA flag, gamma in specfun in only used if NOGAMMA is - * defined. (Maybe the flag needs to be added to some of the makefiles) - * - * Revision 1.128 1994/08/28 11:45:30 alex - * AL: change check for valid data after strtod call - * - * Revision 1.127 1994/08/28 11:12:52 alex - * David Denholm: using patch - * - * Revision 1.126 1994/08/27 18:01:05 alex - * AL: took out blank line fix again - * - * Revision 1.125 1994/08/18 16:39:28 alex - * AL: accept line with whitespace a separator in data files. - * - * Revision 1.124 1994/08/18 16:14:40 alex - * AL: new mkdist script, autoconf fixes for NeXT, support for GNU readline - * - * Revision 1.123 1994/08/09 10:03:46 alex - * Yehavi Bourvine: space around = in fit.c, matrix.c - * - * Revision 1.122 1994/08/05 08:57:48 alex - * AL: fixes for non-ANSI compilers - * - * Revision 1.121 1994/07/30 16:37:39 alex - * AL: added errorfix.sh - * - * Revision 1.120 1994/07/30 16:35:39 alex - * AL: fixup script for #error directives on brain dead compilers, install.sh - * from autoconf - * - * Revision 1.119 1994/07/27 16:45:38 alex - * AL: generate options string that PSLATEX_init understands - * - * Revision 1.118 1994/07/27 15:34:54 alex - * Pieter Vosbeek: new pstex driver - * - * Revision 1.117 1994/07/27 14:48:48 alex - * Vivek Khera: update for pslatex driver - * - * Revision 1.116 1994/07/27 14:28:33 alex - * David Denholm: pad struct coordinate to 32 bytes - * - * Revision 1.115 1994/07/24 15:54:17 alex - * Martin P.J. Zinser: move VMS status definition inside main to avoid double - * definition on APX - * - * Revision 1.114 1994/07/24 15:39:08 alex - * Brian McKeever, David Denholm, AL: added comment about distinguishing - * VAX and Alpha in buildvms.com - * - * Revision 1.113 1994/07/24 15:28:47 alex - * Richard Mathar: chance makefile.unx comment about Convex 10.1, use -O1 for - * convex_x11. - * - * Revision 1.112 1994/07/23 15:28:07 alex - * David Denholm: recognise X11 flags is uppercase also - * - * Revision 1.111 1994/06/26 15:58:44 alex - * David Denholm: check that pointsize is >0 - * - * Revision 1.110 1994/06/26 15:50:20 alex - * David Denholm: variable pointsize, some bug fixes - * AL: add pointsize to next.trm+gnuplot.doc - * - * Revision 1.109 1994/06/25 13:23:27 alex - * Carsten Steger: Amiga fixes - * - * Revision 1.108 1994/06/25 13:16:25 alex - * Carsten Steger: HPUX fixes - * - * Revision 1.107 1994/06/25 12:52:36 alex - * Matt Heffron: more point symbols for enhpost.trm - * - * Revision 1.106 1994/06/25 12:44:13 alex - * AL: install lasergnu from sourcedir in Makefile.in - * Alexander Woo,Hans Olav Eggestad: fixed for graphics.c - * added timedat.dem to all.dem - * - * Revision 1.105 1994/06/25 11:44:51 alex - * AL: configure created with new autoconf 1.11 - * - * Revision 1.104 1994/05/02 22:26:02 alex - * AL: added substitute function strerror, cast qsort function to right type - * removed warning about return type in tek.trm - * - * Revision 1.103 1994/05/01 16:12:49 alex - * Daniel S. Lewart: AIX makefile fixes - * - * Revision 1.102 1994/05/01 16:04:40 alex - * David Denholm: vms fixes in buildvms and makefile.vms - * - * Revision 1.101 1994/05/01 15:36:50 alex - * Alex Woo: fixes for timedat, Borland C, OSF - * - * Revision 1.100 1994/05/01 15:23:11 alex - * Yehavi Bourvine: fixes for vms - * - * Revision 1.99 1994/04/30 16:09:21 alex - * Olaf Flebbe: use doubles for reading data files, print error message when %f - * is used - * - * Revision 1.98 1994/04/30 15:35:20 alex - * AL: signal function type, added GPL to end of configure.in - * - * Revision 1.97 1994/04/29 10:43:31 alex - * AL: cleaned up signal calls, removed obsolete next_31 makefile target, - * removed autoconf call from Makefile.in, check for signal type in - * configure - * - * Revision 1.96 1994/04/26 12:54:54 alex - * Carsten Grammes: removed single character input and variable function - * arguments from fit.c, moved fit demofiles to ./demo, updated version message - * AL: removed obsolete test for variable arguments from configure, wasn't - * working anyway - * - * Revision 1.95 1994/04/26 11:34:01 alex - * Raymond Toy: Update for PSTricks terminal - * - * Revision 1.94 1994/04/26 11:14:03 alex - * Jay I Choe: different line styles for tek40xx, typo in draw_clip_line in - * graph3d.c - * - * Revision 1.93 1994/04/26 11:01:11 alex - * AL: removed call to malloc_debug, configure with autoconf 1.9 - * - * Revision 1.92 1994/04/06 08:52:20 alex - * AL: moved cd and pwd commands out of command(), setdrive fix for MSC - * removed extern declarations from term/*, updated 00test - * - * Revision 1.91 1994/04/05 17:32:14 alex - * AL: moved stdio.h and setjmp.h to stdfn, env now declared in plot.h - * - * Revision 1.90 1994/04/05 16:19:10 alex - * Matt Heffron: enhanced postscript driver, if and call command - * - * Revision 1.89 1994/04/01 15:46:52 alex - * AL: changed variable argument lists to use either stdarg or varargs - * added checks to configure - * - * Revision 1.88 1994/04/01 00:12:38 alex - * Carsten Steger: fix for draw_clip_line when more than two intersections are - * found - * - * Revision 1.87 1994/04/01 00:07:27 alex - * Carsten Steger: changes for hpux 9.0 - * - * Revision 1.86 1994/03/31 23:09:54 alex - * AL: renamed stringfn.h to stdfn.h, moved stdlib, sys/types, errno, time - * to stdfn.h, added checks for headers to configure, removed declarations for - * stdlib, time and math functions - * - * Revision 1.85 1994/03/30 16:19:41 alex - * David Denholm: changes for openvms/axp - * AL: moved some global variable declarations to plot.h - * - * Revision 1.84 1994/03/30 02:04:46 alex - * Alexander Woo: makefile changes for solaris and osf, minor tics are off - * by default - * - * Revision 1.83 1994/03/30 01:40:10 alex - * Roger Fearick: os2 fixes for term/pm.trm - * - * Revision 1.82 1994/03/30 01:27:58 alex - * Carsten Steger: amiga fixes, new reset command, - * docs/*.c now includes "ansichek.h" - * AL: removed -Idocs from all makefiles - * - * Revision 1.81 1994/03/30 00:57:23 alex - * Olaf Flebbe: check for string.h and strchr in configure - * - * Revision 1.80 1994/03/30 00:35:50 alex - * Olaf Flebbe: print up to 15 digits in print command - * - * Revision 1.79 1994/03/29 22:49:47 alex - * AL: changed action tables to dynamic size, read_line fix - * - * Revision 1.78 1994/03/29 19:10:32 alex - * AL: changed token table to dynamic size - * - * Revision 1.77 1994/03/29 16:33:15 alex - * AL: removed useless replot_line_len and extend_input_line - * - * Revision 1.76 1994/03/29 16:26:17 alex - * AL: changed replot_line to dynamic length - * - * Revision 1.75 1994/03/29 13:36:54 alex - * AL: readline with variable line length - * - * Revision 1.74 1994/03/23 17:36:03 alex - * Robert Cunningham: draw 3d impulses from 0 plane and not from base - * Raymond Toy,AL: find X if includes and libs are in the standard directories - * - * Revision 1.73 1994/03/22 14:26:23 alex - * Yehavi Bourvine: changes for gnufit with vms - * AL: removed NOGAMMA define since it is no longer needed - * - * Revision 1.72 1994/03/22 13:40:16 alex - * Olaf Flebbe: gnufit changes to Makefile.in, autoconf code to detect strnicmp - * and strcasecmp - * AL: added -DSTRNICMP to Borland and MS makefiles, working strnicmp function - * autoconf code to detect termios and tcgetattr on NeXT - * - * Revision 1.71 1994/03/22 02:15:17 alex - * AL: sgtty version of kbhit and getch in fit.c. TERMIOS_FIT now called TERMIOS - * (as in readline), NeXT uses termios in readline also. new targets for old - * (i.e. <=3.1) versions of NeXTstep - * - * Revision 1.70 1994/03/21 17:29:03 alex - * AL: merged DOS version of read_line into generic one. vms still missing. - * - * Revision 1.69 1994/03/20 14:57:04 alex - * AL: changed interactive and file input to dynamic line len. dos and vms not - * yet. - * - * Revision 1.68 1994/03/19 14:28:48 alex - * AL: added buffer size parameter to copy_str, quote_str and capture, removed - * quotel_str - * - * Revision 1.67 1994/03/18 23:08:27 alex - * AL: removed extern declarations without prototypes - * - * Revision 1.66 1994/03/18 22:42:01 alex - * AL: removed most(?) extern function declarations without prototypes - * - * Revision 1.65 1994/03/18 21:06:03 alex - * Carsten Gammes: fix for prototype for solve_tri_diag - * David Denholm, AL: fix for 0.0**1.0 and arg(0) - * Olaf Flebbe, AL: use signed int in dumb term, add nl after dumping plot - * AL: removed printf warnings from hpgl.trm and regis.trm - * - * Revision 1.64 1994/03/18 16:23:24 alex - * AL: removed ANSI prototypes in fit.c, kbhit and getch static - * - * Revision 1.63 1994/03/17 10:44:20 alex - * AL: updated 00test - * - * Revision 1.62 1994/03/17 00:54:13 alex - * AL: deANSIfied the gnufit functions, added readme.1st as README.fit - * - * Revision 1.61 1994/03/17 00:04:28 alex - * Carsten Grammes: gnufit 1.2, new files fit.c, fit.h, matrix.c, matrix.h, - * type.h, fitdemo directory - * - * Revision 1.60 1994/03/14 17:28:50 alex - * AL: new file stringfn.h to include string.h or strings.h, removed all - * external declarations for str??? functions - * - * Revision 1.59 1994/03/14 14:44:41 alex - * AL: changed all functions with char arguments to ANSI style, changed more - * index calls, removed warning about HUGE redefinition on NeXT - * - * Revision 1.58 1994/03/13 16:46:49 alex - * Wolfram Gloger: include ansichek after system includes, don't redefine - * __P if defined in linux - * - * Revision 1.57 1994/03/13 16:32:50 alex - * Yehavi Bourvine: changes for vms - * - * Revision 1.56 1994/03/13 16:10:55 alex - * Alex Woo: changes for SGI IRIX - * - * Revision 1.55 1994/03/13 16:01:52 alex - * Ton van Overbeek: changes for PureC - * AL: changed all uses of index and rindex to strchr and strrchr - * - * Revision 1.54 1994/03/13 15:32:57 alex - * AL: some prototype fixes to compile on PCs - * - * Revision 1.53 1994/03/13 15:27:51 alex - * John Interrante: better cleanup in Makefile.in, also draw horizontal grid - * lines, don't print terminal number - * AL: rename docs/makefile and docs/latextut/makefile in configure - * - * Revision 1.52 1994/03/13 14:57:57 alex - * Carsten Steger: revised amiga makefile, some more prototypes, removed - * unused variables, fix for ytick==0.0 - * - * Revision 1.51 1994/03/13 14:28:14 alex - * Olaf Flebbe: search for lgamma in libm - * - * Revision 1.50 1994/03/03 14:07:40 alex - * AL: removed some ANSI-style functions, # always in first column - * - * Revision 1.49 1994/03/02 00:13:15 alex - * AL: added 00test README file - * - * Revision 1.48 1994/02/25 16:38:09 alex - * AL: added prototypes to files in docs. Added -Idocs to all makefiles that - * don't (cd docs; make something) - * - * Revision 1.47 1994/02/25 15:14:05 alex - * AL: added ANSI prototypes for all files . and term, new files protos.h, - * fnproto.h, binary.h, ansichek.h - * - * Revision 1.46 1994/01/29 16:27:49 alex - * HO Eggestad's timeseries mods - * - * Revision 1.45 1994/01/27 23:15:21 alex - * AL: Atari ST MultiAES mods, Projects file - * - * Revision 1.44 1994/01/07 13:53:29 alex - * AL: changed version numbers to 3.5 - * - * Revision 1.43 1994/01/03 16:49:28 alex - * Olaf Flebbe: use DBL_MAX for VERYLARGE on sgi, since HUGE==FLT_MAX - * - * Revision 1.42 1994/01/03 16:43:28 alex - * AL,Paul Mitchell: change X11 settings for sgi, pass INSTALL to docs/makefile - * - * Revision 1.41 1994/01/03 16:14:09 alex - * AL: don't put `point' into LaTeX options string - * - * Revision 1.40 1994/01/03 16:03:38 alex - * AL: memory efficient checkin procedure. Boy, I hate DOS. - * - * Revision 1.39 1994/01/03 15:49:45 alex - * AL: new script nuke, -a option for all - * - * Revision 1.38 1994/01/03 02:24:51 alex - * AL: #if'ed out obsolete vfork shell function - * - * Revision 1.37 1994/01/02 14:54:34 alex - * David Ciemiewicz: don't redefine VREPRINT - * - * Revision 1.36 1994/01/02 14:49:29 alex - * Olaf Flebbe: give specific message when too many tokens - * - * Revision 1.35 1994/01/02 14:35:04 alex - * Olaf Flebbe: add sony_news to #ifdef for sys/types.h - * - * Revision 1.34 1994/01/02 14:30:05 alex - * Timothy L D Collins: mention solaris as possible machine type in makefile.unx - * - * Revision 1.33 1994/01/02 14:20:35 alex - * AL: use read/write string for sscanf in gnuplot_x11 - * - * Revision 1.32 1994/01/02 13:47:41 alex - * Marc van Woerkom,AL: check for undefined DISPLAY env var - * - * Revision 1.31 1994/01/02 13:42:06 alex - * Phil Garner: check OSF1 instead of __alpha for signal return type - * AL: abort option in civers - * - * Revision 1.30 1994/01/02 13:28:56 alex - * AL: merged bigfig in fig, new civers, all, files - * - * Revision 1.29 1993/12/30 21:58:52 alex - * Alex Woo: data/command mix mod - * - * Revision 1.29 1993/12/30 21:58:52 alex - * Alex Woo: data/command mix mod - * - * Revision 1.28 1993/10/15 00:11:29 alex - * Radey Shouman: parametric notitle bug - * - * Revision 1.27 1993/10/14 20:10:53 alex - * David Kotz: MailFTP via Dartmouth server in 0README - * - * Revision 1.26 1993/10/08 17:20:30 alex - * Alexander Woo: user selected borders and tic marks, seems to conflict with - * minor tic marks - * - * Revision 1.25 1993/10/08 17:05:55 alex - * Akira Sawada: call XSetWindowBackgroundPixmap after drawing picture - * - * Revision 1.24 1993/10/08 16:40:49 alex - * AL: new define CHARSET7BIT in readline.c. The readline function now accepts - * extended chars (e.g. latin1, MSDOS codepage etc.) - * - * Revision 1.23 1993/10/08 16:27:31 alex - * Atsushi Mori: logarithmic impulses - * - * Revision 1.22 1993/10/08 14:46:49 alex - * Henri Gavin: row/col fix for dgrid3d - * - * Revision 1.21 1993/10/08 14:43:31 alex - * AL: set pipe signal to ignore - * - * Revision 1.20 1993/10/08 14:37:53 alex - * Dave Shield, AL: fixed comments regarding HELPDEST in makefile.unx - * - * Revision 1.19 1993/10/08 13:58:51 alex - * AL: missing {, tabs in makefile.unx - * - * Revision 1.18 1993/10/07 19:23:49 alex - * Scott D. Heavner: Linux svga driver, new file term/linux.trm - * - * Revision 1.17 1993/10/07 19:10:58 alex - * N.G. Brookins: ReGIS fix - * - * Revision 1.16 1993/10/07 17:19:49 alex - * Vivek Khera: Color option for PSLaTeX driver - * - * Revision 1.15 1993/10/07 17:14:11 alex - * Timothy L D Collins: new hpgl driver hp7550 - * - * Revision 1.14 1993/10/07 16:57:37 alex - * Wolfram Gloger: Sloppy mem management fix, LINUX_FLAGS in makefile.unx - * - * Revision 1.13 1993/10/07 16:53:03 alex - * Carsten Steger: demo fixes - * - * Revision 1.12 1993/10/07 15:01:55 alex - * Emmanuel Bigler: missing -I in HP_FLAGS - * - * Revision 1.11 1993/10/07 14:56:17 alex - * Bruno PIGUET: missing ()s in term/hpgl.trm PCL_YMAX - * - * Revision 1.10 1993/10/07 13:24:42 alex - * Roland B Roberts, Alex Woo: gcc on VMS - * - * Revision 1.9 1993/10/07 12:56:53 alex - * AL: a couple of .cvsignore file, no for final releases - * - * Revision 1.8 1993/10/07 12:52:58 alex - * Alex Woo: fix a logic error in polar grid plotting, labels every 30 degrees - * - * Revision 1.7 1993/10/07 11:09:33 alex - * Nick Strobel: Documentation for new errorbar styles - * - * Revision 1.6 1993/10/07 10:21:21 alex - * Lars Henke, Nick Strobel: minor ticmarks, new errorbar styles: yerrorbars, - * xerrorbars, xyerrorbars, boxxyerrorbars, interpolation: splines, csplines, - * sbezier, bezier, errorbars with and without ticks, Amiga cleanup - * AL: added interpol.c to all makefiles - * - * Revision 1.5 1993/10/06 15:51:27 alex - * AL: Added Log to version.c, commitvers - * cast in dxf.trm - * - */ diff --git a/docs/old/CodeStyle b/docs/old/CodeStyle deleted file mode 100644 index f65c3df1b..000000000 --- a/docs/old/CodeStyle +++ /dev/null @@ -1,252 +0,0 @@ -The following things have be observed when writing new code for gnuplot: -(this file is currently under construction) Some of the following is -just personal bug-bears, so dont take any offense if something I -moan about is something you think is good style... - -These rules were originally written up by David Denholm, and I keep -updating them as I go along. -Lars - - -MISSING FUNCTIONS, AND FUNCTIONS TO BE AVOIDED ----------------------------------------------- -The following functions may not be used, since they are not present on all -systems (though the substitute functions might be defined to exactly these -functions) - -function use instead - -bcopy memcpy -bzero memset -index strchr -rindex strrchr -strncasecmp strnicmp - - - - The number of macros for conditional compilation is getting a little -extreme! I (personally) think it's better to make the conditionally-compiled -code 'feature-based' rather than 'compiler-based'. I think this is particularly -true for the many DOS compilers. The sort of thing I am thinking of is, -for example, whether to disable hidden3d stuff, or whether to store -data points as float rather than double to save space. Rather than having -a long list of compilers or OS's which use one or the other, add macros -such as SMALLMEMORY or NOHIDDENSTUFF and define these in the makefiles. - Perhaps a sensible guideline for choice of such macros is to arrange -things so that the smallest number of ports are affected. For example, -if we only compiled the hidden stuff if HIDDENSTUFF was defined, most -makefiles would have to be updated. But if instead it is being disabled -for a few machines, only those makefiles have to explicitly define -NOHIDDENSTUFF. - - Perhaps a good guideline would be that gnuplot should build cleanly -with most available features if no macros are defined on an ANSI C compiler -on a 'typical' (POSIX, say) unix machine. - - For example, I myself have broken this rule by requiring the macro -HAVE_LOCALE in order to support setlocale() - this feature is available -with ANSI compilers, and so setlocale() calls should be enabled by default, -and disabled only if NO_LOCALE is defined at compile time. Does this -sound reasonable? For example, there was some code in fit.c that would -prefer to use tempnam() if it is available, but falls back to ANSI fn -tmpnam() if necessary. The way it was done, tempnam() was the default, -and there was a list of those systems that had to use tmpnam(). -But the trouble was that a new one had to be added to the list every -few weeks as new machines were discovered. The current scheme is -that tmpnam() is used unless feature HAVE_TEMPNAM is enabled. - - - -On a related note... if one particular machine does doesn't provide -a standard-ish function, but the same functionality can be -acheived, it would be preferable to implement the standardish -function in a os-specific source file, so that the core code can -simply invoke the function without any conditionals, and the OS-specific -files provide the missing functions. For example, in fit.c (at the -time of writing) where a temporary file is needed, there is some -inline code for DOS, OS2, AMIGA, etc to create temporary files, -otherwise tempnam() is used. I think I'd rather have tempnam() -implemented as a function in dos.c for example, then the fit code -would not need to have any conditional code other than HAVE_TEMPNAM - - - -Also, think generic where possible... I once noticed that popen() -had been implemented for atari or similar using temporary files -and system() call. It seems to me that this could easily be done -as a generic solution, so that DOS ports, for example, could also -benefit. - - - - -FUNCTION PROTOTYPES -------------------- - -Function prototypes are mandatory, even for local functions that are -declared before use. This is necessary for a clean compile on -some machines. gcc -Wstrict-prototypes is recommended. -However, to make the code compilable on pre-ANSI style compilers, -prototypes have to be enclosed in a special macro, e.g. - -int strcmp __PROTO((char *s, char *t)); /* note the double ()'s */ - -Probably from gnuplot release 3.7.1 on, I will require that -all function declarations and definitions are in ANSI style. -I see absolutely no point at all in ignoring the benefits of -ANSI compilers, almost ten years after this language became -an ISO standard. - -int -strcmp(char *s, char *t) -{ - ... -} - -On platforms which use the included configure script, the ansi2knr -tool in the src subdirectory is invoked transparently if the compiler -doesn't support prototypes (Ultrix, SunOS 4.x). Other platforms may -require explicit rules or additional makefiles for non-ANSI/ANSI -compilation. The man page for ansi2knr is included. Note that for -ansi2knr to work, the function return type must be on a separate line, -or, to quote from the ansi2knr manual, "ansi2knr recognizes functions -by seeing a non-keyword identifier at the left margin, followed by a -left parenthesis, with a right parenthesis as the last character on -the line." - - - -While compilers do not require that explicit declarations be -given for integer arguments, we do ! - - -While ANSI compilers can use prototypes for implicit typecasts, k&r -compilers do not have this information. Avoid relying on implicit -conversions of function parameters. gcc -Wconversion helps with this. -There are many signed/unsigned warnings, but look out for other -ones which may be more serious, in particular integer to float and -vice versa. Placing casts is necessary in this case for correct -code on non-ansi compilers. - -[we will definitely give up k&r support in the near future, but - since existing code seems to work with k&r, we're sticking - with it for the time being. -] - -April 2012: Many years later, version 1.12 of the automake toolchain -itself has abandoned support for non-ansification using ansi2knr. -So the above section is of only historical interest. - - - - -INTEGER SIZE ------------- - -Large integer constant expression have to be explicitly cast to long, even -if the result is assigned to a long variable. - -long t=60*60*24; -results in a overflow on 16 bit compilers, even though the result fits into -the long variable. - -Correct: long t=60l*60l*24l; - - - -Similarly, though not particularly important, ANSI and k&r compilers -treat integer constants > MAX_INT differently. If you mean an -unsigned integer constant, say so. - - - - -Please avoid duplicating large sections of code - make the effort -to make a function or macro out of the common code. - - -min(a,b), max(a,b), MIN(a,b), MAX(a,b) are all predefined by some -compilers. I am now using GPMIN() and GPMAX() [wot a pain !] - - -Avoid putting directories into #includes - eg #include "term/file.h" -is to be avoided. Instead, #include "file.h" and use -Iterm on the -compile line. - - -coordval is typedef-ed to either double or float - it is almost always -double, but please take care not to mix coordval's with doubles. - - -An important rule unknown to many, it seems: *never* pass a 'char' to -any of the <ctype.h> functions, as-is. Don't cast it to (int), either ---- that would happen automatically, anyway. You *must* cast to -(unsigned char), instead. Otherwise, there'll quite likely be crashes -with 8-bit characters on systems where 'char' is signed. - - -LAYOUT AND INDENTATION ----------------------- - - The code layout is getting into a bit of a mess, due to mixed -conventions. IMHO the only useful style is one tab stop per -indent. This way, anyone can set their editor to display -with their preferred spacing. More importantly, one has to -delete only one tab to outdent once more : this makes it so much -easier to ensure alignment even if the opening brace is -off the top of the screen. - Much of the code seems to assume tab=8, and uses 4 spaces, -then one tab, then tab+4, then 2tab, ... On an entirely -personal note, this breaks my folding editor :-( - - I think vi does this by default. If using vi, please try -putting set ts=4 into your ~/.exrc file. - - - Unfortunately, gnu indent does not seem to recognise this -as a layout style. If it did, I'd have run all sources -through it long ago. [GNU indent -kr -cp0 -l132 -lps -br -psl -is what I use. Very little manual editing is necessary after -running this, mostly for long (> 80 cols) lines. Anyway, -I don't care which indentation style _you_ use, I'm running -all code through indent and be done with it. -Lars] - - - -Please use lots of vertical whitespace between unrelated -blocks of code in functions. And it should not be need to -be said, but I'll say it anyway... please put in lots of -comments describing blocks of code. Many people maintain and -contribute to this code. - - - The functions in plot?d.c and graph*.c are sometimes very long. -This isn't really a problem, since there's a lot of semi-independent -things to be done in sequence. However, I do object to the -practise of having all variables declared at the top of -such functions. Please keep the scope of temporary variables -as local as possible, particularly in these long functions. -The main reason is for ease of maintenance : many people -make modifications to small parts of code without fully -understanding in exacting detail the surrounding code. - - -In case you were wondering, lines of the form /*{{{ comment */ -and /*}}}*/ are markers left by my folding editor when I am forced -to fold up particularly long functions when trying to understand the -logic. I tend to leave these markers in when I finally figure it out, -though perhaps I should not. - - -Source code is intended to be read and maintained by humans. As such, -readability is prefered over elegance. Please separate all operators -from operands with a space, ie. instead of x+=3, use x += 3. The former -is not only less readable, it may also break older compilers! This rule -should also be followed for simple assignments, ie. in for (;;) loops. -Unary operators should be writen as usual, ie i++. - - -No C++ style comments (//). -No trailing comments on #ifdef/#ifndef lines. -No #error and #warning directives. - -[more to come] diff --git a/docs/old/GNUmakefile b/docs/old/GNUmakefile deleted file mode 100644 index 432813f5d..000000000 --- a/docs/old/GNUmakefile +++ /dev/null @@ -1,36 +0,0 @@ -# Having a separate GNUmakefile lets me `include' the dynamically -# generated rules created via Makefile.maint as well as Makefile.maint itself. -# This makefile is used only if you run GNU Make. -# It is necessary if you want to build targets usually of interest -# only to the maintainer. - -# Systems where /bin/sh is not the default shell need this. The $(shell) -# command below won't work with e.g. stock DOS/Windows shells. -SHELL = /bin/sh - -have-Makefile := $(shell test -f Makefile && echo yes) - -# If the user runs GNU make but has not yet run ./configure, -# give them a diagnostic. -ifeq ($(have-Makefile),yes) - -include Makefile -include $(srcdir)/Makefile.maint - -else - -all: - @echo There seems to be no Makefile in this directory. - @echo "You must run ./configure before running \`make'." - @exit 1 - -endif - -pre-dist: - @cd docs && make gnuplot.texi - @cd config && rm -f Makefile.am && make -f Makefile.am.in Makefile.am - @cd demo && rm -f Makefile.am && make -f Makefile.am.in Makefile.am - @cd m4 && rm -f Makefile.am && make -f Makefile.am.in Makefile.am - @cd src && rm -f makefile.all && make -f Makefile.maint makefile.all - @cd term && rm -f Makefile.am && make -f Makefile.am.in Makefile.am - @cd tutorial && rm -f Makefile.am && make -f Makefile.am.in Makefile.am diff --git a/docs/old/History.old b/docs/old/History.old deleted file mode 100644 index 476009649..000000000 --- a/docs/old/History.old +++ /dev/null @@ -1,295 +0,0 @@ - - GNUPLOT 3.0 RELEASE NOTES - -This describes changes to gnuplot since version 2.02 (ie, 2.0 -patchlevel 2). - -Highlights: ------------ -Gnuplot now handles surfaces as well. A new command names 'splot' (for -surface plot) has been added for that purpose. A number of new 'set' -options for surfaces have also been added and include: isosamples, -view, contour, cntrparam, mapping and surface. All tic/label/range -setting for x and y axes were extended for z as well. - -The size of data file for both curves and surfaces is now independent -of the samples (and iso_samples) variables. Data structures will -automatically be extended to hold the entire data file. - -New features: -------------- -3-d plotting with 'splot', and many auxiliary options. - -New 'errorbars' plot style. - -New 'using x:y{:z}' format (NOT COMPATIBLE WITH GNUPLOT 2.02). - -Data file plotting (for both curves and surfaces) does not require -setting samples (and isosamples for surfaces) any more. Size is -increased on the fly, without affecting the sample rate of functions. - -New makefile scheme for unix, that supports lots of flavors. - -Command-line editing and history. - -Adjustable display of plot border ('set border'). - -Set-commands 'x/y/zlabel' can now position the label. - -Set-command 'title' can now position the title. - -New time display command ('set time'). - -All PostScript devices were rewritten and merged into one (Color -Postscript is supported). Due to this many of the old postscript -terminal driver names are not supported; only 'postscript' is -recognized. Use 'help set terminal postscript' to find out how to get -your old favorite back, and more. - -A 'gnuplot' mode for emacs in the file gnuplot.el. - -SGI device was improved. - -New option to 'set arrow' called 'nohead'. - -List of all new commands: -------------------------- -splot - -List of all new set-show commands: ---------------------------------- -border, cntrparam, contour, isosamples, mapping, rrange, surface, -time, view, zlabel, ztics, zrange. - -List of changed set-show commands: ----------------------------------- -arrow, terminal, title, xlabel, ylabel, zlabel - -New terminal drivers: ---------------------- -vws, apollo, gpr apollo, dumb, BigFig, Super -VGA, ln03/hplj/hpdj, dxf. - -Deletions: ----------- -The gnut2p translator (translating gnutex to gnuplot) has been removed -from the standard distribution. It is available for ftp separately at -cs.duke.edu as dist/sources/gnuplot/gnut2p.tar.Z - -Bug fixes include: ------------------- -Fix a bug in parametric type hangup. - -Add a .sty file to fix indexing problem in manual. - -Fix a bug in hpljii. - -Fix a bug in FIG arrows. - - - ACKNOWLEDGEMENTS - -- New PostScript device by Russell Lang (rjl@monu1.cc.monash.edu.au). -- Several bug fixes, manual proofing, World Map by John Campbell -(campbell@nauvax.ucc.nau.edu). -- Eliminating samples from data files, lasergnu, and errorbars by -David Kotz (David.Kotz@Dartmouth.edu). -- New history and line editing capability for Unix and MSDOS, bivariate - functions and some bug fixes by Tom Tkacik (tkacik@hobbes.cs.gmr.com). -- New using x:y{:z} format by Dennis Linse (djlinse@phoenix.princeton.edu). -- Some polar enhancements, time display and some bug fixes by -Alex Woo (woo@ra-next.arc.nasa.gov). -- Dumb terminal by Francois Pinard (pinard@iro.umontreal.ca). -- VWS device by Walter Speth (speth@dbnpib5.bitnet). -- BigFig device by (ian@augean.ua.oz.au). -- XDF device by Florian Hiss (fhis1231@w204zrz.zrz.tu-berlin.de). -- HP Desk Jet device, overlay support for BCC and more efficient help -and pc.trm for MSDOS by Maurice Castro and Russell Lang -(rjl@monu1.cc.monash.edu.au). -- New makefile scheme by Roque Donizete De Oliveira and David Kotz -(oliveria@caen.engin.umich.edu and David.Kotz@Dartmouth.edu). -- The 3d extensions, contouring, Super VGA device, and bringing this new -version up by Gershon Elber (gershon@cs.utah.edu). - -Other bug fixes/improvments: -= Tom Bopp (tbopp@uhunix.uhcc.hawaii.edu) -= Kenneth H. Carpenter (khc@eece.ksu.edu) -= Mark Christopher (christo@bnr.ca) -= Henk de Haan (haan@irimcf.tudelft.nl) -= David Gillespie (daveg@csvax.cs.caltech.edu) - -Beta testers: -+ John Campbell (campbell@nauvax.ucc.nau.edu) -+ Kenneth H. Carpenter (khc@eece.ksu.edu) -+ Gershon Elber (gershon@cs.utah.edu) -+ Pat Empleo (empleop@afal-edwards.af.mil) -+ David Kotz (dfk@moose.dartmouth.edu) -+ Russell Lang (rjl@monu1.cc.monash.edu.au) -+ Tom Tkacik (tkacik@hobbes.cs.gmr.com) -+ Roque Donizete De Oliveira (oliveria@caen.engin.umich.edu) -+ Walter Speth (Speth@dbnpib5.bitnet) -+ Carsten Steger (stegerc@gshalle2.informatik.tu-muenchen.de) - -============================================================================ - - GNUPLOT 2.0 RELEASE NOTES - -New terminal drivers: ATT6300, Roland DXY800A, EEPIC, emTeX, EPSON LX-800, -EPSON 60dpi, Fig, HP2648, HPGL, HP LaserJet, Imagen, Kermit-MS Tektronix -emulator, LaTeX, MCGA, NEC CP6 pinwriter, POSTSCRIPT, Proprinter, Star color -printer, Tandy DMP-130, Tektronix 410x, SUN, VGA, X11. - -Additions: - -Command-line arguments are accepted. They are treated as names of -files containing gnuplot commands. Gnuplot loads them, one by one, and -then exits. - -Command 'plot' now has a 'title' option to change the information in -the key. The 'with' option can now specify line type and point type. - -Command 'pause'. - -Command 'replot' allows the addition of extra plots. - -Command 'save' now saves all the 'set' options, including the last -plot command. - -Command 'set autoscale' now accepts autoscaling on the x axis for data -files. The default is autoscaling on both axes. - -Command 'set noclip' disables clipping of points near the border. 'set -clip' reenables clipping. The default used to be 'clip', and is now -'noclip'. Clipping has also been extended to clip lines that extend -outside the borders: line plots are now clipped at the plot boundary. -Formerly, the line stopped at the last in-range data point. - -Numerical labelling at tic marks on x and y axes. Command 'set -format' allows the format of the tic mark labels to be altered. -Commands 'set xtics' and 'set ytics' allow for alphanumeric labels and -arbitrary tic positions. - -Command 'set grid' adds a grid between the tic marks. - -Improved key gives sample point or line types. Key can be disabled -with the 'set nokey'. Key can be positioned anywhere. - -Command 'set label' allows the placement of arbitrary text labels and -arrows. - -Command 'set polar' for polar plots. - -Command 'set offsets' for reducing the plotted area. Useful for polar -plots. - -Command 'set size' scales the displayed size of the plot. - -Command 'set tics out' causes the tics to be drawn outwards from the -border. Useful for impulse plots. - -Command 'set title' places a text label above the plot. - -Commands 'set xlabel' and 'set ylabel' place text labels on the x and -y axes respectively. Some terminals will place the y label vertically -upwards on the left of the plot, others place the label horizontally -at the left of the plot. - -Improved tics on log scales. - -Extended comments: comments are allowed anywhere reasonable in the -input line, and continue to the end of the input line. - -Line continuation (with \) is added. - -Non-interactive use, through redirection or "load" command, is -improved. Error messages expanded to include file name and line -number, and to reprint command line if not interactive. - -New plotting styles 'linespoints' and 'dots'. - -Blank lines in data files denote "breaks". In lines and linespoints -plot styles, this breaks the curve being drawn and begins at the next -point, without changing the line or point types. - -Completely new interactive help system that is similar to VMS help -system. A printed manual can be obtained in LaTeX, troff, or nroff and -is based on the same information as the interactive help. - -PC version now compiles with the large model so that gnuplot will -compile with the above additions! - -Bug fixes include: ------------------- -Bug involving functions plotted on a logarithmic x axis is fixed. - -Errors inside of loaded files now clean up and close files properly. - -Numbers of the form xxxxe+nn are now acceptable (+ sign caused error). - -Tics are now place inside the borders (some were outside). - -Reverse axes now work properly. - -Command 'set output ""' used to crash. - -VMS was closing stdout, so 'set output' code changed to avoid closing -it. VMS version of gnuplot now performs a SET TERM/NOWRAP itself. - -Terminal is now reset before closing output file, changing terminal -type or exiting gnuplot. - -Several old bugs have been superseded by new ones. - - - ACKNOWLEDGEMENTS - -The Unix PC, polar, pause, and offset additions were by John Campbell. -(CAMPBELL@NAUVAX.bitnet) -The Turbo C additions were by Bill Wilson. -(WILSON@NAUVAX.bitnet) -Some of the labelling improvements and combining of these additions -were by Russell Lang. -(rjl@monu1.cc.monash.oz.au) -The LaTeX driver, the help system, and some of the labelling -improvements were by David Kotz. -(David.Kotz@Dartmouth.edu) -And of course, the vast majority of the program is by Colin Kelley -and Thomas Williams. -(info-gnuplot@dartmouth.edu) - -======================================================================= - - GNUPLOT 1.1 RELEASE NOTES - -New terminal drivers: AED 512, BBN BitGraph, HP2623, POSTSCRIPT, -Selanar, Vectrix 384. The PC version now supports Hercules and ATT -6300 monochrome graphics. Thanks to those who sent these drivers in. - -New commands: 'set dummy' and 'show dummy' to select the dummy -variable name; 'replot' to repeat the last 'plot' command. - -The exclamation point (!) is now accepted as postfix factorial -operator. The gamma() function is also included, if your C library -has gamma(). See GAMMA below. - -Logical AND (&&) and OR (||) now short-circuit the way they do in C. -That is, the second && operand is not evaluated if the first is false; -the second || operand is not evaluated if the first is true. The -ternary operator (?:) also does not evaluate the unused operand. This -change allows for the definition of recursive functions, e.g. a -synonym for the ! factorial operator: - - fact(x) = (x<=1) ? 1 : x*fact(x-1) - -GNUPLOT now has a much better memory allocation scheme, replacing most -fixed-size arrays with malloc()'d linked lists. There is no longer -any artificial maximum on the number of simultaneous plots, number of -points in those plots, or the number of user-defined functions or -variables. All these are limited only by the memory available to -malloc(). This is a big improvement for memory-starved machines like -PDP-11s or PCs. - -Lines beginning with # (also ! in VMS) are treated as comments. Only -the $ may now be used for a shell escape in VMS, since ! is a comment. - -Several old bugs have been superseded by new ones. diff --git a/docs/old/Makefile.maint b/docs/old/Makefile.maint deleted file mode 100644 index 89e9a0596..000000000 --- a/docs/old/Makefile.maint +++ /dev/null @@ -1,100 +0,0 @@ -# -*-Makefile-*- -# This Makefile fragment is shared between fileutils, sh-utils, textutils. - -maintainer-check: - if head ChangeLog| grep 'Version $(VERSION)' > /dev/null; then \ - :; \ - else \ - echo "$(VERSION) not in ChangeLog; not tagging" 1>&2; \ - exit 1; \ - fi - $(MAKE) distcheck - $(MAKE) my-distcheck - -# Tag before making distribution. Also, don't make a distribution if -# checks fail. Also, make sure the NEWS file is up-to-date. -# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck. -cvs-dist: maintainer-check - pkg=`echo "$(PACKAGE)" | tr a-z A-Z`; \ - ver=`echo "$(VERSION)" | sed 's/\./_/g'`; \ - tag="$$pkg-$$ver"; \ - echo tag=$$tag; \ - if cvs -n log -h README| grep -e $$tag: > /dev/null; then \ - echo "VERSION not new; not tagging" 1>&2; \ - exit 1; \ - fi; \ - cvs update po; \ - cvs tag -c $$tag - $(MAKE) dist - -t=./=test -my-distcheck: - -rm -rf $(t) - mkdir $(t) - GZIP=$(GZIP) $(TAR) -C $(t) -zxf $(distdir).tar.gz - cd $(t)/$(distdir) \ - && ./configure --with-gd=no --with-qt=no --with-tutorial \ - && $(MAKE) CFLAGS='-Wformat -Werror' \ - && $(MAKE) check \ - && $(MAKE) distclean - cd $(t) && mv $(distdir) $(distdir).old \ - && $(TAR) -zxf ../$(distdir).tar.gz - diff -ur $(t)/$(distdir).old $(t)/$(distdir) - -rm -rf $(t) - @echo "========================"; \ - echo "$(distdir).tar.gz is ready for distribution"; \ - echo "========================" - -THIS_VERSION_REGEXP = $(subst .,\.,$(VERSION)) -# FIXME: this works only for Gnits-style test releases. -PREV_VERSION := $(shell echo $(VERSION)|tr a-z Xa-y) -PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g') -v = Version -url-host-prefix = ftp://ftp.ucc.ie/ -url = $(url-host-prefix)/pub/gnuplot/$(distdir).tar.gz -md5 = $(shell md5sum < $(distdir).tar.gz|sed 's/ -//') - -rel-check: - tarz=/tmp/rel-check-tarz-$$$$; \ - md5_tmp=/tmp/rel-check-md5-$$$$; \ - set -e; \ - trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \ - wget -q --output-document=$$tarz $(url); \ - echo "$(md5) -" > $$md5_tmp; \ - md5sum -c $$md5_tmp < $$tarz - -announcement: NEWS ChangeLog $(distdir).tar.gz - @( \ - echo Subject: $(distdir) released; \ - echo; \ - echo FIXME: put comments here; \ - echo; \ - echo " $(url)"; \ - echo; \ - echo "$(md5) $(distdir).tar.gz"; \ - echo; \ - echo NEWS:; \ - sed -n "/$(THIS_VERSION_REGEXP)/,/$(PREV_VERSION_REGEXP)/p" NEWS \ - | grep -v '^\['; \ - echo; \ - echo ChangeLog entries:; \ - sed -n "1,/$v $(PREV_VERSION_REGEXP)/p" \ - ChangeLog; \ - ) - -alpha: - $(MAKE) cvs-dist - $(MAKE) -s announcement > /tmp/announcement - ln $(distdir).tar.gz ../release - chmod a-w $(distdir).tar.gz - @echo ===================================== - @echo 'ncftp -u $(url-host-prefix)/fs/share/ftp/gnu/fetish/' - @echo '# put $(distdir).tar.gz' - @echo '# send the /tmp/announcement e-mail' - @echo 'pot-mail $(distdir).tar.gz | bash' - @echo ===================================== - -amfiles: - for subdir in config demo m4 term tutorial ; do \ - make -C $$subdir -f Makefile.am.in Makefile.am ; \ - done diff --git a/docs/old/PORTING b/docs/old/PORTING deleted file mode 100644 index c6ff5cb86..000000000 --- a/docs/old/PORTING +++ /dev/null @@ -1,217 +0,0 @@ -******************************************************************************* -*** NB: This file is horribly out of date. -*** View everything in it as historical perspective; -*** the broad outline may be useful but the details are not current -******************************************************************************* - - The following information is mainly geared towards people who want -to port gnuplot to new platforms not covered by the installation -instructions in 0INSTALL and INSTALL.gnu. Please do also read the -file CodeStyle. - - We have tried to isolate most operating system dependent definitions -in the file syscfg.h. If you add a new platform, some definitions must -probably be added to syscfg.h as well. - -Preprocessor Defines -******************** - - These #defines should be checked before compilation. There are many -makefiles provided as templates. You probably need these only if porting -to a new machine. The HAVE_XXX defines should be taken care of by configure -if your platform supports GNU autoconf generated configure shell scripts. -If your platform/environment does not support configure, see Codestyle and -syscfg.h. - -THIS LIST IS SOMEWHAT OUT OF DATE NOW - CHECK configure.in and -acconfig.h. - -define file note ------- ---- -------- -HAVE_BCOPY Makefile define if you have bcopy() and no memcpy() -HAVE_LGAMMA Makefile define if you've got lgamma(3) -HAVE_GAMMA Makefile define if you've got gamma(3) -PC Makefile define if compiling on a PClone -MSDOS Makefile define if compiling under MSDOS; - automatically defined by Microsoft C 5.10 -DOS32 Makefile define for a 32-bit DOS extender (djgpp/emx) -WIN32 Makefile define for a 32-bit MS-Windows version -HELPFILE Makefile name including path of gnuplot.gih file. -VERYLARGE plot.h define to be largest coordinate number. -SHELL plot.h default shell to spawn if SHELL environment - variable not found at run-time -NOCWDRC Makefile define to inhibit check of ./.gnuplot -READLINE Makefile define if you want command-line editing -HAVE_LIBREADLINE Makefile define if you are linking with GNU readline - -Header File Availability -======================== - - It is generally assumed that standard ANSI/ISO header files are available. - -Function Availability -===================== - - It is generally assumed that standard ANSI/ISO functions are available. - - If certain standard ANSI/ISO C functions are not available, two alternatives -come to mind: either try to achieve the same functionality without the -missing function, or provide a portable implementation. Examples for this -are in stdfn.c. See also stdfn.h. - - The following defines are used to ensure availability of certain -non-standard functions. - - #define function see file comments -------------------------------------------------------------------- -HAVE_ERF erf() specfun.c -HAVE_GAMMA gamma() specfun.c -HAVE_GETCWD getcwd() stdfn.h -HAVE_GETWD getwd() stdfn.h -HAVE_INDEX index() stdfn.h pre-ANSI version of strchr() -HAVE_LGAMMA lgamma() specfun.c prefered over gamma() -HAVE_ON_EXIT on_exit() term/x11.trm atexit() substitute on SunOS -HAVE_RINDEX rindex() stdfn.h pre-ANSI version of strrchr() -HAVE_SLEEP sleep() command.c -HAVE_SYSINFO sysinfo() gplt_x11.c SysV function to get and set - system information. Used - instead of gethostname(). -HAVE_STRNCASECMP strncasecmp() stdfn.c non-case sensitive string - comparison -HAVE_STRNICMP strnicmp() stdfn.c dto. -HAVE_TCGETATTR tcgetattr() readline.c - -Terminal Selection Options -========================== - - These defines are used to include the drivers for various plotting -terminals, printers, and protocols that a given version of gnuplot can -access and the description of such for the help file. - - -define file note ------- ---- -------- -TERMFLAGS Various makefiles (obsolete under Unix; use configure instead) - the set of terminals you want, from below or - term.h -SHORT_TERMLIST term.h edit term.h to specify desired devices at - the beginning (instead of commenting out, - throughout the file, devices not desired.) - -ALL_TERM_DOC docs/termdoc.c on-line help documentation for all devices - rather than only for the drivers selected - in term.h. - - - The following, non-authoritative, list serves as a guide to the range -of devices that may be selected/deselected by editing term.h. - - AED AED 512 and AED 767 - AIFM Adobe Illustrator Format - ATT6300 PC with AT&T 6300 graphics - BITGRAPH BBN BitGraph - COREL COREL! Draw Format - CORONA PC with Corona graphics 325 - DEBUG Voluminous output for debugging to terminal - DJSVGA MSDOS SVGA with DJGPP compiler - DXY800A Roland DXY800A plotter - DUMB Printer or glass dumb terminal - DXF AutoCad (Release 10.x) dxf file format - EEPIC EEPIC-extended LaTeX driver, for EEPIC users - EGALIB PC with EGA/VGA graphics. - EMTEX LaTeX picture environment with emTeX specials - EMXVGA PC with VGA running DOS or OS/2 - EPS180 Epson-LQ style 24-pin 180-dot per inch printers - EPS60 Epson-style 60-dot per inch printers - EPSONP Epson LX-800, Star NL-10, NX-1000 and lots of others - EXCL Talaris EXCL laser printer format - FIG Fig graphics language (requires object.h from TransFig) - GIF Gif output, requires special library - GPIC Gpic for groff - HERCULES IBM PC/Clone with Hercules graphics board - HP2648 HP2648, HP2647 - HP26 HP2623A and maybe others - HP500C HP Deskjet 500 C and maybe other Color Deskjets - HP75 HP7580, and probably other HPs - HPGL HP7475 and (hopefully) lots of others - HPLJII HP Laserjet II - HPPJ HP PaintJet - IMAGEN Imagen laser printers (300dpi) (requires -Iterm also) - KERMIT MS-DOS Kermit Tektronix 4010 emulator - LATEX LaTeX picture environment - LINUXVGA Linux PC with (s)vgalib - MF Metafont Format - MIF FrameMaker MIF 3.00 Format - NEC NEC CP6 pinwriter printer - OS2PM OS/2 Presentation Manager - PBM PBMPLUS pbm, pgm, ppm formats - PCL HP PCL5 (actually HPGL/2) - PNG Portable Network Graphics, requires separate library - POSTSCRIPT PostScript - PSLATEX Postscript graphics, LaTeX labels and titles - PSTRICKS PSTRICKS 0.91 format - QMS QMS/QUIC laserprinter (Talaris 1200 and others) - REGIS ReGis graphics (vt125, vt220, vt240, Gigis...) - SELANAR Selanar - T410X Tektronix 4106, 4107, 4109 and 420x terminals - TABLE Text output - TANDY60 Tandy DMP-130 series 60-dot per inch graphics - TEK Tektronix 4010, and probably others - TEXDRAW TeXDraw format (for LaTeX) - TGIF TGIF X11 Drawing Tool - TPIC Tpic specials for TeX - UNIXPC unixpc (ATT 3b1 or ATT 7300) - V384 Vectrix 384 and tandy color printer - VTTEK VT like Tektronix 4010 emulator - VWS VAX Windowing System (UIS libraries) - X11 X11R4 window system - - -Platform Related Defines -======================== - - These #defines are defined automatically by various compilers or -makefiles, some gnuplot routines check these defines to implement -features found in the various environments. This list is certainly -incomplete. - -define note ------- -------- -_CRAY defined by CRAY's C compiler. -__DECC defined by DEC C compiler under VMS (?) -__TURBOC__ defined automatically by Borland C++ 3.x. -unix defined by most unix C compilers. -vms (and VMS) defined by VMS C compilers. -__ZTC__ Zortech C compiler under MSDOS. -_Windows defined by Borland C++ 3.0 compiling for MS-Windows. -__WATCOMC__ defined automatically by Watcom C -__EMX__ defined by EMX gcc (available on DOS & OS/2). -OS2 to be defined by compilers under OS/2. - -Defines Used in Gnuplot -======================= - - The following defines are used to achieve better portability. Most of -them are wrappers. - - #define wraps/redefines see file comments ------------------------------------------------------------------- -GP_GETCWD getwd()/getcwd() alikes stdfn.h -GP_FARMALLOC faralloc()/malloc() alloc.c Windows environment -GP_FARREALLOC farrealloc()/realloc() alloc.c Windows environment -GP_SLEEP sleep() command.c -GP_SYSTEMINFO sysinfo()/gethostname() gplt_x11.c -GPFAR `far' compiler directive plot.h MSDOS and Win16 -GPHUGE `huge' compiler directive plot.h MSDOS and Win16 -GP_INLINE `__inline' directive plot.h -GPMAX max (a,b) plot.h -GPMIN min (a,b) plot.h - - The following symbols are defined when using DEBUG: - -DEBUG_WHERE prints filename and line number to stderr *without* linefeed -FPRINTF(a) uses DEBUG_WHERE, passes a to fprintf - - Usage example: FPRINTF((stderr, "function foo returned %d\n", bar)); - Result: readline.c:620 function foo returned -1 - diff --git a/docs/old/README.3d b/docs/old/README.3d deleted file mode 100644 index 5be412bc5..000000000 --- a/docs/old/README.3d +++ /dev/null @@ -1,106 +0,0 @@ - - A tutorial on explicit/parametric - and - everything you did not dare to ask - about - curves and surfaces - in - gnuplot - -Several types of curves and surface are supported in gnuplot. Of those -not every operation is supported for every curve or surface type and it -can be therefore useful to understand the different types, their advantages -and limitations. - -Curves in gnuplot are almost always planar (with one exception which we -will deal with in the end) and are assumed to be in the XY plane. -Therefore only X and Y coordinates are needed for plotting curves. -The simplest curve is the `explicit function`. This curve is in fact a -function and for each given x, there is one and only one y value associated -with it. A gnuplot example for such type is `plot sin(x)` or -`plot "datafile" using 1". Note the later is using only a single column from -the data file which is assumed to be the y values. - -Alternatively one can define a `parametric curve` form. In this case -x and y are both functions of a third free parameter t, while independent -of each other. A circle can be expressed parametrically as x = cos(t), -y = sin(t) and be plotted using gnuplot as -'set parametric; plot cos(t),sin(t)'. -This form is not a function since there can be unlimited number of y values -associated with same x. Furthermore the explicit form is a special case of -the parametric representation by letting x equal to t. The curve y = sin(x) -can be written in parametric form as y = sin(t), x = t. - -We are used to think of the plane in cartesian coordinate system. -In practice, some coordinate systems may be easier to use then others -under some circumstances. The polar form uses a different basis -to span the XY plane. In this representation the cartesian x coordinate -is equal to r cos(t) and the cartesian y coordinate is equal to r sin(t). -To draw a unit circle using the polar coordinate system in gnuplot use the -following simple command: 'set polar; plot 1'. To better understand this -explicit form lets backup a little. -When we plot a regular explicit function like `y = sin(x)` we march in equal -steps in x, evaluate the provided function and plot a piecewise linear curve -between the sampled points approximating the real function. In the polar -explicit form we do exactly the same thing, but we march along the angular -direction - we turn around the origin, computing the length of the radius -at that angle. Since for the unit circle, this radius is a constant 1, -`plot 1` in polar form plots a circle (if t domain is from 0 or 2Pi). -Note the polar form is explicit in that for each angle there is only a -single radius. - -Surprisingly (or maybe not so surprising) surfaces share the same -representations. Since surfaces are two dimensional entities, they -require two free parameters (like t for curves). - -A surface explicit function uses x and y as the free parameters. For -each such pair it provides a single z value. An example for this form -can be `splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)` for a three dimensional -sinc function or `splot 'datafile' using 1`. As for curves, the single column -used from the data file defines the function value or z in this case. -The order of the x and y function values is very strict in this form and -simply defines a rectangular grid in the XY plane. Fortunately this -strict form allows us to apply a very simplistic hidden line algorithm -called "the floating horizon". This hidden line algorithm exploits the -rectangular XY domain of the surface and therefore may be used for this -type of surfaces only. Since in gnuplot this is the only form of hidden -lines removing algorithm provided, only explicit surfaces may have their -hidden lines removed. - -Parametric surfaces are the exact extension for explicit surfaces as in -the curves case. the x, y, and z are defined in terms of two new free -variables and are totally independent of each other as x(u, v), y(u, v), -and z(u, v). Again the explicit surface is a special case of the parametric -representation where x = u, and y = v. Examples for plotting parametric -surfaces in gnuplot can be `splot cos(u)*cos(v),cos(u)*sin(v),sin(u)` which -defines a sphere, or `splot "datafile" using 1:2:3`. Since these are -parametric surfaces, gnuplot must be informed to handle them by issuing -`set parametric`. - -The curve polar form takes the obvious extensions in the surface world. -The first possible extension is spherical coordinate system, while the -second is the cylindrical one. These modes currently work for data files -only and both requires two parameters, theta and phi for mapping onto the -unit sphere, and theta and z form mapping on a unit radius cylinder as follow: - - Spherical coord. Cylin. coord. - ---------------- ------------- - x = cos( theta ) * cos( phi ) x = cos( theta ) - y = sin( theta ) * cos( phi ) y = sin( theta ) - z = sin( phi ) z = z - -This subject brings us back to non planar curves. When surfaces are displayed -under gnuplot, isocurves are actually getting plotted. An isocurve is a -curve on the surface in which one of the two free parameters of the -surface is fixed. For example the u isolines of a surface are drawn by -setting u to be fixed and varying v along the entire v domain. The v isolines -are similarly drawn by fixing v. When data files are specified they are -classified internally into two types. A surface is tagged to have grid -topology if all its specified isolines are of the same length. A data mesh -of five isolines, seven points each is an example. In such a case the -surface cross isolines are drawn as well. Seven isolines with five points -each will be automatically created and drawn for grid type data. If -however, isolines of different length are found in the data, it is -tagged as nongrid surface and in fact is nothing more than a collection -of three dimensional curves. Only the provided data is plotted in that -case (see world.dem for such an example). diff --git a/docs/old/README.3p1 b/docs/old/README.3p1 deleted file mode 100644 index a67506fd8..000000000 --- a/docs/old/README.3p1 +++ /dev/null @@ -1,44 +0,0 @@ -This package provides the upgrade of gnuplot 3.0 to patch level 1. -Below are the contributers to this upgrade and the modifications made. - -Thank you all - -Gershon - ----------------------------------------------------------------------------- - -* Subject: Y log / postscript eps fix - Name: Russell Lang - Email: rjl@monu1.cc.monash.edu.au - -* Subject: HP26 driver to lift text. - Name: Bruce Lueckenhoff - Email: luechen@cis.udel.edu - -* Subject: CRAY prt, UIUC coordinates. - Name: Daniel Lewart - Email: d-lewart@uiuc.edu - -* Subject: AI device - Name: Ray Ghanbari - Email: ray@mtl.mit.edu - -* Subject: HP_MOTIF on a Snake, X11 for Next - Name: Alex Woo - Email: woo@ra-next.arc.nasa.gov - -* Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix. - Name: Ray Toy??? - Email: toy@soho.crd.ge.com - -* Subject: Fix the "splot 'file.dat'" with only z values. - Name: Gershon Elber - Email: gershon@gr.utah.edu - -* Subject: Underscore prefixed names. - Name: Tom Tkacik - Email: tkacik@hobbes.cs.gmr.com - -* Subject: Amiga port - Name: Carsten Steger - Email: stegerc@informatik.tu-muenchen.de diff --git a/docs/old/README.3p2 b/docs/old/README.3p2 deleted file mode 100644 index 5327a8f8c..000000000 --- a/docs/old/README.3p2 +++ /dev/null @@ -1,105 +0,0 @@ -This is the official release of GNUPLOT.3.2. It is available in either -a patch or tar archive. Sites for the retrieval are listed in the -README. Below are the modifications and contributors to this release. -The patch file 3_1to3_2.patch needs to be applied with the p1 flag - ->cd gnuplot ->patch -p1 < 3_1to3_2.patch - -Thanks --- Alex Woo - -* Subject: New generic gnuplot_x11.c - Name: Ed Kubaitis - Email: ejk@ux2.ncsa.uiuc.edu - -* Subject: Hidden Line Removal for Explicit Surfaces and IRIX 4.0 fixes. - Name: Gershon Elber - Email: gershon@gr.utah.edu - -* Subject: Table Terminal Driver. - Name: Kevin Russo - Email: russo@rudedog.nrl.navy.mil - -* Subject: PCL5 driver fixes (HPGL page eject),datafile pipe and README. - Name: Alex Woo - Email: woo@ames.arc.nasa.gov - -* Subject: Pbmplus driver and fix to y log tics. - Name: Russell Lang - Email: rjl@monu1.cc.monash.edu.au - -* Subject: NeXT Console Driver. - Name: Nick Strobel - Email: strobel@phast.phys.washington.edu - -* Subject: Fix GNUTERM environment with disk resident BGI drivers - Name: Craig Johnston - Email: johnston@maxwell.ee.washington.edu - -* Subject: Fix tables for troff in doc2ms - Name: Michael Schuh - Email: schuh@ames.arc.nasa.gov - -* Subject: Fix dump when GNUPLOT$HELP undefined - Name: Wolfgang J. Moeller - Email: moeller@gwdgv1.dnet.gwdg.de - -* Subject: Fix AMIGA segment limits - Name: Carsten Steger - Email: stegerc@informatik.tu-muenchen.de - -* Subject: Put FAR pointers in bitmap.c and bitmap.h - Name: Russell Lang - Email: rjl@monu1.cc.monash.edu.au - -* Subject: Bug fix to latex.trm - Name: Rob Cunningham - Email: rkc@xn.ll.mit.edu ----------------------------------------------------------------------------- - - GNUPLOT 3.1 Patch - -This package provides the upgrade of gnuplot 3.0 to patch level 1. -Below are the contributers to this upgrade and the modifications made. - -Thank you all - -Gershon - ----------------------------------------------------------------------------- - -* Subject: Y log / postscript eps fix - Name: Russell Lang - Email: rjl@monu1.cc.monash.edu.au - -* Subject: HP26 driver to lift text. - Name: Bruce Lueckenhoff - Email: luechen@cis.udel.edu - -* Subject: CRAY prt, UIUC coordinates. - Name: Daniel S. Lewart - Email: d-lewart@uiuc.edu - -* Subject: AI device - Name: Ray Ghanbari - Email: ray@mtl.mit.edu - -* Subject: HP_MOTIF on a Snake, X11 for Next - Name: Alex Woo - Email: woo@ra-next.arc.nasa.gov - -* Subject: Mod. to LaTeX for multiple curves/plots, complex atan function fix. - Name: Ray Toy??? - Email: toy@soho.crd.ge.com - -* Subject: Fix the "splot 'file.dat'" with only z values. - Name: Gershon Elber - Email: gershon@gr.utah.edu - -* Subject: Underscore prefixed names. - Name: Tom Tkacik - Email: tkacik@hobbes.cs.gmr.com - -* Subject: Amiga port - Name: Carsten Steger - Email: stegerc@informatik.tu-muenchen.de diff --git a/docs/old/README.3p3 b/docs/old/README.3p3 deleted file mode 100644 index 1ae6e37f6..000000000 --- a/docs/old/README.3p3 +++ /dev/null @@ -1,5 +0,0 @@ -Version 3.3 was never officially released. It has been renamed -to version 3.4 to avoid confusion with the numerous BETA versions -which have made it into general circulation. See README.3p4 -for more information. - diff --git a/docs/old/README.3p4 b/docs/old/README.3p4 deleted file mode 100644 index 0bbbe1d0a..000000000 --- a/docs/old/README.3p4 +++ /dev/null @@ -1,160 +0,0 @@ -This version of gnuplot represents the work of many people. For a more -complete list read the RCS log on the top of makefile.unx. This version -originally was centered on Jos Van Woude's probability functions, -Don Tabor's discrete contour levels and Rob Cunningham's binary file -IO capability. It has grown tremendously. Russell Lang and Maurice -Castro added MS-Windows capability and much more. Roger Fearick -added OS/2 capabilility. Alexander Lehmann and Hans-Edgar Koechling -greatly improved Atari support. (There are also an OS-9 and PC-9801 versions -of 3.2 and a Mac version of 3.0 and a multiple plot on a page mod -which were not integrated into this release.) Eric Youngdale replaced the -explicit function hidden line removal routines with a more general -implicit bitmap (which requires more memory). Gershon Elber fixed -many 3D bugs and added the "dgrid3d" option which takes allows -scattered data to be contoured. Ed Kubaitis reworked the X11 support. -In addition, many more devices are now provided. We have -always added device drivers because we have no way to debug most of -them and only by including them into the package we obtain feedback. - -In addition, we have begun a contrib subdirectory which contains -external library, programs, and mods which help in the use of -Gnuplot. Many of the diffs are now out of date and will take -some work to implement. - -These contributions are not in any particular order. - -* Subject: Special Functions for Probability Densities - Name: Jos van der Woude - Email: jvdwoude@hut.nl - -* Subject: Discrete Contour Levels - Name: Don Taber - Email: news@solitary.stanford.edu,dbt@victoria.risc.rockwell.com - -* Subject: LN03p (Graphic Enhance Mode) Driver and REGIS fixes - Name: Hung-chi Lihn - Email: lihn@ssrl01.slac.stanford.edu - -* Subject: LESS-like additions to READLINE capability - Name: Michal Tomczak, Tom Tkacik - Email: ntomczak@vm.ucs.ualberta.ca,tkacik@hobbes.cs.gmr.com - -* Subject: doc2texinfo : Converts Gnuplot .doc files to Texinfo format. - Name: George Ferguson - Email: ferguson@cs.rochester.edu - -* Subject: Atari ST (gcc 1.40) version and PureC version - Name: Alexander Lehmann, Hans-Edgar Koechling - Email: alexlehm@iti.informatik.th-darmstadt.de, - koechling@nvdv.e-technik.uni-stuttgart.dpe.de - -* Subject: ISO 8869/1 character sets - Name: Marius Olafsson - Email: marius@rhi.hi.is - -* Subject: HP PaintJet Driver - Name: Dan Merget - Email: danm@hpnmdlc0.sr.hp.com - -* Subject: Improvements to HP PCL driver - Name: Timothy Collins, Tom Swiler, Alex Woo - Email: kaph6@solx1.central.susx.ac.uk,tom@silica.mse.ufl.edu - -* Subject: plot "file" thru f(x) for transforming datafiles - Name: Jack Veenstra - Email: veenstra@cs.rochester.edu - -* Subject: improvement to HPGL driver - Name: Craig Johnston - Email: johnston@maxwell.ee.washington.edu - -* Subject: X11 mods - Name: Ed Kubaitis, Yehavi Bourvine - Email: ejk@ux2.ncsa.uiuc.edu, YEHAVI@vms.huji.ac.il - -* Subject: Binary File IO - Name: Rob Cunningham, Jos van der Woude - Email: rkc@xn.ll.mit.edu,jvdwoude@hut.nl - -* Subject: Improved Hidden Line Removal & LITE flag - Name: Eric Youngdale - Email: eric@tantalus.nrl.navy.mil - -* Subject: xlib driver & test programs in contrib - Name: Gregg Hanna - Email: gregor@kafka.saic.com - -* Subject: MS-Windows, boxes and boxerror styles, plot using accepts - columns in any order, plus many, many improvements - Name: Russell Lang, Maurice Castro - Email: rjl@monu1.cc.monash.edu.au, maurice@bruce.cs.monash.edu.au - -* Subject: OS/2 version - Name: Roger Fearick - Email: fearick@physci.uct.ac.za - -* Subject: scatter to grid mods "set dgrid3d", plus fixes - Name: Gershon Elber scatter to grid mods - Email: gershon@cs.utah.edu - -* Subject: Notitle option to remove entry in key - Name: R. Shouman - Email: rshouman@hermes.chpc.utexas.edu - -* Subject: Misc. Bug Fixes, new get_data, many improvements - Name: Daniel S. Lewart - Email: d-lewart@uiuc.edu - - -* Subject: H Olav Eggestad RGIP Uniplex driver (POSIX) and Imagen driver - Name: Hans Olav Eggestad - Email: olav@jordforsk.nlh.no - -* Subject: New plotstyle "steps" for discrete functions - Name: John Grosh - Email: jgrosh@brl.mil - - -* Subject: CorelDraw! driver (subset of EPS) - Name: Chris Parks - Email: parks@physics.purdue.edu - -* Subject: PSTRICKS driver (for TeX) - Name: Ray Toy - Email: toy@soho.crd.ge.com - -* Subject: Framemaker MIF 3.0 driver - Name: Olof Franksson - Email: olof@ikaros.fysik4.kth.se - -* Subject: Apollo mods - Name: Jim Richardson - Email: jimr@maths.su.oz.au - -* Subject: TGIF driver - Name: Neal Holtz - Email: nholtz@civeng.carleton.ca - -* Subject: TPIC specials driver (TeX) - Name: Honoo Suzuki - Email: honoo@nc.titech.ac.jp - -* Subject: Log to any base capability - Name: Lawrence Crowl - Email: crowl@cs.orst.edu - -* Subject: Talaris EXCL driver - Name: P. Klosowski - Email: przemek@rrdstrad.nist.gov - -* Subject: New LaTeX Driver - Name: Xiaoguang Zhang - Email: zhang@whbws.ms.ornl.gov - -* Subject: TeXdraw driver (eepic derivative) - Name: Khun Yee Fung - Email: clipper@csd.uwo.ca - -* Subject: debug and hp2623a driver, fixes - Name: Bruce Lueckenoff - Email: luecken@udel.edu diff --git a/docs/old/README.3p5 b/docs/old/README.3p5 deleted file mode 100644 index 2df5ff8f9..000000000 --- a/docs/old/README.3p5 +++ /dev/null @@ -1,112 +0,0 @@ -This is a bugfix to version 3.4. - -# Revision 1.1 1993/09/27 17:07:30 alex -# gnuplot 3.5 release -# -# Revision 3.50.1.17 1993/08/27 05:21:33 woo -# V. Khera's fig patch -# -# Revision 3.50.1.16 1993/08/27 05:04:42 woo -# Added <errno.h> to help.c and added support routines to binary.c -# -# Revision 3.50.1.15 1993/08/21 15:23:42 woo -# Rewrote print_3dtable -# -# Revision 3.50.1.14 1993/08/19 04:10:23 woo -# V. Broman sun_mgr driver -# -# Revision 3.50.1.13 1993/08/19 03:21:26 woo -# R. Lang fix to MS-Windows print driver -# -# Revision 3.50.1.11 1993/08/10 03:55:03 woo -# R. Lang mod to change location of plot in hppj.trm -# -# Revision 3.50.1.10 1993/08/07 16:06:34 woo -# Fix using n bug, configure 1.3 -# -# Revision 3.50.1.9 1993/08/05 05:38:59 woo -# Fix timedate location for splot and plot + CONFIGURE ROUTINE -# -# Revision 3.50.1.8 1993/07/27 05:37:15 woo -# More mods for SOLARIS 2.2 using gcc -# -# Revision 3.50.1.7 1993/07/27 04:57:58 woo -# Fix impulse plot style if logscale y -# -# Revision 3.50.1.6 1993/07/27 03:35:12 woo -# Fix epsviewe.m -# -# Revision 3.50.1.4 1993/07/26 06:17:24 woo -# Solaris mods to sun_x11 and gplt_x11.c -# -# Revision 3.50.1.3 1993/07/26 05:38:19 woo -# DEC ALPHA OSF1 mods -# -# Revision 3.50.1.2 1993/07/26 05:12:42 woo -# fix of replot of replot bug -# -# Revision 3.50.1.1 1993/07/26 04:59:54 woo -# fix of splot notitle bug -# -# Revision 3.50 1993/07/09 05:35:24 woo -# Baseline version 3.5 version -# -# Revision 3.38.2.153 1993/07/08 03:43:32 woo -# Added dgrid3d save to misc.c and updated titlepages -# -# Revision 3.38.2.153 1993/07/08 03:43:32 woo -# Added dgrid3d save to misc.c and updated titlepages -# -# Revision 3.38.2.152 1993/07/06 15:03:56 woo -# A. Lehmann cleanup of 3_5b1 -# -# Revision 3.38.2.151 1993/07/06 14:33:51 woo -# New 0FAQ and AXPVMS fix to gplt_x11.c -# -# Revision 3.38.2.150 1993/07/02 16:42:43 woo -# A. Reeh fix for monochrome X11 under VMS -# -# Revision 3.38.2.149 1993/07/01 20:31:55 woo -# New version of GRASS makefile -# -# Revision 3.38.2.148 1993/07/01 13:54:25 woo -# T. Collins changes to Latex line types -# -# Revision 3.38.2.147 1993/07/01 13:41:44 woo -# A. Lehmann fix for hpux internal.c -# -# Revision 3.38.2.146 1993/06/30 21:24:08 woo -# Fix to flash graphics, rosenbrock function in contours.dem -# -# Revision 3.38.2.145 1993/06/30 20:16:22 woo -# Yehavi fixes for AXPVMS -# -# Revision 3.38.2.144 1993/06/23 00:34:39 woo -# Reordered latex line types -- lighter default line -# -# Revision 3.38.2.143 1993/06/23 00:10:28 woo -# R. Shouman fix of blank title induced linetype bug -# -# Revision 3.38.2.142 1993/06/21 14:43:21 woo -# P. Egghart check on PLOSS for matherr and pass MY_FLAGS to subdirectories -# -# Revision 3.38.2.141 1993/06/19 13:00:21 woo -# Okidata driver and time_t for sun386 mod -# -# Revision 3.38.2.140 1993/06/19 12:29:34 woo -# J. Abbey fixes for Alliant -# -# Revision 3.38.2.139 1993/06/19 01:03:49 woo -# Fix for 3d clipping bug -# -# Revision 3.38.2.138 1993/06/16 00:38:14 woo -# O. Franksson MIF mod for vertical text and better char size -# -# Revision 3.38.2.137 1993/06/15 23:57:02 woo -# Linux fixes -# -# Revision 3.38.2.136 1993/06/15 23:33:29 woo -# V. Khera non-interactive stderr fix -# -# Revision 3.38.2.135 1993/06/15 22:02:26 woo -# splot fix for x & y tics and labels diff --git a/docs/old/README.emx b/docs/old/README.emx deleted file mode 100644 index 9aa61ad75..000000000 --- a/docs/old/README.emx +++ /dev/null @@ -1,20 +0,0 @@ -EMXVGA is another terminal type for OS/2, which runs on the PM of OS/2 -as well as in full screen mode on DOS running on 386 or better PC. -The driver is compiled using EMX GCC with VESA and SVGAKIT which supports -VESA, Trident, Cirrus, ET4000, WD and S3, and is maintained by -Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE), with additions of -putting string at an arbitrary angle by David J. Liu (liu@phri.nyu.edu). - -" -The file gstring.c contains the display string function for SVGAKIT of emx GCC. -The function, g_string (x,y,color,angle,*string), displays the string at (x,y) -which is the upper left corner of the string, in color at an arbitrary angle. -To install, copy gstring.c to SVGAKIT directory and update the files graph.h -and makefile with references to g_string(...), gstring.c and gstring.o. -" - -To install, add -lgraph -lvesa as linker parameters and enable EMXVGA -in term.h - - -To use with DOS, it is necessary to do emxbind -a gnuplot.exe -acim. diff --git a/docs/old/README.fit b/docs/old/README.fit deleted file mode 100644 index c152dbb4d..000000000 --- a/docs/old/README.fit +++ /dev/null @@ -1,122 +0,0 @@ -Welcome to GNUFIT - an extension to GNUPLOT -=========================================== - -Version 1.2 - -gnuplot has been widely established as a powerful tool to do data and -function plots. For the scientific use one additionally often needs -a nonlinear least squares fitting procedure to combine a model function -to measured data. This is introduced by GNUFIT. GNUFIT is a real extension -of GNUPLOT that means, it covers all features of GNUPLOT and adds some new -ones. - -GNUFIT incorporates a nonlinear least squares fit mechanism into GNUPLOT. The -fit uses the Marquardt-Levenberg-algorithm for fitting and the GNUPLOT -function evaluation mechanism for calculation. Thus it remains relatively -small. It offers all advantages of fitting every rather complex-formulated -function you can create with GNUPLOT (including complex calculation). - - -GNUFIT is available as follows: - - gnufit12.tar.gz All new sources and diff's against gnuplot3.4 and - gnuplot3.5, readmes, demos and installation hints - needed to compile and run GNUFIT on your machine, - provided that you already have the original - gnuplot sources. - - gft12dos.zip DOS executables - - -A description of the files in gnufit12.tar.gz -================================================= - -readme.1st This file - Overview -compile.fit Some hints for the compilation on various platforms -install UNIX shellscript to do the patches -install.bat DOS Batchfile for the same purpose -credits A list of people who helped me making GNUFIT stable - -fit.c the main fitting routines -fit.h Interface to fit.c -matrix.c some matrix algebra needed in fit.c -matrix.h interface to matrix.c -type.h commonly used types -linux.trm terminal driver for LINUX - -patches.35 Context diff's of the GNUFIT sources against the GNUPLOT3.5 - sources. They have been done using - diff -cr oldfile newfile >> patches.35 - and may be applied to the gnuplot sources by the patch program. - This is done also by the install-script. -patches.34 Same story based on gnuplot3.4 for the case of incompatibilities - - - -Installation procedure: -======================= - - -1) Start from the directory */diff which has been generated by untaring - this package. - -2) Create a directory (e.g. called 'gnufit') and place a copy of the gnuplot3.2 - sources (including the subdirs) in it. Make sure that it is writable. - gnuplot sources may be obtained from ftp.dartmouth.edu in - /pub/gnuplot - -3) If you're not working under DOS or UNIX, create an appropriate - scriptfile like has been done in 'install' (UNIX) or 'install.bat' (DOS). - The only commandline-parameter of the scriptfile is the directory you - just created (gnufit). - -4) Execute the scriptfile. This will copy the necessary sources to 'gnufit' - and do the needed patches to the gnuplot sources. Finally it changes - the actual working directory. - - e.g. install ~/gnufit - -5) Look at the file 'compile.fit' for compilation hints on your system. - That may require small changes to the appropriate makefile, e.g. for - compiler selection and compiler switches. - -6) Check the compilation hints for gnuplot in 'readme.ins' and execute them. - -GNUFIT has been successfully tested and compiled on the following -operating systems: - - DOS (MSC 6.0), OS/2, SunOS, HPUX, IBM/RS6000, DEC Ultrix, DG/UX, LINUX - Amiga - -Only the compilers mentioned in 'compile.fit' have been used. -For compatibility purposes with other scripts written for GNUPLOT, the -executables' filenames are still left 'gnuplot', 'gnuplot.exe' etc. -The starting message however distinguishes between GNUPLOT and GNUFIT. -To get a successful compilation on other systems there may be minor patches -to the sources necessary. If you succeed in adding a new platform, please -generate diff's of the modified sources and send them to me. They may be -included into a further release of GNUFIT. - - - -What is planned? -================ - -This will probably be the last release of GNUFIT. Not because I think it's -rubbish but because it will be included as an internal part into the next -official release of gnuplot. Development is under way! - -Please send any comments, bug-reports, implementation reports and -improvement proposals to gnuplot-bugs@lists.sourceforge.net - -*************************************************************************** - -Carsten Grammes -Saarbruecker Str. 47 -D-66292 Riegelsberg -Germany - -Internet Mail-Address: cagr@rz.uni-sb.de -Telephone 49 6897 935 0 -Telefax 49 6897 935 100 - diff --git a/docs/old/README.gnu b/docs/old/README.gnu deleted file mode 100644 index b64213663..000000000 --- a/docs/old/README.gnu +++ /dev/null @@ -1,25 +0,0 @@ -A note to former Gnutex users, from David Kotz (David.Kotz@Dartmouth.edu). --------------------------------------------------------------------------- - -May 30, 1991 - -GNUTeX was merged with GNUPLOT beginning with GNUPLOT 2.0. Many -aspects of gnutex 1.6 made it into GNUPLOT 2.0. Unfortunately for -those of us who have a lot of gnutex input files around, not -everything from gnutex is supported by GNUPLOT. To help gnutex users -with the process of adapting to GNUPLOT (and I recommend it), I have -included a section in the LaTeX/GNUPLOT tutorial (in ./docs/latextut/) -about the differences, and written a translator program. Please read -the LaTeX/GNUPLOT tutorial. - -The translator was available as part of the GNUPLOT 2.0 release, but -has been removed from the standard distribution of GNUPLOT. The -translator is now available for anonymous ftp from cs.duke.edu as -dist/sources/gnuplot/gnut2p.tar.Z. It has not changed since GNUPLOT -2.01 (ie, GNUPLOT 2.0 patchlevel 1). - -Users of gnutex that did not use the LaTeX driver will probably have -little difficulty adapting. - -Please send all comments, complaints, and suggestions on this subject -to David.Kotz@Dartmouth.edu. diff --git a/docs/old/README.internals b/docs/old/README.internals deleted file mode 100644 index e233b2556..000000000 --- a/docs/old/README.internals +++ /dev/null @@ -1,581 +0,0 @@ -******************************************************************************* -******************************************************************************* - -This file documents briefly some parts of the gnuplot internals. - -TABLE OF CONTENTS: - - * TECHNICAL DETAILS ABOUT PM3D - * PLOT WITH IMAGE - * COMMENTS ABOUT BINARY DATA FILE SYNTAX - -******************************************************************************* -******************************************************************************* - - -TECHNICAL DETAILS ABOUT PM3D -============================ - -The pm3d splot mode for gray and colour maps and surface (and much later for -much more: splots with color lines, plots with filled curves) has been -implemented by Petr Mikulik in December 1998 and January 1999. It was released -for public on 14. 3. 1999 as a patch for gnuplot 3.7. Below you can find the -original notes about the implementation, slightly modified in February 2002. - - -The pm3d algorithm: History and description -------------------------------------------- - -The gnuplot pm3d splot mode is a successor to my pm3d algorithm coded -previously in my Turbo Vision Pascal plotting program "pmgraf" for DOS (April -1994) and the C++ command line "pm3d" program which is converting the input -data into postscript maps (March 1995). Both programs are available on my -homepage. - -The pm3d algorithm (in pmgraf, pm3d and now in gnuplot) draws a gray or colour -map (or surface, in gnuplot only) of a 3D data, which are supposed to be a -sequence of scans. Scan is the same what is called 'iso_curve' in gnuplot. - -For the given surface, the algorithm takes one scan after the other scan until -the last but one. For a scan number K it looks at the subsequent scan K+1. For -each (but the last one) point on scan K, it makes a quadrangle with 4 corners: -two subsequent points at scan K and two points at scan K+1. (The quadrangle is -a rectangle if the data are matrix-like.) The quadrangle is filled by the -colour corresponding to the averaged Z coordinate of its 4 corners. - -Therefore it can plot matricial as well as non-rectangular non-gridded data -without any preprocessing, and on single pass through the data. It does not -require that the scans have the same number of points (see the details on -flushing below or 'set pm3d flush'). - - -pm3d implementation in gnuplot ------------------------------- - -Below, you find the basic description of gnuplot implementation of pm3d, colour -palette and filled colour polygons. - -The pm3d implementation in gnuplot is is based on the following terminal -entries (see below for more details): - term->make_palette - term->previous_palette - term->set_color - term->filled_polygon - -The topmost implementation of colour filled areas in plot3d.c: - -(*) pm3d mode is set on if (pm3d.where[0]). Its setting, or using 'with ... -palette', requests the palette of continuous (smooth) colours for the given -terminal according to 'set palette' setup. The palette is created by a call to -make_palette(). The routine make_palette() is coded in pm3d.c. It will be -commented below. - -(*) pm3d plot for a given surface is called from graph3d.c, just before the -stuff for hidden line removal, i.e. before plotting surfaces and contours. For -each surface, it calls - pm3d_plot( this_plot, pm3d.where[i] ); - -(*) The colour box showing the sequence of continuous colours is drawn in routine -draw_color_smooth_box(). Postscript output uses the box implementation directly -in the postscript language, see below. - -(*) Routine term->previous_palette() is called after the plot. Currently, it is -needed only for printing the string "grestore" into a postscript file. - - ------ Implementation of pm3d_plot( this_plot, at_which_z ) in pm3d.c ----- - -(*) This plots the map (for at_which_z=PM3D_AT_BASE or PM3D_AT_TOP) or surface -(for at_which_z=PM3D_AT_SURFACE) for the given surface (variable this_plot). - -(*) The implementation of the pm3d algorithm is schematically: - -for scan J=1 to scans-1 { /* for each scan in the surface */ - for pt=1 to min( points(J), points(J+1) ) { /* go over min nb of points */ - pt' = ...; pt'' = ... /* see below */ - ptJa = point(J,pt') - ptJb = point(J,pt'+1) - ptJ+1a = point(J+1,pt'') - ptJ+1b = point(J+1,pt'') - averagedZ = ( z(ptJa) + z(ptJb) + z(ptJ+1a) + z(ptJ+1b) ) / 4 - set_color( averagedZ normalized to [0;1] ) - fill_polygon( 4 corners, - those 4 points transformed into coordinates of - the map or surface on the terminal ) - } - } - -If the two subsequent scans have the same number of points, then pt''=pt'=pt. -Otherwise, pt''=pt'=pt if 'scans flushed begin', pt'=points(J)-pt and -pt''=points(J+1)-pt if 'scans flushed end', and similarly for 'scans center'. -And nothing is drawn if there is only one point in the scan. - - ------ Implementation of make_palette() in pm3d.c ----- - -(*) Look into color.h, structure t_sm_palette: declaration of smooth palette, -i.e. palette for smooth colours. It documents how gray [0,1] is mapped into -(R,G,B) = ([0,1], [0,1], [0,1]). - -(*) Ask for the number of colours that are (still) available on the current -terminal: - i = term->make_palette(NULL); - -Postscript terminal returns 0 since it supports all RGB values (no limit on -discrete number of colours). It has its own mapping: transformation of gray -[0,1] is coded as postscript functions, and also in order to make the output -size of the postscript file as small as possible, i.e. the same as the output -from the pm3d program. Further, not 3 values of the RGB triplet but only 1 gray -value is written into the postscript file. This is achieved by the analytical -functions: pm3dGetColorValue() are coded as postscript functions, see post.trm: -PostScriptColorFormulae[] used in PS_make_palette entry. PS->make_palette() -looks itself into sm_palette and writes a header with the appropriate -postscript codes for formulaR, formulaG, formulaB transformations. See also -post.trm: PostScriptColorFormulae[] used in PS_make_palette. Return from -make_palette(). - -All other terminals have discrete number of colours. Currently an RGB palette -is allocated for the number of available colours returned by make_palette(); if -pm3d is used in gnuplot's multiplot mode, then the result would be incorrect if -the previous palette is not reused or if the number of colours is not limited -by 'set palette maxcolors'. - -Creating the RGB palette: make the array of (RGB) triplets according to items in -sm_palette (not for postscript) - sm_palette.color = malloc( sm_palette.colors * sizeof(rgb_color) ); - -And then -for (i = 0; i < sm_palette.colors; i++) { - gray = (double)i / (sm_palette.colors - 1); /* rescale to [0;1] */ - if (sm_palette.ColorMode == colorModeGRAY) /* gray scale only */ - sm_palette.color[i].r = sm_palette.color[i].g = sm_palette.color[i].b - = gray; - else { /* i.e. sm_palette.ColorMode == colorModeRGB */ - sm_palette.color[i].r = pm3dGetColorValue(sm_palette.formulaR, gray); - sm_palette.color[i].g = pm3dGetColorValue(sm_palette.formulaG, gray); - sm_palette.color[i].b = pm3dGetColorValue(sm_palette.formulaB, gray); - } - } - -Finally, tell the terminal to allocate the palette for the (RGB) triplets -(again, not for postscript) - term->make_palette(&sm_palette); - - ------ Transformation of the z-coordinate to gray and RGB in pm3c.c ----- - -How a colour is transformed from the gray? AveragedZ is mapped into the -interval [min_z:max_z] which is transformed into [0:1], see routine - double z2gray ( double z ) -which rescales z into the interval [0,1]. This works fine also for the -logarithmic z axis. Later, this is used by - gray = z2gray ( avgZ ); -This value can be used directly as a gray for gray maps. For colour maps -it further needs to transform - gray -> (R,G,B): [0:1] -> ([0:1], [0:1], [0:1]) -thus some nice three functions have to be choosen --- see pm3d.c, function -pm3dGetColorValue(), for the available mapping functions. - -Note that after the complete separation of the z and cb axes (cb-axis is the -axis of colors) in February 2002, there is a new function z2cb(), and z2gray() -was replaced by cb2gray(). - - ------ Implementation of pm3d terminal entries in *.trm ----- - -In this section you will find a brief discussion on the following pm3d-related -terminal entries: - term->make_palette - term->previous_palette - term->set_color - term->filled_polygon -which are required to make pm3d to work. Files considered by these functions -are color.h, color.c, plot.h, and all .trm which are pm3d-capable. If you are -coding pm3d support for a new terminal, then you can have a look at the code -in these files: - gif.trm (bitmap GIF terminal implementation), - post.trm (PostScript terminal implementation), - pm.trm + gclient.c (OS/2 PM terminal implementation), - x11.trm + gplt_x11.c (X11 terminal implementation). - -The pm3d-specific code is surrounded by #ifdef PM3D ... #endif, so it is -possible to compile gnuplot with or without pm3d support just bey (un)defining -the PM3D constant. - -In plot.h, the following new terminal entries are added into struct TERMENTRY: - -int (*make_palette)(t_sm_palette *palette); - 1. If palette==NULL, then return nice/suitable maximal number of colours - supported by this terminal. Returns 0 if it can make colours without - palette (like postscript). - 2. If palette!=NULL, then allocate its own palette return value is - undefined. - 3. Available: some negative values of max_colors for whatever it can be - useful. - - Some particular notes: - (*) Terminals with palette (GIF, PM): there are already some basic colours - allocated (see gnuplot command 'test'), thus an offset for the `part with - smooth colours' is needed. - (*) GIF: can allocate up to 256 colours, i.e. discrete number of colours. - (*) PM: discrete number of colours. Passes the rgbTable through the pipe - into standalone gnupmdrv driver. X11 should be implemented in the same - way. - (*) PostScript: continuous colours, as "setrgbcolor" PS command takes the - triplet of intervals [0,1]. - -void (*previous_palette)(void); - Release the palette that the above routine allocated and get back the - palette that was active before. Some terminals, like displays, may draw - parts of the figure using their own palette. The terminals possessing only - one palette for the whole plot don't need this routine. - - Actually, this routine is currently used only for postscript terminal, - where it writes "grestore" as make_palette() starts its postscript - definitions by "gsave"... that's because there are the analytical mapping - functions gray->RGB defined in the local header. - -void (*set_color)(double gray); - The value of gray is [0;1]. The terminal uses its color palette or any - other way to transform in into true gray or to r,g,b. This terminal entry - remembers (or not) this colour so that it can reuse it for a subsequent - drawing (for each terminal separately). - -void (*filled_polygon)(int points, gpiPoint *corners); - The declaration has been made the same as in GIF's gd.h. It fills the given - polygon according to color set by the previous call to set_color(). - - -******************************************************************************* -******************************************************************************* - -TECHNICAL DETAILS ABOUT PLOT WITH IMAGE -======================================= - -The plot_image() routine in graphics.c was added by Daniel Sebald on October -30, 2003. It is intended for plotting images if the terminal driver supports -images, otherwise it reverts to pm3d color boxes if possible. A large part of -the routine checks that the visible points form a valid rectangular grid. -Because the data is in the form of 2D/3D point structures, this must be done. -(A future feature might be the ability to circumvent the large storage -requirements of 2D/3D point structures and the need to check whether data -forms a grid whenever the user supplies image data in a known matrix format.) - -If a grid aligned with the Cartesian axes is not given, plot_image() will -revert to plotting each pixel as a color boxes using term->filled_polygon(). -This same fallback to individual polygons is used to render images on -terminals that have no term->image() entry point. This mode can also be -forced by the keyword "failsafe": ... with {rgb}image {failsafe}. - -Only details about the "tricky" algorithms are given here. - -There are eight valid ways that pixel grid information can be entered via the -plot->points[] array. These are based upon the scanning direction (i.e., along -one of the dimensions) and the two directions (positive vs. negative) along -the dimensions that the points are entered. - -Definitions: - - K = input scan line length (i.e., number of samples along line) - L = input plane length (i.e., number of scan lines) - dim = dimension (0 means increments along x, 1 means increments along y) - dxg0 = delta x grid along the scan line (can be positive or negative) - dyg0 = delta y grid along the scan line (can be positive or negative) - dxg1 = delta x grid between scan lines (can be positive or negative) - dyg1 = delta y grid between scan lines (can be positive or negative) -sgn() = sign of variable (- represented as 0, + represented as 1) - a^b = raise a to the power b - M = output row length (i.e., number of columns) - N = output column length (i.e., number of rows) - -The goal is to move the data from the plot->points[] array to the matrix pixel -grid in the order (1,1), (1,2), (1,3), ..., (M,N-1), (M,N) forming the M x N -matrix - - (1,1)...(M,1) - . . - . . - . . - (1,N)...(M,N) - -(Note that the terminal scale, positive or negative, has an influence on the -orientation of pixels. Ignore this temporarily for simplicity. Formulas are -augmented later to account for axes directions.) The approach is to step -through the plot points and copy each visible point to its appropriate spot in -the image matrix array. The routine that does this is fundamentally - - for (i=0, j=line_length, i_image=i_start; i < plot->p_count; i++) { - image[i_image] = plot->points[i].CRD_COLOR; - i_image += i_delta_pixel; - j--; - if (j == 0) { - i_image += i_delta_line; - j = line_length; - } - } - -Thus the indexing parameters i_start, line_length, i_delta_pixel and -i_delta_line must be determined. line_length is solely dependent upon the -dimension; K if dimension = 0 (i.e., increment along a row) and L if -dimension = 1 (i.e., along column). The other relationships can be determined -by looking at the eight 4 x 2 illustrations which follow. Assume points are -entered 0, 1, 2, 3, 4, 5, 6, 7, then the various ways of entry are: - - (1) (2) (3) (4) (5) (6) (7) (8) - -3 2 1 0 7 6 5 4 0 1 2 3 4 5 6 7 6 4 2 0 7 5 3 1 0 2 4 6 1 3 5 7 -7 6 5 4 3 2 1 0 4 5 6 7 0 1 2 3 7 5 3 1 6 4 2 0 1 3 5 7 0 2 4 6 - -The functions are: - -sgn(dyg1)---------| -sgn(dxg1)------ | -sgn(dyg0)-- | | i_delta_pixel -sgn(dxg0) | | | | - | | | | i_start | | | i_delta_line - --- --- --- --- | -------------------- | ------- | --------------- -(1) - 0 0 - | K - 1 = K*1 - 1 | -1 | 2*K = K + K -(2) - 0 0 + | K*L - 1 = K*L - 1 | -1 | 0 = K - K -(3) + 0 0 - | 0 = K*1 - K | 1 | 0 = -K + K -(4) + 0 0 + | K*(L-1) = K*L - K | 1 | -2*K = -K - K - | | | -(5) 0 - - 0 | (L-1)*K = K*L - K | -K | K*L + 1 -(6) 0 + - 0 | K*L - 1 = K*L - 1 | -K | K*L - 1 -(7) 0 - + 0 | 0 = K*1 - K | K | -K*L + 1 -(8) 0 + + 0 | K - 1 = K*1 - 1 | K | -K*L - 1 - - - -There is a clear distinction between formulas based upon dimension. -Summarizing, - - - dimension = 0 (x changing) -------------------------------------------------------- -line_length: K - -i_start: L^(dyg1 > 0) * K - K^(dxg0 > 0) - -i_delta_pixel: (-1)^(dxg0 < 0) - -i_delta_line: K*[(-1)^(dxg0 > 0) + (-1)^(dyg1 > 0)] -------------------------------------------------------- - - - - dimension = 1 (y changing) -------------------------------------------------------- -line_length: L - -i_start: L^(dxg1 < 0) * K - K^(dyg0 < 0) - -i_delta_pixel: K*(-1)^(dxg1 < 0) - -i_delta_line: K*L*(-1)^(dxg1 > 0) + (-1)^(dyg0 > 0) -------------------------------------------------------- - - -The above formulas are what appear preceding the for() loop in the actual code -except for one detail, the terminal scale, i.e., direction for which the axes -are increasing. Simply note that if terminal scale is negative the orientation -swaps along the related direction. Thus augmenting the sign tests in the above -equations will account for the terminal scale. For example, let xsts and ysts -be the sign of the x and y terminal scale, respectively. Then the formula for -i_start when x is changing (dimension 0) becomes: - -i_start: L^(dyg1*ysts > 0) * K - K^(dxg0*xsts > 0) - -and so on. - - -/***** NOTE: Info between starred comments was original method and now a - simple, but less efficient, method of finding the corners by - conditional tests while rearranging the points is done. So - the following is obsolete... but may come back to it at some - point. But if this has been sitting around for quite a while - now, feel free to delete what is between the stars. - -There is also the matter of computing what points in the array of plot->point[] -constitute pixels (1,1) and (N,M). There are four grid corners determined on -the first pass through the data. However, what these map to also depend upon -the three variables dim, d_x_g and d_y_g. Again, looking at the illustrations: - - dim sgn(d_x_g) sgn(d_y_g) | pixel_1_1 | pixel_M_N - --- ---------- ---------- | --------- | --------- -(1) 0 - - | 1 | 2 -(2) 0 - + | 3 | 0 -(3) 0 + - | 0 | 3 -(4) 0 + + | 2 | 1 -(5) 1 - - | 2 | 1 -(6) 1 - + | 3 | 0 -(7) 1 + - | 0 | 3 -(8) 1 + + | 1 | 2 - - -These functions are implemented by table look up. With - - int pixel_1_1_logic[2][2][2] = {1, 3, 0, 2, 2, 3, 0, 1}; - int pixel_M_N_logic[2][2][2] = {2, 0, 3, 1, 1, 0, 3, 2}; - -The following yields the desired functions: - -pixel_1_1 = - grid_corner[ pixel_1_1_logic[dimension][delta_x_grid > 0][delta_y_grid > 0] ]; -pixel_M_N = - grid_corner[ pixel_M_N_logic[dimension][delta_x_grid > 0][delta_y_grid > 0] ]; - -*****/ - - -TECHNICAL DETAILS ABOUT TERMINAL DRIVER FUNCTION image -====================================================== - -Support for images in the X11 driver was added by Daniel Sebald on February -27, 2003. The function - - void (*image) __PROTO((unsigned M, unsigned N, coordval *image, - gpiPoint *corner, int color_mode)); - -is the terminal driver routine for displaying an image. 'M' is the number of -rows, 'N' is the number of columns, 'image' is a pointer to image data stored -with upper left pixel first and scanning horizontally from left to right, -'corner' contains - - corner[0].x upper left pixel (1,1) location (extent) of image - corner[0].y - corner[1].x lower right pixel (M,N) location (extent) of image - corner[1].y - corner[2].x upper left corner of visible window - corner[2].y - corner[3].x lower right corner of visible window - corner[3].y - -and 'color_mode' indicates if the image should use RGB triples or palette -lookup. - -Image samples are a coordval which is a float. Image data attempts to be -consistent with the color schemes of Petr Mikulik's pm3d. Therefore, the -values in the image array are in the range [0.0,1.0] and the terminal driver -routine can handle this data by mapping this range to a range appropriate for -the output device. - -If `color_mode` is IC_RGB, the `image` array should be treated as triples of -floats. That is, rather than the length of the image array being M*N, as is -the case when `color_mode` is IC_PALETTE, the length of the array is 3*M*N. -Triples are of the form - -image[0] = red 1,1 -image[1] = green 1,1 -image[2] = blue 1,1 -image[3] = red 1,2 -image[4] = green 1,2 -image[5] = blue 1,2 -etc. - -When in IC_PALETTE mode, image data should be used as an index into the -palette constructed by the make_palette() terminal routine. That is, one -should multiply the value by the palette size minus one, cast to an integer -and range check (good practice) the index. - -The meaning of the corners is that the first two represent the outer extent of -the pixels representing the image; not the centers of the pixels on the outer -edge, but the outer edge of the pixels on the outer edge. The next two corners -represent the extent of the visual, or clipping region. Thus, on the outer -edge of the image may be pixels which are only fractionally displayed. - - -TECHNICAL DETAILS ABOUT X11 IMAGE DRIVER -======================================== - -Support for images in the X11 driver was added by Daniel Sebald on February -27, 2003. - -For X11, this image terminal function is X11_image(). Because of the large -amount of data associated with an image, the routine avoids using floats and -avoids using formatted I/O representation for numbers. The "scanf" function -is a very inefficient routine for large amounts of data. - -To avoid using floats, the maximum resolution of the color plane of the X11 -device is assumed to be 16 bits. (Not an unreasonable assumption.) The image -data is converted to short by multiplying by the maximum palette value. On -the gplt_x11.c side of the pipe, these unsigned short values are shifted to -the right to match the size of its palette. - -To avoid using formatted I/O. A simple encoding scheme is used to eliminate -all image data values having a value equivalent to a '\n' character or a '\0' -character because the core gplt_x11.c routine interprets these characters in -a special way. The scheme is as follows: if the character '\n' or '\0' are -found, they are replaced by a two byte representation (CODE_WORD,value+1). -On the receiving side, if the CODE_WORD is found, the next byte after it minus -one is the decoded character. Naturally, the CODE_WORD itself must also be -encoded so as to not lose those in the data stream. - -An additional step is to first translate the data before sending it over the -pipe. This is done by subtracting a constant. The constant is added back -in on the other side. The reason for this is that image data often contains -many 0 characters (e.g., upper 8 bits). Thus the character '\0' is prevalent -in image data, and without translation, the encoding scheme would result in -noticable expansion of the data stream. The encoding is meant to cut down the -amount of data that is stored in the gplt_x11.c replot buffers. - -Because there may be an endianess problem if the gnuplot and gnuplot_x11 -programs were compiled under different compilers, Petr and Dan added an endian -check command. If this check finds it is necessary to swap bytes in encoded -binary data coming across the pipe, then gnuplot_x11 will do so for those -commands using encoded binary. In most cases, these programs will have been -compiled with the same compiler so byte swapping will not be done. But it is -there just in case. - -The X11 color bit packing is a bit tricky. It attempts to be portable, but I'm -sure there are peculiar hardware formats out there that will not work properly -as it currently exists. (Some additions and tweaking will probably be need, -but without examples of every hardware configuration it is difficult to program -for them.) Basically, shifts and masking for packing the bits from the RGB -data (16 bits per channel) are derived from the masks of the X11 display -information. Also, there is hardware option of byte order: most significant -byte first or least significant byte first. The routine will swap bytes if -necessary. However, if the bytes need to be swapped and the RGB masks are all -8 bits, then the swapping can be done inherently by appropriately altering the -bit shifts. For example, say the masks are R: 0xff0000, G: 0xff00, B: 0xff -and bytes need to be swapped. Rather than using these masks and swapping -bytes, the masks could be changed to R: 0xff00, G: 0xff0000, B: 0xff000000. - -Comments: - -The method works rather well, short of a more direct method of storing image -data in gplt_x11.c without having to pull the data out of the replot buffer for -every refresh. The new 2D binary data file entry (well documented in the -gnuplot.doc file) in concert with the image routines was suppose to make Octave -fast at drawing images. However, Octave needs some reworking yet to make this -happen seamlessly. The problem is that Octave does not yet use binary data but -instead uses ASCII data files to get information to Gnuplot. I've attempted to -write data to a file in binary format using Octave's fwrite() routine then use -Octave's graw() routine. This speeds things up somewhat, but I still think -this interface can be improved at a later time. - - -TECHNICAL DETAILS ABOUT POSTSCRIPT IMAGE DRIVER -=============================================== - -The PostScript image driver is rather straightforward. Its main processing -involves encoding the data in ASCII85 format. No compression scheme is used -currently. Run length encoding hardly seems worth the effort because in most -cases the amount of compression won't be too significant, I'm guessing. For -image data, other than the single bit variety such as a facsimile, other forms -of compression are more efficient. - -******************************************************************************* -******************************************************************************* - -COMMENTS ABOUT BINARY DATA FILE SYNTAX -====================================== - -A keyword for binary data indicates which way to scan within the file. The -Cartesian variables x, y, and z are analogous to the cylindrical variables -t (theta), r, and z internally. However, the common math convention for -listing triples in these coordinate systems is (x,y,z) and (r,t,z). It may -be worth switching the role of theta and r inside the program. (If done, -change the `scan` note inside the `binary` documentation.) - -******************************************************************************* -******************************************************************************* diff --git a/docs/old/README.iso b/docs/old/README.iso deleted file mode 100644 index 3aff6f0b5..000000000 --- a/docs/old/README.iso +++ /dev/null @@ -1,75 +0,0 @@ - -You can say "set isosamples 30,40" now to get different isosampling -rates for the first and second dummy variables (x,u resp. y,v). This -will affect surface-plots in hidden3d- and nohidden3d-mode. It gets -rid of the necessity of having to change samples in hidden3d-mode when -you actually want to change the isosamples for the first dummy -variable. For people that are lazy and for compatibility you can also -type "set isosamples 30". This will set the value to 30 in both -directions. For completeness I did the same with "samples". Thus you -can say "set samples 50,100" to get different sampling rates for each -dummy variable. This only affects surface-plots in nohidden3d-mode. -Again, you still can say "set samples 50". This will set both sampling -rates to 50. For 2d-plots the first value of samples is used. - -Summary: - -Suppose isosamples is set to 4,5 in hidden3d-mode. The grid evaluated -for hidden3d-plots will look like this (* denotes points that get -evaluated): - - |------ isosamples #1 -----| - - - *--------*--------*--------* - | | | | | - | | | | - i | | | | - s *--------*--------*--------* - o | | | | - s | | | | - a | | | | - m *--------*--------*--------* - p | | | | - . | | | | - | | | | - # *--------*--------*--------* - 2 | | | | - | | | | - | | | | | - - *--------*--------*--------* - -Suppose isosamples is set to 4,5 and samples to 10, 9 in -nohidden3d-mode. The grid evaluated for hidden3d-plots will look like -this: - - |------ isosamples #1 -----| - - - *--*--*--*--*--*--*--*--*--* - - | | | | | | - * * * * | - i | | | | - s *--*--*--*--*--*--*--*--*--* s - o | | | | a - s * * * * m - a | | | | p - m *--*--*--*--*--*--*--*--*--* l - p | | | | e - . * * * * s - | | | | - # *--*--*--*--*--*--*--*--*--* # - 2 | | | | 2 - * * * * - | | | | | | - - *--*--*--*--*--*--*--*--*--* - - - |------- samples #1 -------| - - -BTW: The examples above also show how the bottom grids will look like -both in noparametric- and in parametric-mode. Thus you can get a rough -idea of how the mapping from (u,v)-space to (x,y,z)-space works by -drawing a bottom grid in parametric-mode. - -Best regards, - -Carsten diff --git a/docs/old/README.mf b/docs/old/README.mf deleted file mode 100644 index b07b68c63..000000000 --- a/docs/old/README.mf +++ /dev/null @@ -1,72 +0,0 @@ -METAFONT Terminal Driver for gnuplot (mf.trm): ----------------------------------------------- - -The METAFONT terminal driver creates a input file to the METAFONT program. -Thus a figure may be used in the TeX document in the same way as a -character is. - -To use the plot in a document the METAFONT program must be run -with the output file from gnuplot as input. Thus, the user needs a basic -knowledge of the font creating prosess and inclusion of a new font in a -document. However, if the METAFONT program are set up properly at the -local site an unexperienced user could perform the operation without -much trouble. - -The text support is based on a METAFONT character set. -Currently the Computer Modern Roman font set is input but the -user are in principal free to chose whatever fonts he/she needs. -The METAFONT source files for the chosen font must be available. -Each character is stored in a separate picture variable in METAFONT. These -variables may be manipulated (rotated, scaled etc.) when characters are -needed. The drawback is the interpretation time in the METAFONT -program. On some machines (i.e. PC) the limited amount of memory available -may also cause problem if too many pictures are stored. - -To use the METAFONT terminal driver: ------------------------------------- -1) In gnuplot use: set terminal mf - set output "myfile.mf" - . - . - . - plot .... - exit - - -2) Run METAFONT. Syntax is site dependant: - - On my UNIX I use: cmmf '\mode=localfont; \mag=1;' input myfile.mf - On my PC I use: mf286 &cm \mode=localfont; \mag=1; input myfile.mf - - Be aware that METAFONT can only handle number less than 4096. Thus if you - - have very high resolution in your localfont and a large picture you will - probably get an error message when running METAFONT. To solve the -problem, - reduce the resolution or the plot size. - -3) Run GfToPk, syntax is - - on my UNIX: gftpk myfile.xxxgf myfile.pk - on my PC: gftpk myfile.xxx myfile.pk - - where xxx is the resolution (typically 300). - -4) Copy the files myfile.pk and myfile.tfm to a place where you are sure TeX - and the dvi processing programs you use can find them. (They can -probably - be located in your current working directory) - -5) Include in your TeX document the following statement: - - \font\myfont=myfile % Declares the new font you just have made - {\myfont\char0} % Typeset character with code zero which - % MF.TRM uses as default character - -Paal Hedne -SINTEF Multiphase Laboratory -N-7034 Trondheim -Norway - -Tel.: -47-7-591060 -E.mail: Pal.Hedne@termo.unit.no diff --git a/docs/old/README.nex b/docs/old/README.nex deleted file mode 100644 index 2ed12f717..000000000 --- a/docs/old/README.nex +++ /dev/null @@ -1,94 +0,0 @@ -The 3.6 version of gnuplot is proud to include a new NeXTstep -terminal driver. The new driver offers the following new -features: - -1) Multiple windows -2) Resizable windows -3) Direct print interface from windows -4) Titleable and re-addressable windows -5) A real NeXTstep-style interface to the terminal driver - -The driver runs as a separate application, and hence has -it's own set of controls and interfaces. It registers itself -with the operating system as a distributed objects "GnuTerm" -server, and thereafter accepts requests from any gnuplot instances -on the machine. - -Nick Strobel's original single-viewport NeXTstep terminal is available -as an option to the next terminal. It can be invoked from the gnuplot -command line as: -gnuplot> set term next old -There are several reasons why one might choose the older terminal. -First, the new terminal will probably not work on NeXT systems -running a pre-3.0 version of the operating system. -Second, because all of the postscript must be buffered in order -to allow re-sizing and printing of the window's contents, the -new terminal can be a memory hog for very complicated plots. -The original README.nex file for the original next terminal is -included at the end of this document. - - -Installation ------------- - -In addition to enabling the #include next.trm in term.h before -compiling gnuplot, the GnuTerm.app application must be separately -built and installed. All of the source code is included in -the NeXT subdirectory of the gnuplot distribution. GnuTerm.app -can be built for the current architecture by cd-ing to the NeXT -directory and type "make". For more complicated installations, -or to build the application "FAT" (to run on more than one -processor architecture), it's easiest to fire up NeXT's -ProjectBuilder.app and open NeXT/PB.project. - -GnuTerm.app can be installed in any directory contained in the -WorkSpace's ApplicationPaths dwrite. For most situations, -this means installing GnuTerm.app in either /LocalApps or -~/Apps. - -If you wish to locate the GnuTerm.app somewhere other than ~/Apps -or /LocalApps, you can "setenv GNUTERMPATH /newpath" to tell -gnuplot where to find it. -Example (wherein GnuTerm.app is in /LocalApps/Data): - -host% setenv GNUTERMPATH "/LocalApps/Data" - -Robert Lutwak -robert@amo.mit.edu -July 14, 1996 - - -Following is the README.nex that accompanied the original -(single viewport) next terminal, which is still accessible -as "set term next old". -------------------------------- - This directory contains version 2 of the additional files -you'll need to get gnuplot3.0 to display it's postscript directly to a -window instead of going through the klunky process of writing the -postscript to a file and launching Previewer to view the file. Note -that all input is still done at the shell level! Fancier NeXTStep -interfaces will be a future project. - - This version is faster and leaner than the old method. It -also does not eat up swap space like the older version (this was -particularly noticeable when doing animation-like plots). To do this -I used DPS function calls instead of creating a NXImage and -compositing the stream of commands. I based my code on the program -called "epsview" in the hackkit tar file on the archive servers. - - The next.trm (next terminal) is basically the post.trm -(postscript terminal) with the fprintf replaced by DPSPrintf and -outfile by the DPSContext d. You'll also see that I also used some -code (with modifications) from David S. Joerg's MovieApp. Using the -DPS functions enabled me to slim down the EpsViewer.[hm] and -EPSView.[hm] files. - - No claim is made to code elegance or to it being a good example of -objective-c coding. This is my first (well, second, sort of) objective-c -program. It seems to work for me. Any constructive criticism would be -appreciated. I can be reached at strobel@phast.phys.washington.edu - -cheers! - -nick strobel ------------------------------------ \ No newline at end of file diff --git a/docs/old/README.pic b/docs/old/README.pic deleted file mode 100644 index 045caf8b6..000000000 --- a/docs/old/README.pic +++ /dev/null @@ -1,125 +0,0 @@ - -HOW TO USE PIC driver: - - -I have tested driver under gnuplot3.2, and I am currently using it -with the reengineered troff, groff, which is distributed by Free -Software Foundation, but it should work for AT&T's DWB as well. As -gpic can produce TeX output, it could possibly be an alternative to -the LaTeX driver for TeX-users having the tpic macros (see the gpic -man page - I don't know much about TeX so please don't ask me about -this). - -A simple graph can be formatted using - -groff -p -mpic -Tps file.pic > file.ps. - -The output from pic can be pipe-lined into eqn, so it is possible to put -complex functions in a graph with the set label and set {x/y}label commands. -For instance, - -set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@' - -Will lable the y-axis with a nice integral if formatted with the -command: - -gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps > filename.ps - -Figures made this way can be scaled to fit into a document. The pic -language is easy to understand, so the graphs can be edited by hand if -need be. All coordinates in the pic-file produced by gnuplot are given -as x+gnuplotx and y+gnuploty. By default x and y are given the value 0 -If this line is removed with an editor in a number of files one can -put several graphs i one figure like this (default size is 5.0x3.0 inches) - -.PS 8.0 -x=0;y=3 -copy "figa.pic" -x=5;y=3 -copy "figb.pic" -x=0;y=0 -copy "figc.pic" -x=5;y=0 -copy "figd.pic" -.PE - -This will produce an 8 inches wide figure with four graphs in two rows -on top of each other - -One can also achieve the same thing by the command - -set term pic x y - -For example, using - -.PS 6.0 -copy "trig.pic" -.PE - -the following session generated a two by two figure with -four graphs: - - - G N U P L O T - unix version 3.2 - patchlevel 2, Mar 24 92 - last modified Sat Mar 24 21:08:47 PST 1992 - -Copyright(C) 1986, 1987, 1990, 1991, 1992 Thomas Williams, Colin Kelley - - Send bugs and comments to bug-gnuplot@ames.arc.nasa.gov - -Terminal type set to 'x11' -gnuplot> set out 'trig.pic' -gnuplot> set ter pic 0 5 -Terminal type set to 'pic' -Options are 'Pic's origin is at (0.000000,5.000000)' -gnuplot> plot sin(x) -gnuplot> set ter pic 5 5 -Terminal type set to 'pic' -Options are 'Pic's origin is at (5.000000,5.000000)' -gnuplot> plot cos(x) -gnuplot> set ter pic 0 0 -set ter pic 0 0 -Terminal type set to 'pic' -Options are 'Pic's origin is at (0.000000,0.000000)' -gnuplot> plot tan(x) -gnuplot> set ter pic 5 0 -Terminal type set to 'pic' -Options are 'Pic's origin is at (5.000000,0.000000)' -gnuplot> plot cos(x)/sin(x) -plot cos(x)/sin(x) -gnuplot> quit - - - -Scaling can be done using set size. - - -I prefer this way of including graphs to using encapsulated in troff -documents, because of the possiblity to preprocess with eqn, and -because pic is much easier to understand than postscript - at least for me. - - -WHAT HAS TO BE DONE TO IMPROVE THIS DRIVER - -1.) Nice markers - -2.) Dot-dashed line styles - -3.) Possibly make line thickness an option when set term pic - -4.) Making it possible to select fonts for both pic and eqn from - gnuplot's command line. - - -I am happy to share this piece of software with anyone, in the hope -that it will be useful for at least someone. But taking into account -that it is the very first version of the driver, I would be happy if I -could get into contact with people able to help me improve it. - -Mind you: Anything thats free comes with no guarantee! - -Good Luck - -Sigfrid Lundberg (siglun@volterra.teorekol.lu.se) diff --git a/docs/old/README.pro b/docs/old/README.pro deleted file mode 100644 index 4629765c5..000000000 --- a/docs/old/README.pro +++ /dev/null @@ -1,87 +0,0 @@ -The modifications to gnuplot 3.2 in this directory add the -capability of plotting probability distributions. - -This mod adds the following extra standard gnuplot functions: - -ibeta - incomplete beta function -igamma - incomplete gamma function -lgamma - natural log of gamma -gamma - gamma function -erf - error function (= trivial variation of infamous bell curve) -erfc - 1.0 - error function (more accurate than 1.0 - erf yourself) -rand - pseudo random number generator (in compliance with Knuth) - -using these things as building blocks, a gnuplot command file 'stat.inc' -is provided with definitions of almost all statistical distributions. - -Author: Jos van der Woude, jvdwoude@hut.nl - -========================================================== -Directions to install gnuplot 3.3: -(diffs are relative to gnuplot 3.0, patchlevel 2.0) - -If you have a BSD machine, add the following to -the makefile.unx: - -OPTIONS = -DERF -DGAMMA - -and specfun.c to the SOURCES and specfun.o to the OBJECTS. - -For MSDOS machines (and non-BSD machines) do the following: - -ASSUMPTIONS: -The diffs provided work for msdos based pc's, using turbo C, version 2.0, -and Borland C++, version 2.0 or 3.0. -If you use a different setup, you might have to make (some) changes. - -GOAL: -To extend the standard function library of gnuplot 3.2 with the following -functions: - -ibeta - incomplete beta function -igamma - incomplete gamma function -erf() - error function (= trivial variation of normal distribution function) -erfc() - 1.0 - erf() (more accurate than computing 1.0 - erf() yourself) -gamma() - gamma function (for entire domain!) -lgamma() - natural logarithm of gamma function -rand() - a statistical acceptable version of standard C rand() function - -These additions to the repertoire of standard functions turn gnuplot into -an excellent tool for plotting statistical density and distribution functions. - -DETAILED INSTRUCTIONS: -0. Split the bottom part of this file into the appropriate files: - readme.p3, patch3.dif, stat.inc, nomo95.dem, random.dem, prob.dem, - prob2.dem, and specfun.c using an editor or a PD PC shar utility. - -1. Use the patch program to generate new versions of: - gnuplot.doc, command.c, internal.c, misc.c, parse.c, plot.c, plot.h, - standard.c, util.c and version.c - -2. Make sure that file specfun.c is in the gnuplot directory. - -3. Use the make program to create new version of gnuplot. - -4. Test the new functions with commmand files prob.dem, prob2.dem, - random.dem and nomo95.dem. - -KNOWN BUG: -On MSDOS machines this modification can result in a DGROUP segment overflow -error at link time. The reason is that gnuplot uses the resources of the -large memory model right up to the limit. -There are two things you can do about this: - -1. Compile gnuplot using the huge memory model. - This was tested using Borland C++, version 2.0: Works fine, even with - -DREADLINE enabled. - -2. If you dont want to compile under the huge memory model you can try to - disable unused terminal drivers in term.h. See instructions at top - of file term.h. - - -Happy plotting, - -Jos van der Woude -Amsterdam, The Netherlands -jvdwoude@hut.nl diff --git a/docs/old/gpcard.tex b/docs/old/gpcard.tex deleted file mode 100644 index 62483890c..000000000 --- a/docs/old/gpcard.tex +++ /dev/null @@ -1,1109 +0,0 @@ -% Quick Reference Card for gnuplot 2004 -% -% Format stolen shamelessly from the GNU Emacs reference card -%**start of header -\special{landscape} -\newcount\columnsperpage - -% This file can be printed with 1, 2, or 3 columns per page (see below). -% Specify how many you want here. Nothing else needs to be changed. -% For gnuplot refcard, entries are too wide for 3 columns. Print -% 2 columns landscape - -\columnsperpage=2 - -% Copyright (c) 1987 Free Software Foundation, Inc. - -% This file is part of GNU Emacs, but was adapted for the gnuplot -% reference card because it was so nicely set up. - -% This file is intended to be processed by plain TeX (TeX82). -% -% The final reference card has six columns, three on each side. -% This file can be used to produce it in any of three ways: -% 1 column per page -% produces six separate pages, each of which needs to be reduced to 80%. -% This gives the best resolution. -% 2 columns per page -% produces three already-reduced pages. -% You will still need to cut and paste. -% 3 columns per page -% produces two pages which must be printed sideways to make a -% ready-to-use 8.5 x 11 inch reference card. -% For this you need a dvi device driver that can print sideways. -% Which mode to use is controlled by setting \columnsperpage above. -% -% Author of GNU Emacs Refcard: -% Stephen Gildea -% UUCP: mit-erl!gildea -% Internet: gildea@erl.mit.edu -% -% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik -% for their many good ideas. -% -% Person who ripped off the formatter: -% Alex Woo -% NASA Ames Research Center -% Internet: woo@ames.arc.nasa.gov -% -% Modified on 9 Dec 1992 by: -% Daniel S. Lewart -% University of Illinois -% Internet: d-lewart@uiuc.edu - -% make \bye not \outer so that the \def\bye in the \else clause below -% can be scanned without complaint. -\def\bye{\par\vfill\supereject\end} - -\def\copyrightnotice{ -\vskip 1ex plus 2 fill\begingroup\small -Layout adapted from the \TeX\ source for Stephen Gildea's GNU Emacs -Reference Card (version 1.8). - -PostScript is a registered trademark of Adobe Systems Incorporated. -GNU, Versatec, Imagen, Printronix, Canon, GraphOn, Visual, MicroVAX, -UIS, Tektronix, Unix, VAX, VMS, NeWS, SunView, and em4010 are all -trademarks of various companies. We endorse none of them. - -\endgroup} - -\newdimen\intercolumnskip -\newbox\columna -\newbox\columnb - -\def\ncolumns{\the\columnsperpage} - -\message{[\ncolumns\space - column\if 1\ncolumns\else s\fi\space per page]} - -\def\scaledmag#1{ scaled \magstep #1} - -% This multi-way format was designed by Stephen Gildea -% October 1986. -% modified for gnuplot refcard by Alex Woo - -\if 1\ncolumns -% \hsize 4in - \hsize 6in - \vsize 10in - \voffset -.7in - \font\titlefont=\fontname\tenbf \scaledmag3 - \font\headingfont=\fontname\tenbf \scaledmag2 - \font\smallfont=\fontname\sevenrm - \font\smallsy=\fontname\sevensy - - \footline{\hss\folio} - \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} -\else -% \hsize 3.2in - \hsize 5in - \vsize 7.95in - \hoffset -.75in - \voffset -.745in - \font\titlefont=cmbx10 \scaledmag2 - \font\headingfont=cmbx10 \scaledmag1 - \font\smallfont=cmr6 - \font\smallsy=cmsy6 - \font\eightrm=cmr8 - \font\eightbf=cmbx8 - \font\eightit=cmti8 - \font\eighttt=cmtt8 - \font\eightsy=cmsy8 - \textfont0=\eightrm - \textfont2=\eightsy - \def\rm{\eightrm} - \def\bf{\eightbf} - \def\it{\eightit} - \def\tt{\eighttt} - \normalbaselineskip=.8\normalbaselineskip - \normallineskip=.8\normallineskip - \normallineskiplimit=.8\normallineskiplimit - \normalbaselines\rm %make definitions take effect - - \if 2\ncolumns - \let\maxcolumn=b - \footline{\hss\rm\folio\hss} - \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}} - \else \if 3\ncolumns - \let\maxcolumn=c - \nopagenumbers - \else - \errhelp{You must set \columnsperpage equal to 1, 2, or 3.} - \errmessage{Illegal number of columns per page} - \fi\fi - - \intercolumnskip=.46in - \def\abc{a} - \output={% - % This next line is useful when designing the layout. - %\immediate\write16{Column \folio\abc\space starts with \firstmark} - \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} - \else\if a\abc - \global\setbox\columna\columnbox \global\def\abc{b} - %% in case we never use \columnb (two-column mode) - \global\setbox\columnb\hbox to -\intercolumnskip{} - \else - \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} - \def\multicolumnformat{\shipout\vbox{\makeheadline - \hbox{\box\columna\hskip\intercolumnskip - \box\columnb\hskip\intercolumnskip\columnbox} - \makefootline}\advancepageno} - \def\columnbox{\leftline{\pagebody}} - - \def\bye{\par\vfill\supereject - \if a\abc \else\null\vfill\eject\fi - \if a\abc \else\null\vfill\eject\fi - \end} -\fi - -% we won't be using math mode much, so redefine some of the characters -% we might want to talk about -\catcode`\^=12 -\catcode`\_=12 - -\chardef\\=`\\ -\chardef\{=`\{ -\chardef\}=`\} - -\hyphenation{mini-buf-fer} - -\parindent 0pt -\parskip 1ex plus .5ex minus .5ex - -\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} - -\outer\def\newcolumn{\vfill\eject} - -\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} - -\outer\def\section#1{\par\filbreak - \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% - \vskip 2ex plus 1ex minus 1.5ex} - -\newdimen\keyindent - -\def\beginindentedkeys{\keyindent=1em} -\def\endindentedkeys{\keyindent=0em} -\endindentedkeys - -\def\paralign{\vskip\parskip\halign} - -\def\<#1>{$\langle${\rm #1}$\rangle$} - -\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows - -\def\beginexample{\par\leavevmode\begingroup - \obeylines\obeyspaces\parskip0pt\tt} -{\obeyspaces\global\let =\ } -\def\endexample{\endgroup} - - -\def\key#1#2{\leavevmode\hbox to \hsize{\vtop -% {\hsize=.75\hsize\rightskip=1em - {\hsize=.5\hsize\rightskip=1em - \hskip\keyindent\relax#1}\kbd{#2}\hfil}} - -\newbox\metaxbox -\setbox\metaxbox\hbox{\kbd{M-x }} -\newdimen\metaxwidth -\metaxwidth=\wd\metaxbox - -\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize - {\hskip\keyindent\relax#1\hfil}% - \hskip -\metaxwidth minus 1fil - \kbd{#2}\hfil}} - -\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad - &\kbd{#3}\quad\cr} - -%**end of header - - -\title{gnuplot Quick Reference} - -\centerline{(Copyright(c) Alex Woo 1992 June 1)} -\centerline{Updated by Hans-Bernhard Br\"o{}ker, April 2004} - -\section{Starting gnuplot} - -\key{to enter gnuplot}{gnuplot} -\key{to enter batch gnuplot}{gnuplot macro_file} -\key{to pipe commands to gnuplot}{application | gnuplot} - -see below for environment variables you might want to change -before entering gnuplot. - -\section{Exiting gnuplot} - -\key{exit gnuplot}{quit} - -All gnuplot commands can be abbreviated to the first few -unique letters, usually three characters. This reference uses -the complete name for clarity. - -\section{Getting Help} - -\key{introductory help} {help plot} -\key{help on a topic}{help <topic>} -\key{list of all help available}{help or ?} -\key{show current environment}{show all} -\section{Command-line Editing} - -The UNIX, MS-DOS and VMS versions of gnuplot support command-line -editing and a command history. EMACS style editing is supported. - -\beginindentedkeys - -Line Editing: - -\key{move back a single character}{^ B} -\key{move forward a single character}{^ F} -\key{moves to the beginning of the line}{^ A} -\key{moves to the end of the line}{^ E} -\key{delete the previous character} {^ H and DEL } -\key{deletes the current character} {^ D} -\key{deletes to the end of line}{^ K} -\key{redraws line in case it gets trashed}{ ^ L,^ R} -\key{deletes the entire line}{ ^ U} -\key{deletes the last word}{ ^ W} -\endindentedkeys -\beginindentedkeys - -History: - -\key{moves back through history}{ ^ P } -\key{moves forward through history}{ ^ N } -\endindentedkeys - -The following arrow keys may be used on most PC versions if READLINE -is used. - -\beginindentedkeys -IBM PC Arrow Keys: - -\key{Left Arrow}{same as ^ B} -\key{Right Arrow}{same as ^ F} -\key{Ctrl Left Arrow}{same as ^ A} -\key{Ctrl Right Arrow}{same as ^ E} -\key{Up Arrow}{same as ^ P} -\key{Down Arrow}{same as ^ N} -\endindentedkeys - - - -\section{Graphics Devices} - -All screen graphics devices are specified by names and options. This -information can be read from a startup file (.gnuplot in UNIX). If -you change the graphics device, you must replot with the \kbd{replot} -command or recreate it repeating the \kbd{load} of the script that -created it. - -\key{get a list of valid devices }{set terminal [options]} - -\beginindentedkeys - -Graphics Terminals: - -\key{Mac OS X} {set term aqua} -\key{AED 512 Terminal} {set term aed512} -\key{AED 767 Terminal} {set term aed767} -\key{BBN Bitgraph Terminal} {set term bitgraph} -\key{MS-DOS Kermit Tek4010 term - color} {set term kc_tek40xx} -\key{MS-DOS Kermit Tek4010 term - mono} {set term km_tek40xx} -\key{NeXTstep window system} {set term next} -\key{OS/2 Presentation Manager} {set term pm} -\key{REGIS graphics language} {set term regis} -\key{Selanar Tek Terminal} {set term selanar} -\key{SunView window system} {set term sun} -\key{Tektronix 4106, 4107, 4109 \& 420X } {set term tek4OD10x} -\key{Tektronix 4010; most TEK emulators} {set term tek40xx} -\key{VAX UIS window system} {set term VMS} -\key{VT-like tek40xx terminal emulator} {set term vttek} -\key{UNIX plotting (not always supplied)} {set term unixplot} -\key{AT\&T 3b1 or 7300 UNIXPC} {set term unixpc} -\key{MS Windows} {set term windows} -\key{X11 display terminal} {set term x11} - -\endindentedkeys - -\beginindentedkeys - -Turbo C PC Graphics Modes: - -\key{Hercules}{set term hercules} -\key{Color Graphics Adaptor}{set term cga} -\key{Monochrome CGA}{set term mcga} -\key{Extended Graphics Adaptor}{set term ega} -\key{VGA} {set term vga} -\key{Monochrome VGA} {set term vgamono} -\key{Super VGA - requires SVGA driver}{set term svga} -\key{AT\&T 6300 Micro}{set term att} - -\endindentedkeys - -\beginindentedkeys - -Hardcopy Devices: - -\key{Unknown - not a plotting device} {set term unknown} -\key{Dump ASCII table of X Y [Z] values}{set term table} -\key{printer or glass dumb terminal} {set term dumb} -\key{Roland DXY800A plotter} {set term dxy800a} - -Dot Matrix Printers - -\key{Epson-style 60-dot per inch printers} {set term epson_60dpi} -\key{Epson LX-800, Star NL-10 }{set term epson_lx800} -\key{NX-1000, PROPRINTER }{set term epson_lx800} -\key{NEC printer CP6, Epson LQ-800 } - {set term nec_cp6 [monochrome color draft]} -\key{Star Color Printer} {set term starc} -\key{Tandy DMP-130 60-dot per inch } {set term tandy_60dpi} -\key{Vectrix 384 \& Tandy color printer} {set term vx384} - -Laser Printers - -\key{Talaris EXCL language}{set term excl} -\key{Imagen laser printer} {set term imagen} -\key{LN03-Plus in EGM mode} {set term ln03} -\key{PostScript graphics language } - {set term post [mode color `font' size]} -\key{CorelDraw EPS} - {set term corel [mode color `font' size]} -\key{Prescribe - for the Kyocera Laser Printer} {set term prescribe} -\key{Kyocera Laser Printer with Courier font} {set term kyo} -\key{QMS/QUIC Laser (also Talaris 1200 )}{set term qms} - -Metafiles - -\key{AutoCAD DXF (120x80 default)} {set term dxf} -\key{FIG graphics language: SunView or X }{set term fig} -\key{FIG graphics language: Large Graph}{set term bfig} -\key{Frame Maker MIF 3.0} - {set term mif [pentype curvetype help]} -\key{Portable bitmap} {set term pbm [fontsize color]} -\key{TGIF language} {set term tgif} - -HP Devices - -\key{HP2623A and maybe others} {set term hp2623A} -\key{HP2648 and HP2647} {set term hp2648} -\key{HP7580, \& probably other HPs (4 pens)} {set term hp7580B} -\key{HP7475 \& lots of others (6 pens)} {set term hpgl} -\key{HP Laserjet series II \& clones} {set term hpljii [75 100 150 300]} -\key{HP DeskJet 500} {set term hpdj [75 100 150 300]} -\key{HP PaintJet \& HP3630 } - {set term hppj [FNT5X9 FNT9X17 FNT13x25]} -\key{HP laserjet III ( HPGL plot vectors)} - {set term pcl5 [mode font fontsize ]} - -TeX picture environments - -\key{LaTeX picture environment} {set term latex} -\key{EEPIC -- extended LaTeX picture } {set term eepic} -\key{LaTeX picture with emTeX specials} {set term emtex} -\key{PSTricks macros for TeX or LaTeX} {set term pstricks} -\key{TPIC specials for TeX or LaTeX} {set term tpic} -\key{MetaFont font generation input} {set term mf} - -Saving and restoring terminal - -\key{restore default or pushed terminal} {set term pop} -\key{save (push) current terminal} {set term push} - -Commands associated to interactive terminals - -\key{change mouse settings} {set mouse} -\key{change hotkey bindings} {bind} - -\endindentedkeys - - -\section{Files} - -\key{{\bf plot} a data file}{plot `fspec'} -\key{{\bf load} in a macro file}{load `fspec'} -\key{{\bf save} command buffer to a macro file}{save `fspec'} -\key{{\bf save settings} for later reuse}{save set `fpec'} - -\section{PLOT \& SPLOT commands} - - -{\bf plot} and {\bf splot} are the primary commands -{\bf plot} is used to plot 2-d -functions and data, while {\bf splot} plots 3-d surfaces and data. - -Syntax: - - plot $\{$ranges$\}$ $<$function$> \{$title$\} \{$style$\}$ - $\{, <$function$> \{$title$\} \{$style$\}...\}$ - - splot $\{$ranges$\} <$function$> \{$title$\} \{$style$\}$ - $\{, <$function$> \{$title$\} \{$style$\}...\}$ - -where $<$function$>$ is either a mathematical expression, the name of a -data file enclosed in quotes, or a pair ({\bf plot}) or triple ({\bf splot}) -of mathematical expressions in the case of parametric functions. -User-defined functions and variables may also be defined here. -Examples will be given below. - -\section{Plotting Data} -Discrete data contained in a file can displayed by specifying the -name of the data file (enclosed in quotes) on the {\bf plot} or {\bf splot} -command line. Data files should contain one data point per line. -Lines beginning with \# (or ! on VMS) will be treated as comments -and ignored. For {\bf plot}s, each data point represents an (x,y) -pair. For {\bf splot}s, each point is an (x,y,z) triple. For {\bf plot}s with -error bars (see {\bf plot errorbars}), each data point is either -(x,y,ydelta), (x,y,ylow,yhigh), (x,y,xlow,xhigh), (x,y,xdelta,ydelta), or -(x,y,xlow,xhigh,ylow,yhigh). In all cases, the numbers on each -line of a data file must be separated by blank space. This blank -space divides each line into columns. - -For {\bf plot}s the x value may be omitted, and for {\bf splot}s the x -and y values may be omitted. In either case the omitted values are -assigned the current coordinate number. Coordinate numbers start at 0 -and are incremented for each data point read. - -\section{Surface Plotting} -Implicitly, there are two types of 3-d datafiles. If all the isolines -are of the same length, the data is assumed to be a grid data, i.e., -the data has a grid topology. Cross isolines in the other parametric -direction (the ith cross isoline passes thru the ith point of all the -provided isolines) will also be drawn for grid data. (Note contouring -is available for grid data only.) If all the isolines are not of the -same length, no cross isolines will be drawn and contouring that data -is impossible. - -\section{Using Pipes} - -On some computer systems with a popen function (Unix, plus some -others), the datafile can be piped through a shell command by starting -the file name with a '$<$'. For example: - - pop(x) = 103*exp(x/10) - plot "$<$ awk '$\{$ print \$1-1965 \$2 $\}$' population.dat", pop(x) - -would plot the same information as the first population example -but with years since 1965 as the x axis. Simple manipulations -of this kind can also be done using the extended capabilties of {\bf using} - -Similarly, output can be piped to another application, e.g. - - set out "$|$lpr -Pmy\_laser\_printer" - -\section{Plot Data Using} -The format of data within a file can be selected with the {\bf using} -option. An explicit scanf string can be used, or simpler column -choices can be made. - -\key{plot "datafile"}{ $\{$ using $\{ <$ycol$> |$} -\key{}{$<$xcol$>:<$ycol$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$ydelta$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$width$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$xdelta$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$ylo$>:<$yhi$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$xlo$>:<$xhi$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$xdelta$>:<$ydelta$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$ydelta$>:<$width$> |$} -\key{}{$<$xcol$>:<$ycol$>:<$ylo$>:<$yhi$>:<$width$> |$} -\key{}{$<$xc$>:<$yc$>:<$xlo$>:<$xhi$>:<$ylo$>:<$yhi$> \}$} -\key{}{$\{$"<scanf string>"$\} \} ...$} - -\key{splot "datafile"} -{$\{$ using $\{ <$xcol$>:<$ycol$>:<$zcol$> \}$} -\key{}{$\{"<$scanf string$>"\} \} ...$} - -$<$xcol$>$, $<$ycol$>$, and $<$zcol$>$ explicitly select the columns -to plot from a space or tab separated multicolumn data file. If only -$<$ycol$>$ is selected for {\bf plot}, $<$xcol$>$ defaults to 1. If -only $<$zcol$>$ is selected for {\bf splot}, then only that column is -read from the file. An $<$xcol$>$ of 0 forces $<$ycol$>$ to be plotted -versus its coordinate number. $<$xcol$>$, $<$ycol$>$, and $<$zcol$>$ -can be entered as constants or expressions. Expressions enclosed in -parentheses can be used to compute a column data value from all -numbers in the input record. - -If errorbars (see also {\bf plot errorbars}) are used for {\bf plot}s, -xdelta or ydelta (for example, a +/- error) should be provided as the -third column, or (x,y)low and (x,y)high as third and fourth columns. -These columns must follow the x and y columns. If errorbars in both -directions are wanted then xdelta and ydelta should be in the third -and fourth columns, respectively, or xlow, xhigh, ylow, yhigh should -be in the third, fourth, fifth, and sixth columns, respectively. - -Scanf strings override any $<$xcol$>$:$<$ycol$>$(:$<$zcol$>$) choices, -except for ordering of input, e.g., - -\key{plot "datafile"}{ using 2:1 "\%f\%*f\%f"} - -causes the first column to be y and the third column to be x. - -If the scanf string is omitted, the default is generated based on the -$<$xcol$>$:$<$ycol$>$(:$<$zcol$>$) choices. If the {\bf using} option -is omitted, ''\%f\%f'' is used for {\bf plot} (''\%f\%f\%f\%f'' or -''\%f\%f\%f\%f\%f\%f'' for {\bf errorbar} {\bf plot}s) and -''\%f\%f\%f'' is used for {\bf splot}. - -\key{plot "MyData"} {using "\%*f\%f\%*20[^$\backslash$n]\%f" w lines} - -Data are read from the file ``MyData'' using the format -''\%*f\%f\%*20[^$\backslash$n]\%f''. The meaning of this format is: -''\%*f'' ignore the first number, ''\%f'' then read in the second and -assign to x, ''\%*20[^$\backslash$n]'' then ignore 20 non-newline -characters, ''\%f'' then read in the y value. - -\section{Plot With Errorbars} -Error bars are supported for 2-d data file plots by reading one to -four additional columns specifying ydelta, ylow and yhigh, xdelta, -xlow and xhigh, xdelta and ydelta, or xlow, xhigh, ylow, and yhigh -respectively. No support exists for error bars for {\bf splot}s. - -In the default situation, gnuplot expects to see three to six -numbers on each line of the data file, either (x, y, ydelta), -(x, y, ylow, yhigh), (x, y, xdelta), (x, y, xlow, xhigh), -(x, y, xdelta, ydelta), or (x, y, xlow, xhigh, ylow, yhigh). The x -coordinate must be specified. The order of the numbers must be exactly -as given above. Data files in this format can easily be plotted with error -bars: - - plot "data.dat" with errorbars (or yerrorbars) - - plot "data.dat" with xerrorbars - - plot "data.dat" with xyerrorbars - -The error bar is a line plotted from (x, ylow) to (x, -yhigh) or (xlow, y) to (xhigh, y). If ydelta is specified instead -of ylow and yhigh, ylow=y-ydelta and yhigh=y+ydelta are derived. The -values for xlow and xhigh are derived similarly from xdelta. If there -are only two numbers on the line, yhigh and ylow are both set to -y and xhigh and xlow are both set to x. To get lines plotted between -the data points, {\bf plot} the data file twice, once with errorbars and -once with lines. - -If x or y autoscaling is on, the x or y range will be adjusted to fit the -error bars. - -Boxes may be drawn with y error bars using the {\bf boxerrorbars} style. The -width of the box may be either set with the "set boxwidth" command, given in -one of the data columns, or calculated automatically so each box touches the -adjacent boxes. -Boxes may be drawn instead of the cross drawn for the {\bf xyerrorbars} style -by using the {\bf boxxyerrorbars} style. - -\key{x,y,ylow \& yhigh from columns 1,2,3,4}{plot "data.dat" us 1:2:3:4 w errorbars} -\key{x from third, y from second, xdelta from 6}{plot "data.dat" using 3:2:6 w xerrorbars} -\key{x,y,xdelta \& ydelta from columns 1,2,3,4}{plot "data.dat" us 1:2:3:4 w -xyerrorbars} - -\section{Plot Ranges} -The optional range specifies the region of the plot that will be -displayed. - -Ranges may be provided on the {\bf plot} and {\bf splot} command line and -affect only that plot, or in the {\bf set xrange}, {\bf set yrange}, etc., -commands, to change the default ranges for future plots. - -\key{[$\{<$dummy-var$> =\} \{<$xmin$> : <$xmax$>\}$]} { $\{$ [$\{<$ymin$> : <$ymax$>\}$] $\}$} - -where $<$dummy-var$>$ is the independent variable (the defaults are x and -y, but this may be changed with {\bf set dummy}) and the min and max -terms can be constant expressions. - -Both the min and max terms are optional. The ':' is also optional -if neither a min nor a max term is specified. This allows '[ ]' to -be used as a null range specification. - -Specifying a range in the {\bf plot} command line turns autoscaling for -that axis off for that plot. Using one of the {\bf set} range commands -turns autoscaling off for that axis for future plots, unless changed -later. (See {\bf set autoscale}). - -\key{This uses the current ranges}{plot cos(x)} -\key{This sets the x range only}{plot [-10:30] sin(pi*x)/(pi*x)} -\key{This sets both the x and y ranges}{plot [-pi:pi] [-3:3] tan(x), 1/x} -\key{sets only y range, \&} {plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)} -\key{turns off autoscaling on both axes}{} -\key{This sets xmax and ymin only}{plot [:200] [-pi:] exp(sin(x))} -\key{This sets the x, y, and z ranges}{splot [0:3] [1:4] [-1:1] x*y} - -\section{Plot With Style} -Plots may be displayed in one of twelve styles: {\bf lines}, {\bf points}, -{\bf linespoints}, {\bf impulses}, {\bf dots}, {\bf steps}, -{\bf errorbars} (or {\bf yerrorbars}), {\bf xerrorbars}, {\bf xyerrorbars}, -{\bf boxes}, {\bf boxerrorbars}, or {\bf boxxyerrorbars}. The {\bf lines} style -connects adjacent points with lines. The {\bf points} style displays a -small symbol at each point. The {\bf linespoints} style does both -{\bf lines} and {\bf points}. The {\bf impulses} style displays a vertical line -from the x axis (or from the grid base for {\bf splot}) to each point. The -{\bf dots} style plots a tiny dot at each point; this is useful for -scatter plots with many points. The {\bf steps} style is used for drawing -stairstep-like functions. The {\bf boxes} style may be used for barcharts. - -The {\bf errorbars} style is only relevant to 2-d data file plotting. It -is treated like {\bf points} for {\bf splot}s and function {\bf plot}s. For -data -{\bf plot}s, {\bf errorbars} is like {\bf points}, except that a vertical error -bar is also drawn: for each point (x,y), a line is drawn from -(x,ylow) to (x,yhigh). A tic mark is placed at the ends of the error -bar. The ylow and yhigh values are read from the data file's columns, -as specified with the {\bf using} option to plot. The {\bf xerrorbars} -style is similar except that it draws a horizontal error bar from xlow to -xhigh. The {\bf xyerrorbars} or {\bf boxxyerrorbars} style is used for data -with errors in both x and y. A barchart style may be used in conjunction with y -error bars through the use of {\bf boxerrorbars}. The See {\bf plot errorbars} -for more information. - -Default styles are chosen with the {\bf set function style} and -{\bf set data style} commands. - -By default, each function and data file will use a different -line type and point type, up to the maximum number of available -types. All terminal drivers support at least six different point -types, and re-use them, in order, if more than six are required. -The LaTeX driver supplies an additional six point types (all variants -of a circle), and thus will only repeat after twelve curves are -plotted with points. - -If desired, the style and (optionally) the line type and point type -used for a curve can be specified. - -\key{with $<$style$>$}{$ \{<$linetype$> \{<$pointtype$>\}\}$} - -where $<$style$>$ is either {\bf lines}, {\bf points}, {\bf linespoints}, {\bf impulses}, -{\bf dots}, {\bf steps}, {\bf errorbars} (or {\bf yerrorbars}), -{\bf xerrorbars}, {\bf xyerrorbars}, {\bf boxes}, {\bf boxerrorbars}, -{\bf boxxyerrorbars}. - -The $<$linetype$>$ \& $<$pointtype$>$ are positive -integer constants or expressions and specify the line type and point -type to be used for the plot. Line type 1 is the first line type used -by default, line type 2 is the second line type used by default, etc. - -\key{plots sin(x) with impulses}{plot sin(x) with impulses} -\key{plots x*y with points, x**2 + y**2 default}{splot x*y w points, x**2 + y**2} -\key{plots tan(x) with default function style} - {plot [ ] [-2:5] tan(x)} -\key{plots ``data.1'' with lines}{plot "data.1" with l} -\key{plots ``leastsq.dat'' with impulses} {plot 'leastsq.dat' w i} -\key{plots ``exper.dat'' with errorbars \& } -{plot 'exper.dat' w l, 'exper.dat' w err} -\key{ lines connecting points}{} - -Here 'exper.dat' should have three or four data columns. - -\key{plots x**2 + y**2 and x**2 - y**2 with the same line type} -{splot x**2 + y**2 w l 1, x**2 - y**2 w l 1} -\key{plots sin(x) and cos(x) with linespoints, using} - {plot sin(x) w linesp 1 3, \\} -\key{ the same line type but different point types}{ cos(x) w linesp 1 4} -\key{plots file ``data'' with points style 3} -{plot "data" with points 1 3} - -Note that the line style must be specified when specifying the point -style, even when it is irrelevant. Here the line style is 1 and the -point style is 3, and the line style is irrelevant. - -See {\bf set style} to change the default styles. - -\section{Plot Title} - -A title of each plot appears in the key. By default the title is -the function or file name as it appears on the plot command line. -The title can be changed by using the {\bf title} option. This option -should precede any {\bf with} option. - -\key{ title "$<$title$>$"}{} - -where $<$title$>$ is the new title of the plot and must be enclosed in -quotes. The quotes will not be shown in the key. - -\key{plots y=x with the title 'x'} {plot x} -\key{plots the ``glass.dat'' file} -{splot "glass.dat" tit 'revolution surface'} -\key{with the title 'revolution surface'}{} -\key{plots x squared with title ``x^2'' and ``data.1''} - {plot x**2 t "x^2", \\} -\key{ with title 'measured data'}{ "data.1" t 'measured data'} - -\section{Set-Show Commands} - -All commands below begin with either {\bf set} or {\bf unset}, and -usually their state can be shown by passing their name to the {\bf - show} command. - -\beginindentedkeys -\key{unit any angles are given in}{angles [degrees|radians]} -\key{arrows from point to}{arrow [<tag>][from <sx>,<sy>,<sz>]} -\key{}{ [to <ex>,<ey>,<ez>][head|nohead|heads]} -\key{force autoscaling of an axis}{autoscale [<axes>]} -\key{enter/exit parametric mode} {parametric} -\key{display border}{border [<choice>] [<style>]} -\key{clip points/line near boundaries}{clip <clip-type>} -\key{specify parameters for contour plots}{cntrparam -[spline][points][order][levels]} -\key{enable splot contour plots}{contour [base|surface|both]} -\key{default plotting style for data}{data style <style-choice>} -\key{specify dummy variable}{dummy <dummy1>,<dummy2>...} -\key{tic-mark label format specification}{format -[<axes>]["format-string"]} -\key{function plotting style}{function style <style-choice>} -\key{draw a grid at tick positions}{grid [<which tics>...] [<linestyle>]} -\key{enables hiddenline removal}{hidden3d [\dots]} -\key{specify number of isolines}{isosamples <n1>[,<n2>]} -\key{enables key of curves in plot}{key [\dots]} -\key{logscaling of axes (optionally giving base)}{logscale <axes> [<base>]} -\key{mapping 3D coordinates}{mapping [cartesian|spherical|cylindrical]} -\key{offsets from center of graph}{offsets <left>,<right>,<top>,<bottom>} -\key{color-mapped plotting modes}{pm3d [\dots]} -\key{mapping 2D coordinates}{polar} -\key{set radial range}{rrange [<rmin>:<rmax>]} -\key{set sampling rate of functions}{samples <expression>} -\key{set scaling factors of plot}{size <xsize>,<ysize>} -\key{control display of isolines of surface}{surface} -\key{control graphics device}{terminal <device>} -\key{change direction of tics}{tics <direction>} -\key{adjust relative height of vertical axis}{ticslevel <level>} -\key{adjust size of tick marks}{ticscale [<size>]} -\key{turn on time/date stamp}{time} -\key{set centered plot title}{title "title-text" <xoff>,<yoff>} -\key{set parametric range}{trange [<tmin>:<tmax>]} -\key{set surface parametric ranges}{urange or vrange} -\key{sets the view point for {\bf splot}}{view -<rot_x>,<rot_z>,<scale>,<scale_z>} -\key{sets the top view (map) for {\bf splot}}{view map} -\key{sets x-axis label}{xlabel "<label>" <xoff>,<yoff>} -\key{set horizontal range}{xrange [<xmin>:<xmax>]} -\key{change horizontal tics}{xtics <start>,<incr>,<end>,} -\key{}{"<label>" <pos> } -\key{adjust number of minor tick marks}{mxtics OR mytics [<freq>]} -\key{draw x-axis}{xzeroaxis} -\key{sets y-axis label}{ylabel "<label>" <xoff>,<yoff>} -\key{set vertical range}{yrange [<ymin>:<ymax>]} -\key{change vertical tics}{ytics <start>,<incr>,<end>,} -\key{}{"<label>" <pos> } -\key{draw y-axis}{yzeroaxis} -\key{set default threshold for values near 0}{zero <expression>} -\key{draw axes}{zeroaxis} -\key{sets z-axis label}{zlabel "<label>" <xoff>,<yoff>} -\key{set vertical range}{zrange [<zmin>:<zmax>]} -\key{change vertical tics}{ztics <start>,<incr>,<end>,} -\key{}{"<label>" <pos> } -\key{draw z-axis}{zzeroaxis} -\endindentedkeys - -\section{Contour Plots} -Enable contour drawing for surfaces. This option is available for {\bf splot} -only. - -Syntax: - set contour $\{$ base $|$ surface $|$ both $\}$ - unset contour - -If no option is provided to {\bf set contour}, the default is {\bf base}. -The three options specify where to draw the contours: {\bf base} draws -the contours on the grid base where the x/ytics are placed, {\bf surface} -draws the contours on the surfaces themselves, and {\bf both} draws the -contours on both the base and the surface. - -See also {\bf set cntrparam} for the parameters that affect the drawing of -contours. - -\section{Contour Parameters} -Sets the different parameters for the contouring plot (see also {\bf contour}). - - \key{set cntrparam}{ $\{ \{$ linear $|$ cubicspline $|$ bspline $\} |$} -\key{}{points $<$n$>$ $|$ } -\key{}{order $<$n$>$ $|$ } -\key{}{levels \{ [ auto ] $<$n$>$ $|$ } -\key{}{discrete $<$z1$>$ $<$z2$>$ ... $|$ } -\key{}{incr $<$start$>$ $<$increment$>$ [ $<$n$>$ ] $\} \}$ } - -\key{5 automatic levels}{set cntrparam levels auto 5} -\key{3 discrete levels at 10\%, 37\% and 90\%} - {set cntrp levels discrete .1 1/exp(1) .9} -\key{5 incremental levels at 0, .1, .2, .3 and .4} - {set cntrparam levels incremental 0 .1 5 } -\key{sets n = 10 retaining current setting of auto, incr., or discr.} - {set cntrparam levels 10 } -\key{set start = 100 and increment = 50, retaining old n} - {set cntrparam levels incremental 100 50} - -This command controls the way contours are plotted. $<$n$>$ should be an -integral constant expression and $<$z1$>$, $<$z2$>$ any constant expressions. -The parameters are: - -{\bf linear}, {\bf cubicspline}, {\bf bspline} - Controls type of approximation or -interpolation. If {\bf linear}, then the contours are drawn piecewise -linear, as extracted from the surface directly. If {\bf cubicspline}, then -piecewise linear contours are interpolated to form a somewhat smoother -contours, but which may undulate. The third option is the uniform -{\bf bspline}, which only approximates the piecewise linear data but is -guaranteed to be smoother. - -{\bf points} - Eventually all drawings are done with piecewise linear -strokes. This number controls the number of points used to -approximate a curve. Relevant for {\bf cubicspline} and {\bf bspline} modes -only. - -{\bf order} - Order of the bspline approximation to be used. The bigger this -order is, the smoother the resulting contour. (Of course, higher order -bspline curves will move further away from the original piecewise linear -data.) This option is relevant for {\bf bspline} mode only. Allowed values are -integers in the range from 2 (linear) to 10. - -{\bf levels} - Number of contour levels, 'n'. Selection of the levels is -controlled by 'auto' (default), 'discrete', and 'incremental'. For 'auto', -if the surface is bounded by zmin and zmax then contours will be -generated from zmin+dz to zmax-dz in steps of size dz, where -dz = (zmax - zmin) / (levels + 1). For 'discrete', contours will be -generated at z = z1, z2 ... as specified. The number of discrete levels -is limited to MAX\_DISCRETE\_LEVELS, defined in plot.h to be 30. If -'incremental', contours are generated at $<$n$>$ values of z beginning at -$<$start$>$ and increasing by $<$increment$>$. - -\section{Specifying Labels} -Arbitrary labels can be placed on the plot using the {\bf set label} -command. If the z coordinate is given on a {\bf plot} it is ignored; if -it is missing on a {\bf splot} it is assumed to be 0. - -\key{set label $\{<$tag$>\} \{"<$label_text$>"\}$} -{$\{$at $<$x$>,<$y$>\{,<$z$>\}\}$} -\key{}{$\{<$justification$>\}$} -\key{unset label $\{<$tag$>\}$}{} -\key{show label}{} - -The text defaults to '''', and the position to 0,0,0. The $<$x$>$, $<$y$>$, and -$<$z$>$ values are in the graph's coordinate system. The tag is an -integer that is used to identify the label. If no $<$tag$>$ is given, the -lowest unused tag value is assigned automatically. The tag can be used -to delete or change a specific label. To change any attribute of an -existing label, use the {\bf set label} command with the appropriate tag, -and specify the parts of the label to be changed. - -By default, the text is placed flush left against the point x,y,z. -To adjust the way the label is positioned with respect to the point -x,y,z, add the parameter $<$justification$>$, which may be {\bf left}, {\bf right} -or {\bf center}, indicating that the point is to be at the left, right or -center of the text. Labels outside the plotted boundaries are -permitted but may interfere with axes labels or other text. - -\key{label at (1,2) to ``y=x'' }{set label "y=x" at 1,2} -\key{label ``y=x^2'' w right of the text at (2,3,4), } -{set label 3 "y=x^2" at 2,3,4 right} -\key{\& tag the label number 3 }{} -\key{change preceding label to center justification}{set label 3 center} -\key{delete label number 2 }{unset label 2} -\key{delete all labels}{unset label} -\key{show all labels (in tag order)}{show label} - -(The EEPIC, Imagen, LaTeX, and TPIC drivers allow $\backslash$$\backslash$ -in a string to specify a newline.) - -\section{Miscellaneous Commands} - -For further information on these commands, print out a copy -of the gnuplot manual. - -\key{change working directory}{cd} -\key{erase current screen or device}{clear} -\key{exit gnuplot}{exit or quit or EOF} -\key{display text and wait}{pause <time> ["<string>"]} -\key{print the value of $<$expression$>$}{print <expression>} -\key{print working directory}{pwd} -\key{repeat last {\bf plot} or {\bf splot}}{replot} -\key{spawn an interactive shell}{! (UNIX) or \$ (VMS)} - -\section{Environment Variables} - -A number of shell environment variables are understood by gnuplot. -None of these are required, but may be useful. -See 'help environment' for the complete description. - -If GNUTERM is defined, it is used as the name of the terminal type to -be used. This overrides any terminal type sensed by gnuplot on start -up, but is itself overridden by the .gnuplot (or equivalent) start-up -file (see {\bf start-up}), and of course by later explicit changes. - -On Unix, OS/2, and MS-DOS, GNUHELP may be defined to be the pathname -of the HELP file (gnuplot.gih). - -On VMS, the symbol GNUPLOT\$HELP should be defined as the name of -the help library for gnuplot. - -On Unix, HOME is used as the name of a directory to search for -a .gnuplot file if none is found in the current directory. -On OS/2 and MS-DOS, GNUPLOT is used to search for gnuplot.ini file. -On VMS, SYS\$LOGIN: is used. See 'help start-up'. - -GNUPLOT\_LIB may be used to define additional search directories for -data and command (script) files. - -On Unix, PAGER is used as an output filter for help messages. - -GDFONTPATH is the directory where png terminal searches TrueType fonts, -i.e.~files like arial.ttf. -GNUPLOT\_FONTPATH is that for the postscript terminal. - -On Unix, SHELL is used for the {\bf shell} command. On MS-DOS, -COMSPEC is used for the {\bf shell} command. - -On MS-DOS, if the BGI interface is used, the variable {\bf BGI} is used to point -to the full path to the BGI drivers directory. Furthermore SVGA is used to -name the Super VGA BGI driver in 800x600 res., and its mode of operation -as 'Name.Mode'. -For example, if the Super VGA driver is -C:$\backslash$TC$\backslash$BGI$\backslash$SVGADRV.BGI -and mode 3 is used for 800x600 res., then: -'set BGI=C:$\backslash$TC$\backslash$BGI' and 'set SVGA=SVGADRV.3'. - -GNUFITLOG holds the name of a directory or a file that saves fit results. - - -\section{Expressions} -In general, any mathematical expression accepted by C, FORTRAN, -Pascal, or BASIC is valid. The precedence of these operators is -determined by the specifications of the C programming language. -White space (spaces and tabs) is ignored inside expressions. - -Complex constants may be expressed as $\{<$real$>,<$imag$>\}$, where -$<$real$>$ and $<$imag$>$ must be numerical constants. For example, -$\{3,2\}$ represents 3 + 2{\bf i} and $\{0,1\}$ represents {\bf i} -itself. The curly braces are explicitly required here. -\section{Functions} -The functions in gnuplot are the same as the corresponding functions -in the Unix math library, except that all functions accept integer, -real, and complex arguments, unless otherwise noted. The {\bf sgn} -function is also supported, as in BASIC. - -%\begin{center} -%\begin{tabular}{|ccl|} \hline -{ -\catcode`\^=7 -\catcode`\_=8 -\def\ff#1{\hbox{\rm #1}\,} -\def\fff#1{\hbox{\rm #1}\,} -\def\sin{\ff{sin}} -\def\cos{\ff{cos}} -\def\tan{\ff{tan}} -\def\sinh{\ff{sinh}} -\def\cosh{\ff{cosh}} -\def\tanh{\ff{tanh}} -\def\log{\fff{log}} - -\settabs 5\columns -\+Function & Arguments & Returns \cr -\hrule%\hline -\+ abs(x) & any & absolute value of {\tt x}, $|x|$; same type \cr -\+ abs(x) & complex & length of {\tt x}, $\sqrt{{\hbox{real}(x)^{2} + -\hbox{imag}(x)^{2}}}$ \cr -\+ acos(x) & any & $\cos^{-1} x$ (inverse cosine) in radians \cr -\+ arg(x) & complex & the phase of $x$ in radians\cr -\+ asin(x) & any & $\sin^{-1} x$ (inverse sin) in radians \cr -\+ atan(x) & any & $\tan^{-1} x$ (inverse tangent) in radians \cr -\+ besj0(x) & radians & $j_{0}$ Bessel function of $x$ \cr -\+ besj1(x) & radians & $j_{1}$ Bessel function of $x$ \cr -\+ besy0(x) & radians & $y_{0}$ Bessel function of $x$ \cr -\+ besy1(x) & radians & $y_{1}$ Bessel function of $x$ \cr -\+ ceil(x) & any & $\lceil x \rceil$, smallest integer not less than $x$ -(real part) \cr -\+ cos(x) & radians & $\cos x$, cosine of $x$ \cr -\+ cosh(x) & radians & $\cosh x$, hyperbolic cosine of $x$ \cr -\+ erf(x) & any & $\hbox{Erf}(\hbox{real}(x))$, error function of real($x$) \cr -\+ erfc(x) & any & $\hbox{Erfc}(\hbox{real}(x))$, 1.0 $-$ error function of real($x$) \cr -\+ exp(x) & any & $e^{x}$, exponential function of $x$ \cr -\+ floor(x) & any & $\lfloor x \rfloor$, largest integer not greater -than $x$ (real part) \cr -\+ gamma(x) & any & $\hbox{Gamma}(\hbox{real}(x))$, gamma function of real($x$) \cr -\+ ibeta(p,q,x) & any & $\hbox{Ibeta}(\hbox{real}(p,q,x))$, ibeta function of real($p$,$q$,$x$) \cr -\+ igamma(a,x) & any & $\hbox{Igamma}(\hbox{real}(a,x))$, igamma function of real($a$,$x$) \cr -\+ imag(x) & complex & imaginary part of $x$ as a real number \cr -\+ int(x) & real & integer part of $x$, truncated toward zero \cr -\+ lgamma(x) & any & $\hbox{Lgamma}(\hbox{real}(x))$, lgamma function of real($x$) \cr -\+ log(x) & any & $\log_{e} x$, natural logarithm (base $e$) of $x$ \cr -\+ log10(x) & any & $\log_{10} x$, logarithm (base $10$) of $x$ \cr -\+ rand(x) & any & $\hbox{Rand}(\hbox{real}(x))$, pseudo random number generator \cr -\+ real(x) & any & real part of $x$ \cr -\+ sgn(x) & any & 1 if $x>0$, -1 if $x<0$, 0 if $x=0$. imag($x$) ignored \cr -\+ sin(x) & radians & $\sin x$, sine of $x$ \cr -\+ sinh(x) & radians & $\sinh x$, hyperbolic sine $x$ \cr -\+ sqrt(x) & any & $\sqrt{x}$, square root of $x$ \cr -\+ tan(x) & radians & $\tan x$, tangent of $x$ \cr -\+ tanh(x) & radians & $\tanh x$, hyperbolic tangent of $x$\cr -\hrule % \hline -} - -%\end{tabular} -%\end{center} - -\section{Operators} -The operators in gnuplot are the same as the corresponding operators -in the C programming language, except that all operators accept -integer, real, and complex arguments, unless otherwise noted. -The ** operator (exponentiation) is supported, as in FORTRAN. - -Parentheses may be used to change order of evaluation. - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\bye -\subsubsection{Binary} -The following is a list of all the binary operators and their -usages: - - -\begin{center} -\begin{tabular}{|ccl|} \hline -\multicolumn{3}{|c|}{Binary Operators} \\ -Symbol & Example & Explanation \\ \hline -\verb~**~ & \verb~a**b~ & exponentiation\\ -\verb~*~ & \verb~a*b~ & multiplication\\ -\verb~/~ & \verb~a/b~ & division\\ -\verb~%~ & \verb~a%b~ & * modulo\\ -\verb~+~ & \verb~a+b~ & addition\\ -\verb~-~ & \verb~a-b~ & subtraction\\ -\verb~==~ & \verb~a==b~ & equality\\ -\verb~!=~ & \verb~a!=b~ & inequality\\ -\verb~&~ & \verb~a&b~ & * bitwise AND\\ -\verb~^~ & \verb~a^b~ & * bitwise exclusive OR\\ -\verb~|~ & \verb~a|b~ & * bitwise inclusive OR\\ -\verb~&&~ & \verb~a&&b~ & * logical AND\\ -\verb~||~ & \verb~a||b~ & * logical OR\\ -\verb~?:~ & \verb~a?b:c~ & * ternary operation\\ -\hline -\end{tabular} -\end{center} -(*) Starred explanations indicate that the operator requires -integer arguments. - -Logical AND (\&\&) and OR ($|$$|$) short-circuit the way they do in C. -That is, the second \&\& operand is not evaluated if the first is -false; the second $|$$|$ operand is not evaluated if the first is true. - -The ternary operator evaluates its first argument (a). If it is -true (non-zero) the second argument (b) is evaluated and returned, -otherwise the third argument (c) is evaluated and returned. -\subsubsection{Unary} -The following is a list of all the unary operators and their -usages: - - -\begin{center} -\begin{tabular}{|ccl|} \hline -\multicolumn{3}{|c|}{Unary Operators}\\ -Symbol & Example & Explanation \\ \hline -\verb@-@ & \verb@-a@ & unary minus \\ -\verb@~@ & \verb@~a@ & * one's complement \\ -\verb@!@ & \verb@!a@ & * logical negation \\ -\verb@!@ & \verb@a!@ & * factorial \\ -\hline -\end{tabular} -\end{center} -(*) Starred explanations indicate that the operator requires an -integer argument. - -The factorial operator returns a real number to allow a greater range. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 diff --git a/docs/plotstyles.gnu b/docs/plotstyles.gnu index 31b3e2e8c..e510e86c1 100644 --- a/docs/plotstyles.gnu +++ b/docs/plotstyles.gnu @@ -222,6 +222,48 @@ unset xtics; unset ytics plot 'ellipses.dat' u 1:2:3:4:5 with ellipses units xy title "with ellipses",\ '' u 1:2:3:4:5 with ellipses units xx notitle,\ '' u 1:2:3:4:5 with ellipses units yy notitle +reset + + +######################################################### +# annular sector definition for "with sectors" +######################################################### +# +set output out . 'figure_sector_definition' . ext +set title 'A single annular sector in plot style "with sectors"' offset -2,-1 + +set polar +set angles degree +set theta top cw +set xrange [-3:10] +set yrange [-3:10] +set size ratio -1 +unset border +set lmargin 8 +unset raxis +unset tics +unset key + +array data[1] + +set arrow 1 from 6,0 to 9,0 +set arrow 1 heads size screen 0.015, 30, 90 filled front lw 1 lc rgb "gray30" +set arrow 2 from polar 28, 9.7 to polar 62, 9.7 +set arrow 2 heads size screen 0.015, 30, 90 filled front lw 1 lc rgb "gray30" + +plot \ + data using (-30):(6):(300):(3) with sectors lc rgb "gray80" lw 1,\ + data using (20):(0):(50):(6) with sectors lc rgb "gray80" lw 1,\ + data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border,\ + data using (20):(0):(50):(1) with sectors lc rgb "gray30" lw 1,\ + data using (20):(6) with points pt 7 ps 1 lc rgb "gray30", \ + data using (0):(0) with points pt 7 ps 1 lc rgb "gray30", \ + data using (0):(0):("(center_x, center_y)") with labels offset 0,-1 noenhanced, \ + data using (45):(10.):("sector_angle") with labels center noenhanced rotate by -45, \ + data using (90):(7.5):("annular_width") with labels offset 0,1.0 noenhanced, \ + data using (20):(6):("corner\n(azimuth, radius)") with labels offset -2,-1 right + +reset # # Following example plots will be set in colour mode for pdf output @@ -259,11 +301,103 @@ set x2tics 0,1 set ytics 0,1 set palette rgbformula -3,-3,-3 plot $HEATMAP matrix with image pixels +reset + +######################################################### +# polar heatmap positioned in cartesian coordinate +# system. Note that the two halves of the plot +# displaced by shifting the center to x = +/- 0.5. +######################################################### +# +set output out . 'figure_sector_heatmap' . ext +set title "Polar heatmap composed of sectors "\ + ."positioned on a cartesian x/y plane" +set title offset 0,-1 + +rmax = 10 +dr = 0.5 +tmax = 180 +dt = 10 + +f(t,r) = r*cos(t+20*r)**2 + +set angle degrees +set theta top cw +set xrange [-(rmax+2):(rmax+2)] +set yrange [-(rmax+2):(rmax+2)] +set size ratio -1 +set bmargin 0 +set tmargin 2 +unset border +unset tics +unset key + +set palette viridis +set colorbox user size 0.05, 0.6 origin 0.85,0.15 +set cbtics + +set table $data +splot sample [t=0:tmax-dt:dt] [r=0:rmax-dr:dr] "++" using (t):(r):(0) +unset table + +plot $data using 1:2:(dt):(dr):(0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid, \ + $data using (-$1):2:(-dt):(dr):(-0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid +reset + +######################################################### +# Windrose (histgram on polar axis) +######################################################### + +set output out . 'figure_windrose' . ext +set title "Wind rose\n (polar coordinate histogram using sectors)" offset 0,-2 + +$data <<EOD +# DIRECTION INDEX COUNT +N 1 10 +NNE 2 15 +NE 3 21 +ENE 4 24 +E 5 19 +ESE 6 12 +SE 7 8 +SSE 8 4 +S 9 2 +SSW 10 4 +SW 11 7 +WSW 12 10 +W 13 11 +WNW 14 9 +NW 15 5 +NNW 16 7 +EOD + +stats $data using 2:3 nooutput + +set polar +set angle degrees +set theta top cw + +set xrange [-0.2:0.2] +set yrange [-0.2:0.2] +set size ratio -1 + +unset border +unset key +unset raxis +unset tics +set margins -1,-1,0,1 + +array dummy[1] +plot $data using (22.5*($2-1-0.5)):(0.01):(22.5):($3/STATS_sum_y) with sectors \ + fc rgb "blue" fill solid 0.5 border lc bgnd, \ + for [k=0:15:5] dummy using (0):(0.01):(361):(k/100.0) with sectors lc rgb "gray30" lw 0.5 dt "." + +reset + # # 3D Plot styles # ============== # -reset set view 69, 200, 1.18, 0.82 set view 69, 200, 1.18, 1.00 set bmargin at screen 0.3 @@ -537,33 +671,6 @@ $data3<<EOD 5 50 EOD -if (winhelp != 0) { -set output out . 'figure_missing' . ext - -set xrange [0.1:5.9] -set yrange [1:55] -set xtics offset 0, graph .09 - -set multiplot layout 2,4 columnsfirst margins 0.15,.98,0.1,.98 spacing 0.1 -set ylabel "Old" -set label 1 at .5,45 "(a)" -plot $data1 w lp pt 7 notitle -set ylabel "New" -plot $data2 w lp pt 7 notitle -unset ylabel -set label 1 at .5,45 "(b)" -plot $data2 w lp pt 7 notitle -plot $data2 w lp pt 7 notitle -set label 1 at .5,45 "(c)" -plot $data2 w lp pt 7 notitle -plot $data3 w lp pt 7 notitle -set label 1 at .5,45 "(d)" -plot $data3 w lp pt 7 notitle -plot $data3 w lp pt 7 notitle - -unset multiplot -} - # # New syntax features # =================== @@ -743,8 +850,62 @@ set yrange [-30:30] plot for [i=0:1] 'hull.dat' index i with points ls (i+1), \ for [i=0:1] '' index i convexhull with filledcurve ls (i+1) -# Custom key placement +# +# concave hulls +# reset +set output out . 'figure_concave_hull_1' . ext + +if (!strstrt(GPVAL_COMPILE_OPTIONS, "+CHI_SHAPES")) { + clear + set output out . 'figure_concave_hull_2' . ext + clear +} else { + unset key + unset tics; unset border + set offsets graph 0, 0, graph 0.1, graph 0.1 + set style fill transparent solid 0.1 border + set style line 2 lc "forest-green" pt 7 ps 0.5 + set xrange [-30:30] + set yrange [-30:30] + + set title noenhanced offset 0, -2.0 + set multiplot layout 2,2 spacing 0 margins 0, 1, 0, 0.9 \ + title "concave hull" font ":Bold" + + chi_length = real("+Inf") + set title "chi_length = +Inf (convex hull)" + plot 'hull.dat' index 0 with points ls 2 notitle, \ + '' index 0 concavehull with filledcurve ls 2 \ + title sprintf("chi_length = %.1f", GPVAL_CHI_LENGTH) + chi_length = 25.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 20.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 16.; set title sprintf("chi_length = %.1f", chi_length) + replot + unset multiplot + + set output out . 'figure_concave_hull_2' . ext + set style fill transparent solid 0.1 noborder + set multiplot layout 2,2 spacing 0 margins 0, 1, 0, 0.9 \ + title "concave hull smooth path expand 3.0 " font ":Bold" + chi_length = real("+Inf") + set title "chi_length = +Inf (convex hull)" + plot 'hull.dat' index 0 with points ls 2 notitle, \ + '' index 0 concavehull smooth path expand 3.00 with filledcurve ls 2 \ + title sprintf("chi_length = %.1f", GPVAL_CHI_LENGTH) + chi_length = 25.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 20.; set title sprintf("chi_length = %.1f", chi_length) + replot + chi_length = 16.; set title sprintf("chi_length = %.1f", chi_length) + replot + unset multiplot + reset +} + +# Custom key placement set output out . 'figure_multiple_keys' . ext set xtics font ",6" offset 0,1 set label 1 font ",10" @@ -1084,6 +1245,19 @@ unset multiplot reset +# +# Use of colormap as a gradient +# +set output out.'figure_gradient' . ext +set palette defined (0 "beige", 1 "light-cyan") +set colormap new Gradient +set pixmap 1 colormap Gradient behind +set pixmap 1 at screen 0,0 size screen 1,1 +set title offset 0,-4 +set tmargin 1 +load 'running_avg.dem' +reset + # # watchpoint support might not be present # @@ -1119,7 +1293,7 @@ if (!strstrt(GPVAL_COMPILE_OPTIONS, "+POLARGRID")) { } else { set size square set angle degrees - unset border; unset tics; unset key + unset border; unset tics; unset key; set tmargin 0 unset colorbox set rrange [0:200] set rtics 50,50,200 diff --git a/docs/term-ja.diff b/docs/term-ja.diff index b050b1e05..ba6b98ceb 100644 --- a/docs/term-ja.diff +++ b/docs/term-ja.diff @@ -1,6 +1,6 @@ diff -ru term/ai.trm.ORG term/ai.trm ---- term/ai.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/ai.trm 2022-12-13 17:00:39.249750000 +0900 +--- term/ai.trm.ORG 2023-07-24 16:00:54.646975000 +0900 ++++ term/ai.trm 2023-07-24 16:03:18.283121000 +0900 @@ -526,6 +526,7 @@ #ifdef TERM_HELP @@ -33,8 +33,8 @@ diff -ru term/ai.trm.ORG term/ai.trm END_HELP(ai) #endif /* TERM_HELP */ diff -ru term/aquaterm.trm.ORG term/aquaterm.trm ---- term/aquaterm.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/aquaterm.trm 2022-12-13 17:00:39.251639000 +0900 +--- term/aquaterm.trm.ORG 2023-07-24 16:00:54.651829000 +0900 ++++ term/aquaterm.trm 2023-07-24 16:03:18.283712000 +0900 @@ -1047,6 +1047,7 @@ #ifdef TERM_HELP @@ -43,7 +43,7 @@ diff -ru term/aquaterm.trm.ORG term/aquaterm.trm "1 aqua", "?commands set terminal aqua", "?set terminal aqua", -@@ -1078,6 +1079,40 @@ +@@ -1077,6 +1078,39 @@ " Lines can be drawn either solid or dashed, (default is solid) and the dash", " spacing can be modified by <dashlength> which is a multiplier > 0.", "" @@ -55,8 +55,7 @@ diff -ru term/aquaterm.trm.ORG term/aquaterm.trm +"?terminal aqua", +"?term aqua", +"?aqua", -+"?Aqua", -+" νϷ Mac OS X ɽ˴ؤ AquaTerm.app ˰¸Ƥޤ", ++" νϷ MacOS ɽ˴ؤ AquaTerm.app ˰¸Ƥޤ", +"", +" :", +" set terminal aqua {<n>} {title \"<wintitle>\"} {size <x> <y>}", @@ -85,8 +84,8 @@ diff -ru term/aquaterm.trm.ORG term/aquaterm.trm #endif /* TERM_HELP */ diff -ru term/be.trm.ORG term/be.trm ---- term/be.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/be.trm 2022-12-13 17:00:39.265941000 +0900 +--- term/be.trm.ORG 2023-07-24 16:00:54.652957000 +0900 ++++ term/be.trm 2023-07-24 16:03:18.284298000 +0900 @@ -387,6 +387,7 @@ #ifdef TERM_HELP @@ -398,8 +397,8 @@ diff -ru term/be.trm.ORG term/be.trm END_HELP(be) #endif /* TERM_HELP */ diff -ru term/block.trm.ORG term/block.trm ---- term/block.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/block.trm 2022-12-13 17:00:39.266126000 +0900 +--- term/block.trm.ORG 2023-07-24 16:00:54.647920000 +0900 ++++ term/block.trm 2023-07-24 16:03:18.284933000 +0900 @@ -1370,6 +1370,7 @@ #ifdef TERM_HELP @@ -496,8 +495,8 @@ diff -ru term/block.trm.ORG term/block.trm END_HELP(block) #endif diff -ru term/caca.trm.ORG term/caca.trm ---- term/caca.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/caca.trm 2022-12-13 17:00:39.273008000 +0900 +--- term/caca.trm.ORG 2023-07-24 16:00:54.652599000 +0900 ++++ term/caca.trm 2023-07-24 16:03:18.286062000 +0900 @@ -1263,7 +1263,7 @@ if (CACA_charset == CACA_ASCII) symbol = (point <= -1) ? L'.' : point % 26 + 'A'; @@ -674,9 +673,9 @@ diff -ru term/caca.trm.ORG term/caca.trm #endif /* TERM_HELP */ diff -ru term/cairo.trm.ORG term/cairo.trm ---- term/cairo.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/cairo.trm 2022-12-13 17:00:39.277850000 +0900 -@@ -1511,6 +1511,7 @@ +--- term/cairo.trm.ORG 2023-07-24 16:00:54.653208000 +0900 ++++ term/cairo.trm 2023-07-24 16:04:21.770281000 +0900 +@@ -1586,6 +1586,7 @@ #ifdef TERM_HELP START_HELP(epscairo) @@ -684,7 +683,7 @@ diff -ru term/cairo.trm.ORG term/cairo.trm "1 epscairo", "?set terminal epscairo", "?terminal epscairo", -@@ -1522,11 +1523,26 @@ +@@ -1597,11 +1598,26 @@ "", " Please read the help for the `pdfcairo` terminal." "" @@ -711,7 +710,7 @@ diff -ru term/cairo.trm.ORG term/cairo.trm "1 cairolatex", "?set terminal cairolatex", "?terminal cairolatex", -@@ -1689,11 +1705,178 @@ +@@ -1764,11 +1780,178 @@ " by the `header` command. Thus, you can use `header` to overwrite some of", " settings performed using \"gnuplot.cfg\"", "" @@ -890,7 +889,7 @@ diff -ru term/cairo.trm.ORG term/cairo.trm "1 pdfcairo", "?set terminal pdfcairo", "?terminal pdfcairo", -@@ -1777,11 +1960,99 @@ +@@ -1845,11 +2028,94 @@ " so that gnuplot can draw a line from non-integer coordinates. This avoids", " wobbling effects on diagonal lines ('plot x' for example).", "" @@ -913,10 +912,8 @@ diff -ru term/cairo.trm.ORG term/cairo.trm +" {background <rgbcolor>", +" {size <XX>{unit},<YY>{unit}}", +"", -+" νϷϡĥʸ⡼ (enhanced text mode) 򥵥ݡȤ", -+" ƤơեȤ񼰥ޥ (ադʤ) ٥¾ʸ", -+" ळȤǤޤĥʸ⡼ɤν񼰤¾ gnuplot ν", -+" Ϸȶ̤Ǥܺ٤ϡʲ: `enhanced`", ++" νϷϡ٥䤽¾ʸ򡢥ǥեȤdzĥʸ", ++" (enhanced text mode) ǽޤʲ: `enhanced`", +"", +" ˤƤϡ`linewidth` ǻꤹ <lw> ѹǤ", +" ޤǥեȤ 0.5 ݥȤǤ(1 \"PostScript\" ݥ", @@ -927,34 +924,32 @@ diff -ru term/cairo.trm.ORG term/cairo.trm +"", +" PDF ϤΥǥեȤΥϡ5inch x 3inch Ǥץ `size` ", +" ϡ桼λꤹΤѹޤǥեȤ X, Y ", -+" ñ̤ϥǤ¾ñ̤ѲǽǤ (ߤ cm Τ)`size` ", -+" ץǻꤵ줿ȤˤüüޤǤΰϡ˥꡼", -+" ɸ 0.0 1.0 бޤ", -+"", -+" <font> ϡ\"FontFace,FontSize\" ν񼰡Ĥޤե̾ȥ", ++" ñ̤ϥǤ¾ñ̤ѲǽǤ (ߤ cm Τ)", ++" `font` ϡ\"FontFace,FontSize\" ν񼰡Ĥޤե̾ȥ", +" ޤǶڤäĤʸȤɽޤFontFace ϡ\'Arial\' ", +" 褦̾Υե̾Ǥե̾Ϳʤ硢pdfcairo Ϸ", +" Ǥ\'Sans\' ѤޤFontSize ϥݥñ̤ǤΥեȥ", +" Ǥꤷʤϡpdfcairo ϷǤ 12 ݥȥɸ", +" եȤѤޤνϷΥѥ᡼ fontscale", -+" ΥǥեȤ 0.5 ʤΤǡΥեȥϡPDF Ϥե륵", -+" Ǹ⾮ʤǤ礦", ++" ΥǥեȤ 0.5 ʤΤǡPDF Ϥե륵Ǹ硢Υ", ++" ȥϡܾ̾Υݥȥ⾮ʤǤ礦", ++"", +" :", +" set term pdfcairo font \"Arial,12\"", -+" set term pdfcairo font \"Arial\" # ե̾Τѹ", -+" set term pdfcairo font \",12\" # եȥΤѹ", ++" set term pdfcairo font \"Serif\" # ե̾Τѹ", ++" set term pdfcairo font \",14\" # եȥΤѹ", +" set term pdfcairo font \"\" # ե̾ȥꥻå", +"", +" եȤϡ̾ΥեȽˤޤWindows Ǥϡ", +" Ȥϥȥѥͥ \"ե\" ιܤǹ츫Ĥ", +" ΤǡUNIX ǤϡեȤ \"fontconfig\" ǽޤ", +"", -+" ʸΥ쥤Ȥ˻Ѥ饤֥ Pango ϡutf-8 ˴ŤƤ", -+" ޤΤǡpdfcairo ϷǤϡʸɤ utf-8 Ѵɬפ", -+" ޤǥեȤʸɤϡʤѤƤ \'locale\'", -+" ˴Ťޤ¾ʸɤˤϡʤɤʸɤ", -+" äƤΤμ¤ gnuplot 狼褦ˤƤܺ٤ˤĤ", -+" ϡʲ: `encoding`", ++" ʸνԤ饤֥ Pango ϡutf-8 ˴ŤƤΤǡɬ", ++" ʤ pdfcairo Ϸϡʤʸɤ utf-8 Ѵޤ", ++" ϤꤹʸɤϤʤѤƤ \'locale\' Τǡ", ++" ʤʸ󤬼ºݤˤϰ㤦ʸɤʤСʤɤʸɤ", ++" ȤäƤΤμ¤ gnuplot 狼褦ˤƤܺ٤ϰʲ", ++" : `encoding`", +"", +" pango ϡunicode ޥåԥ󥰤ǤʤեȤФƤͽ̷̤Ϳ", +" 뤫⤷ޤ㤨 Symbol եȤФƤϡpdfcairo Ϸ", @@ -972,13 +967,12 @@ diff -ru term/cairo.trm.ORG term/cairo.trm +" Symbol եȤʤȤʤ⤷ޤ\"windings\" Τ", +" ¾ɸΥեȤǤư뤳Ȥ𤵤Ƥޤ", +"", -+" Υ󥰤ϡΤȤѹǤޤ󡣽Ϥɤ뤿", -+" ˤΥ󥰤ϡꥢСץ󥰤 2 Ĥ", -+" äƤޤ", -+" ꥢϡʿľǤʤ餫ɽޤ", -+" Сץ󥰤ϡꥢȤǥԥ⾮", -+" Ǥ٤󶡤gnuplot ɸľ񤱤褦ˤʤޤ", -+" ϡгľ (㤨 'plot x') ɤΤ򤱤ޤ", ++" դΥ󥰤ϡꥢСץ󥰤 2 ", ++" εäƤޤꥢϡʿľǤʤ", ++" ˤޤСץ󥰤ϡꥢȤǥԥ", ++" ⾮Ǥ٤󶡤gnuplot ɸľ񤱤褦", ++" ˤʤޤϡгľ (㤨 'plot x') ɤ", ++" 򤱤ޤ", +"" +#endif /* JAPANESE_DOC */ END_HELP(pdfcairo) @@ -990,7 +984,7 @@ diff -ru term/cairo.trm.ORG term/cairo.trm "1 pngcairo", "?set terminal pngcairo", "?terminal pngcairo", -@@ -1854,6 +2125,85 @@ +@@ -1922,10 +2188,90 @@ " Rendering uses oversampling, antialiasing, and font hinting to the extent", " supported by the cairo and pango libraries.", "" @@ -1074,11 +1068,65 @@ diff -ru term/cairo.trm.ORG term/cairo.trm +"" +#endif /* JAPANESE_DOC */ END_HELP(pngcairo) - #endif /* TERM_HELP */ + + #ifdef HAVE_KITTY_TERM + START_HELP(kittycairo) ++#ifndef JAPANESE_DOC + "1 kittycairo", + "?set terminal kittycairo", + "?terminal kittycairo", +@@ -1964,6 +2310,48 @@ + " `scroll` instead starts each plot at the current cursor position so that it", + " scrolls with the terminal text.", + "" ++#else /* JAPANESE_DOC */ ++"1 kittycairo", ++"?set terminal kittycairo", ++"?terminal kittycairo", ++"?set term kittycairo", ++"?term kittycairo", ++"?kittycairo", ++" Ϸ `kittycairo` ϡkitty եåץȥ򥵥ݡȤü", ++" ߥ졼ǡɥϤޤºݤϡ2 ", ++" եå饤֥ cairo ʸ󥰥饤֥ pango", ++" ѤƹԤޤkitty ץȥϡsixel եåȤ̤", ++" ǡ24 ӥå RGB 顼򥵥ݡȤ뤳ȡӥ⡼ȥå", ++" ϥԥ塼üδ֤βǡžɬפ", ++" Ȥ̤ͥǤ", ++"", ++" :", ++" set terminal kittycairo", ++" {{no}enhanced} {mono|color}", ++" {font <font>} {fontscale <scale>}", ++" {linewidth <lw>} {rounded|butt|square} {dashlength <dl>}", ++" {transparent | background <rgbcolor>}", ++" {size <XX>,<YY>} {anchor|scroll}", ++"", ++" νϷϡ٥¾ʸ˥ǥեȤdzĥʸ", ++" Ѥޤʲ: `enhanced`", ++"", ++" դΤ٤Ƥʬϡ`linewidth` Ѱ <lw> ѹǤޤ", ++" եȥƱͤ `fontscale` ΥѰҤǰͤѹǤ", ++" եȤʸɥץ˴ؤˤĤƤϡʲ:", ++" `pdfcairo`", ++"", ++" ץ `rounded` ϡüܹݤǥեȤ `butt`", ++" äüȳĥäܹޤ", ++"", ++" դΥϡ꡼ԥñ̤ͿޤǥեȤǤ", ++" (`anchor`)줾Υդϡüɥκޤ", ++" ˥᡼䡢ܡɤѤޥ (ʲ:", ++" `pseudo-mousing`) ǤǤ`scroll` Ǥϡƥդ򸽺ߤ", ++" ֤鳫ϤޤˤüʸǤ򥹥", ++" ޤ", ++"" ++#endif /* JAPANESE_DOC */ + END_HELP(kittycairo) + #endif /* HAVE_KITTY_TERM */ diff -ru term/canvas.trm.ORG term/canvas.trm ---- term/canvas.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/canvas.trm 2022-12-13 17:00:39.278426000 +0900 +--- term/canvas.trm.ORG 2023-07-24 16:00:54.643863000 +0900 ++++ term/canvas.trm 2023-07-24 16:03:18.287656000 +0900 @@ -1670,6 +1670,7 @@ #ifdef TERM_HELP @@ -1174,8 +1222,8 @@ diff -ru term/canvas.trm.ORG term/canvas.trm END_HELP(canvas) #endif /* TERM_HELP */ diff -ru term/cgm.trm.ORG term/cgm.trm ---- term/cgm.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/cgm.trm 2022-12-13 17:00:39.279159000 +0900 +--- term/cgm.trm.ORG 2023-07-24 16:00:54.645109000 +0900 ++++ term/cgm.trm 2023-07-24 16:03:18.288571000 +0900 @@ -1743,6 +1743,7 @@ #ifdef TERM_HELP @@ -1498,8 +1546,8 @@ diff -ru term/cgm.trm.ORG term/cgm.trm END_HELP(cgm) #endif /* TERM_HELP */ diff -ru term/context.trm.ORG term/context.trm ---- term/context.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/context.trm 2022-12-13 17:00:39.279874000 +0900 +--- term/context.trm.ORG 2023-07-24 16:00:54.648674000 +0900 ++++ term/context.trm 2023-07-24 16:03:18.289361000 +0900 @@ -1971,6 +1971,7 @@ #ifdef TERM_HELP @@ -1668,8 +1716,8 @@ diff -ru term/context.trm.ORG term/context.trm #endif /* TERM_HELP */ diff -ru term/corel.trm.ORG term/corel.trm ---- term/corel.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/corel.trm 2022-12-13 17:00:39.280095000 +0900 +--- term/corel.trm.ORG 2023-07-24 16:00:54.647462000 +0900 ++++ term/corel.trm 2023-07-24 16:03:18.289663000 +0900 @@ -431,6 +431,7 @@ #ifdef TERM_HELP @@ -1703,8 +1751,8 @@ diff -ru term/corel.trm.ORG term/corel.trm END_HELP(corel) #endif /* TERM_HELP */ diff -ru term/debug.trm.ORG term/debug.trm ---- term/debug.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/debug.trm 2022-12-13 17:00:39.280306000 +0900 +--- term/debug.trm.ORG 2023-07-24 16:00:54.643286000 +0900 ++++ term/debug.trm 2023-07-24 16:03:18.289936000 +0900 @@ -372,6 +372,7 @@ #ifdef TERM_HELP @@ -1731,8 +1779,8 @@ diff -ru term/debug.trm.ORG term/debug.trm END_HELP(debug) #endif diff -ru term/djsvga.trm.ORG term/djsvga.trm ---- term/djsvga.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/djsvga.trm 2022-12-13 17:00:39.280912000 +0900 +--- term/djsvga.trm.ORG 2023-07-24 16:00:54.644904000 +0900 ++++ term/djsvga.trm 2023-07-24 16:03:18.290727000 +0900 @@ -2237,6 +2237,7 @@ #ifdef TERM_HELP @@ -1781,8 +1829,8 @@ diff -ru term/djsvga.trm.ORG term/djsvga.trm END_HELP(svga) #endif /* TERM_HELP */ diff -ru term/dumb.trm.ORG term/dumb.trm ---- term/dumb.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/dumb.trm 2022-12-13 17:00:39.281340000 +0900 +--- term/dumb.trm.ORG 2023-07-24 16:00:54.649380000 +0900 ++++ term/dumb.trm 2023-07-24 16:03:18.291247000 +0900 @@ -1206,6 +1206,7 @@ #ifdef TERM_HELP @@ -1889,8 +1937,8 @@ diff -ru term/dumb.trm.ORG term/dumb.trm END_HELP(dumb) #endif /* TERM_HELP */ diff -ru term/dxf.trm.ORG term/dxf.trm ---- term/dxf.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/dxf.trm 2022-12-13 17:00:39.281592000 +0900 +--- term/dxf.trm.ORG 2023-07-24 16:00:54.645324000 +0900 ++++ term/dxf.trm 2023-07-24 16:03:18.291539000 +0900 @@ -400,6 +400,7 @@ #ifdef TERM_HELP @@ -1922,8 +1970,8 @@ diff -ru term/dxf.trm.ORG term/dxf.trm END_HELP(dxf) #endif /* TERM_HELP */ diff -ru term/dxy.trm.ORG term/dxy.trm ---- term/dxy.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/dxy.trm 2022-12-13 17:00:39.281783000 +0900 +--- term/dxy.trm.ORG 2023-07-24 16:00:54.643593000 +0900 ++++ term/dxy.trm 2023-07-24 16:03:18.291760000 +0900 @@ -188,6 +188,7 @@ #ifdef TERM_HELP @@ -1951,8 +1999,8 @@ diff -ru term/dxy.trm.ORG term/dxy.trm END_HELP(dxy800a) #endif diff -ru term/eepic.trm.ORG term/eepic.trm ---- term/eepic.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/eepic.trm 2022-12-13 17:00:39.282083000 +0900 +--- term/eepic.trm.ORG 2023-07-24 16:00:54.644548000 +0900 ++++ term/eepic.trm 2023-07-24 16:03:18.292139000 +0900 @@ -578,6 +578,7 @@ #ifdef TERM_HELP @@ -2069,8 +2117,8 @@ diff -ru term/eepic.trm.ORG term/eepic.trm END_HELP(eepic) #endif /* TERM_HELP */ diff -ru term/emf.trm.ORG term/emf.trm ---- term/emf.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/emf.trm 2022-12-13 17:00:39.282796000 +0900 +--- term/emf.trm.ORG 2023-07-24 16:00:54.651651000 +0900 ++++ term/emf.trm 2023-07-24 16:03:18.292870000 +0900 @@ -1981,6 +1981,7 @@ #ifdef TERM_HELP @@ -2127,8 +2175,8 @@ diff -ru term/emf.trm.ORG term/emf.trm END_HELP(emf) #endif /* TERM_HELP */ diff -ru term/epson.trm.ORG term/epson.trm ---- term/epson.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/epson.trm 2022-12-13 17:00:39.283199000 +0900 +--- term/epson.trm.ORG 2023-07-24 16:00:54.648017000 +0900 ++++ term/epson.trm 2023-07-24 16:03:18.293364000 +0900 @@ -1081,6 +1081,7 @@ #ifdef TERM_HELP @@ -2238,8 +2286,8 @@ diff -ru term/epson.trm.ORG term/epson.trm END_HELP(epson_180dpi) #endif /* TERM_HELP */ diff -ru term/excl.trm.ORG term/excl.trm ---- term/excl.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/excl.trm 2022-12-13 17:00:39.283617000 +0900 +--- term/excl.trm.ORG 2023-07-24 16:00:54.646793000 +0900 ++++ term/excl.trm 2023-07-24 16:03:18.293618000 +0900 @@ -270,6 +270,7 @@ #ifdef TERM_HELP @@ -2267,8 +2315,8 @@ diff -ru term/excl.trm.ORG term/excl.trm END_HELP(excl) #endif diff -ru term/fig.trm.ORG term/fig.trm ---- term/fig.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/fig.trm 2022-12-13 17:00:39.284161000 +0900 +--- term/fig.trm.ORG 2023-07-24 16:00:54.643114000 +0900 ++++ term/fig.trm 2023-07-24 16:03:18.294367000 +0900 @@ -1314,6 +1314,7 @@ #ifdef TERM_HELP @@ -2277,7 +2325,7 @@ diff -ru term/fig.trm.ORG term/fig.trm "1 fig", "?commands set terminal fig", "?set terminal fig", -@@ -1376,6 +1377,73 @@ +@@ -1375,6 +1376,72 @@ " set linetype 999 lc rgb '#aabbcc'", " plot $data with fillecurve fillcolor rgb '#aabbcc'", "" @@ -2316,7 +2364,6 @@ diff -ru term/fig.trm.ORG term/fig.trm +"", +" `pointsmax` ϡޤĺκꤷĹޤϡʬ", +" ޤ", -+" (: Υץϡversion 5.2.7 5.4.3 ˤϤޤǤ)", +"", +" `font` ϡƥȥեȥե̾ <fontname> ˡեȥ", +" <fontsize> ݥȤꤷޤϡ35 ɸ PostScript ե", @@ -2352,9 +2399,9 @@ diff -ru term/fig.trm.ORG term/fig.trm #endif /* TERM_HELP */ diff -ru term/gd.trm.ORG term/gd.trm ---- term/gd.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/gd.trm 2022-12-13 17:00:39.285133000 +0900 -@@ -2511,6 +2511,7 @@ +--- term/gd.trm.ORG 2023-07-24 16:00:54.649275000 +0900 ++++ term/gd.trm 2023-07-24 16:03:18.295503000 +0900 +@@ -2507,6 +2507,7 @@ #ifndef JPEG_HELP_ONLY #ifdef TERM_HELP START_HELP(png) @@ -2362,7 +2409,7 @@ diff -ru term/gd.trm.ORG term/gd.trm "1 png", "?commands set terminal png", "?set terminal png", -@@ -2587,6 +2588,88 @@ +@@ -2582,6 +2583,84 @@ " Use 24 bits of color information per pixel, with a transparent background.", " Use the `enhanced text` mode to control the layout of strings to be printed.", "" @@ -2404,17 +2451,18 @@ diff -ru term/gd.trm.ORG term/gd.trm +" ˱ƶͿޤʤ͡襳ޥɤ׵ᤵ", +" ˤޤ", +"", -+" ǥեȤǤϡϤ PNG 256 Ĥֹդ줿Ѥ", -+" ޤ˥ץ `truecolor` ȤС24 ӥå/ԥο", -+" TrueColor ޤƩɤĤ֤ (transparent", -+" fill) ѤȤϡΥץ `truecolor` ɬפˤʤޤ", -+" ʲ: `fillstyle`طʤƩϡֹդ TrueColor ", -+" ǽǤ", ++" ǥեȤǤϡpng Ϸϡ1 ԥ 24bit ο", ++" TrueColor ޤץ `notruecolor` ϡ 8bit", ++" Τߤβ (256 Ĥֹդ줿) ѤޤƩɤĤ֤", ++" (transparent fill style) ˤϡץ `truecolor` ɬ", ++" Ǥʲ: `fillstyle`طʤƩϡֹդ TrueColor", ++" DzǽǤꥢˤ TrueColor ɬפǤ", +"", +" `butt` ʬǡüǤΤϤߤ򵯤ʤ᥽å", +" Ȥ褦ɥ饤Ф˻ؼޤϡ 1 礭", -+" ΤͭǤϡʿľξͭѤǤ礦", -+" ǥեȤ `rounded` (ݤ) Ǥ", ++" Τ̣߰ޤεդ `rounded` ǡꥢͭ", ++" ʤ (`notruecolor`) ¿Ѱʶޤ٤", ++" ޤ", +"", +" եȤξܺ٤ϡʣǤ", +" ʲƱ̣Ĵñ򼨤ޤ:", @@ -2430,19 +2478,14 @@ diff -ru term/gd.trm.ORG term/gd.trm +"", +"2 ", +"?set term png examples", -+" set terminal png medium size 640,480 background '#ffffff'", +"", -+" medium Ρ礭ѹǽDzžǤʤȤ߹ߥե", -+" ѤƩʤطʿȤ (16 ʿ 24bit RGB) Ѥ", -+" ", -+"", -+" set terminal png font arial 14 size 800,600", ++" set terminal png font \"arial,14\" size 800,600 background \"white\"", +"", +" ϡ'arial' Ȥե̾Υ֥եȤ򸡺ե", +" ȥ 14pt ꤷޤեȤθɤΤ褦˹Ԥ뤫ˤ", +" Ƥϰʲ: `fonts`", +"", -+" set terminal png transparent truecolor enhanced", ++" set terminal png transparent enhanced", +"", +" ϡ24 ӥå/ԥοѤطʤƩޤ", +" ɽʸȤ `enhanced text` ⡼ɤѤޤ", @@ -2451,7 +2494,7 @@ diff -ru term/gd.trm.ORG term/gd.trm END_HELP(png) #endif /* TERM_HELP */ #endif /* JPEG_HELP_ONLY */ -@@ -2667,6 +2750,7 @@ +@@ -2662,6 +2741,7 @@ #ifdef TERM_HELP START_HELP(jpeg) @@ -2459,7 +2502,7 @@ diff -ru term/gd.trm.ORG term/gd.trm "1 jpeg", "?commands set terminal jpeg", "?set terminal jpeg", -@@ -2714,6 +2798,55 @@ +@@ -2708,6 +2788,54 @@ " Blank space at the edges of the finished plot may be trimmed using the `crop`", " option, resulting in a smaller final image size. Default is `nocrop`.", "" @@ -2496,8 +2539,7 @@ diff -ru term/gd.trm.ORG term/gd.trm +"", +" `butt` ʬǡüǤΤϤߤ򵯤ʤ᥽å", +" Ȥ褦ɥ饤Ф˻ؼޤϡ 1 礭", -+" ΤͭǤϡʿľξͭѤǤ礦", -+" ǥեȤ `rounded` (ݤ) Ǥ", ++" Τ̣߰ޤεդ `rounded` Ǥ", +"", +" եȤξܺ٤ϡʣǤ", +" ʲƱ̣Ĵñ򼨤ޤ:", @@ -2515,7 +2557,7 @@ diff -ru term/gd.trm.ORG term/gd.trm END_HELP(jpeg) #endif /* TERM_HELP */ #endif /* HAVE_GD_JPEG */ -@@ -2821,6 +2954,7 @@ +@@ -2815,6 +2943,7 @@ #ifdef TERM_HELP START_HELP(gif) @@ -2523,7 +2565,7 @@ diff -ru term/gd.trm.ORG term/gd.trm "1 gif", "?commands set terminal gif", "?set terminal gif", -@@ -2931,6 +3065,121 @@ +@@ -2925,6 +3054,120 @@ "", " Searches for a font with face name 'arial' and sets the font size to 14pt.", "" @@ -2565,7 +2607,6 @@ diff -ru term/gd.trm.ORG term/gd.trm +" `butt` ʬǡüǤΤϤߤ򵯤ʤ᥽å", +" Ȥ褦ɥ饤Ф˻ؼޤϡ 1 礭", +" ΤͭǤϡʿľξͭѤǤ礦", -+" ǥեȤ `rounded` (ݤ) Ǥ", +"", +" 襵 <x,y> ϥԥñ̤ͿޤǥեȤ 640x480 ", +" ʲ⻲: `canvas`, `set size`", @@ -2645,7 +2686,7 @@ diff -ru term/gd.trm.ORG term/gd.trm END_HELP(gif) #endif /* TERM_HELP */ #endif /* HAVE_GD_GIF */ -@@ -3021,6 +3270,7 @@ +@@ -3015,6 +3258,7 @@ #ifdef TERM_HELP START_HELP(sixelgd) @@ -2653,9 +2694,9 @@ diff -ru term/gd.trm.ORG term/gd.trm "1 sixelgd", "?commands set terminal sixelgd", "?set terminal sixelgd", -@@ -3088,6 +3338,79 @@ - " the screen rather than having earlier plots scroll off the top. This may be", - " desirable in order to create an in-place animation.", +@@ -3075,6 +3319,72 @@ + " The `scroll` option instead starts each plot at the current cursor position", + " so that successive plots scroll with any intervening text.", "" +#else /* JAPANESE_DOC */ +"1 sixelgd", @@ -2667,75 +2708,130 @@ diff -ru term/gd.trm.ORG term/gd.trm +"?sixelgd", +" :", +" set terminal sixelgd", -+" {{no}enhanced} {{no}truecolor}", -+" {{no}transparent} {rounded|butt}", ++" {{no}enhanced} {{no}truecolor} {rounded|butt}", +" {linewidth <lw>} {dashlength <dl>}", +" {tiny | small | medium | large | giant}", +" {font \"<face> {,<pointsize>}\"} {fontscale <scale>}", -+" {size <x>,<y>} {{no}crop} {animate}", ++" {size <x>,<y>} {anchor|scroll} {{no}transparent}", +" {background <rgb_color>}", +"", -+" `sixel` ϥեޥåȤϡ DEC Υߥʥ롢ץ󥿤ǻȤ", -+" ΤǤΥɥ饤Фϡgd 饤֥Ū˻Ѥƺ", -+" PNG Ѵ sixel ޤsixel ϡ", -+" Ȥ˥ߥʥɽ뤳ȤǤޤޤϤν", -+" ե˽񤭤Ƥơ夫餽Υե򥿡ߥʥǤФ", -+" Ȥɽ֤뤳ȤǤޤ", ++" `sixel` ϥեޥåȤϡ DEC Υߥʥץ󥿤ǻȤ", ++" ΤǤgnuplot sixelgd ɥ饤Фϡgd 饤֥Ū˻", ++" Ѥƺ PNG Ѵ sixel ޤsixel ", ++" ϡȤ˥ߥʥɽ뤳ȤǤޤ", ++" Ϥνե˽񤭤Ƥơ夫餽Υե򥿡", ++" ʥǤФȤɽ֤뤳ȤǤޤ", +"", +" sixel Ϸϡɥƥफޤϥեåǥץ쥤", +" ޥ͡㤬ͭǤʤˡgnuplot Υդ linux 󥽡ɽ", +" ˤǤʲ: `linux console`", +"", -+" `transparent` ϡɥ饤ФطʿƩ (transparent) Ԥ褦", -+" ޤǥեȤ `notransparent` Ǥ", -+"", +" ץ `linewidth` `dashlength` ϳΨǡ褵뤹٤Ƥ", +" ˱ƶͿޤϡ襳ޥɤ׵ᤵͤˤ", +" ", +"", +" ǥեȤǤϡsixel Ϥϡֹդ 16 Ѥޤץ", -+" `truecolor` ǤϡTrueColor PNG 256 sixel ", ++" `truecolor` Ǥϡ24bit RGB PNG 256 sixel ", +" Ϥ˸ޤƩ᷿ɤ٤ˤϡץ `truecolor`", +" ɬפǤʲ: `fillstyle`", -+" `transparent` طʤϡֹդοTrueColor ΤɤǤ", -+" ǽǤ", +"", +" `butt` ʬǡüǤΤϤߤ򵯤ʤ᥽å", +" Ȥ褦ɥ饤Ф˻ؼޤϡ 1 礭", -+" ΤͭǤϡʿľξͭѤǤ礦", -+" ǥեȤ `rounded` (ݤ) Ǥ", ++" Τ̣߰ޤεդ `rounded` ǡ¿Ѱʶ", ++" ޤ٤ʤޤ", +"", -+" եȤξܺ٤ϡʣǤ", ++" gdlib ѤϷˤեȤξܺ٤ϡʣǤ", +" ܺ٤ϡʲ: `fonts`", +"", +" 襵 <x,y> ϥԥñ̤ͿޤǥեȤ 640x480 ", -+" ʲ⻲: `canvas`, `set size`", -+" 轪λü;ϡץ `crop` ǼȤǤη", -+" ̤ȤƤβϾʤޤǥեȤ `nocrop` Ǥ", -+"", -+" νϷϡxterm, mlterm, mintty ߥʥǤϥƥȤ졢ư", -+" ǧƤޤǸ 2 ĤǤϡ256 sixel 顼ݡѤ", -+" `truecolor` ⡼ɤ⥵ݡȤޤۤƤ xterm ϡsixel", -+" եå򥵥ݡȤ/ʤ褦˺줿Τ⤷ޤ󤷡", -+" 16 ¤Ƥ뤫⤷ޤ", -+"", -+"?set terminal sixelgd animate", -+"?set term sixelgd animate", -+"?term sixelgd animate", -+" set term sixel animate", -+"", -+" ץ `animate` ϡϢ³ plot ̿Υդ˥", -+" 뤷ƾäˡ plot ꡼Ʊΰ񤭤褦", -+" plot γϻ˥֤򥿡ߥʥκ˥ꥻåȤޤ", -+" Ͼ꼰˥᡼ (in-place animation) ѤλȤߤǤ", ++" ʤΥߥʥ륦ɥΥ¿ʬǤ礦", ++"", ++" `transparent` ϡɥ饤ФطʿƩ (transparent) Ԥ褦ؼ", ++" ޤۤȤɤüߥ졼Ϥ򥵥ݡȤƤޤ󡣥ǥ", ++" Ȥ `notransparent` Ǥ", ++"", ++" gnuplot sixelgd Ϥϡʲüߥ졼ǥƥȤư", ++" Ƥޤ: konsole, mlterm, mintty, vt340 ⡼ɤ xterm (: ", ++" ° xterm sixel եå򥵥ݡȤ褦˥ӥɤ", ++" ʤ⤷ޤ)KDE konsole terminal sixel ݡȤϡС", ++" 22.04.0 ɲäޤ", ++"", ++" ǥեȤǤ (`anchor`) ƥդϡɥκΰ˾񤭤", ++" 褷ޤϡ褹뤳ȤǤξ꼰˥᡼", ++" (in-place animation) κ䡢`pause mouse` δ֤Ȥä", ++" ޥǽˤޤ", ++" Фץ `scroll` ϡƥդ򸽺ߤΥ֤", ++" ȤǡθΥեƥȤ򶴤ळȤǹԤ褦ˤޤ", +"" +#endif /* JAPANESE_DOC */ END_HELP(sixelgd) #endif /* TERM_HELP */ #endif /* WITH_GD_SIXEL */ +@@ -3184,6 +3494,7 @@ + + #ifdef TERM_HELP + START_HELP(kittygd) ++#ifndef JAPANESE_DOC + "1 kittygd", + "?commands set terminal kittygd", + "?set terminal kittygd", +@@ -3228,6 +3539,53 @@ + " (see `pseudo-mousing`). The `scroll` option instead plots at the current", + " cursor position so that successive plots scroll with the terminal text.", + "" ++#else /* JAPANESE_DOC */ ++"1 kittygd", ++"?commands set terminal kittygd", ++"?set terminal kittygd", ++"?set term kittygd", ++"?terminal kittygd", ++"?term kittygd", ++"?kittygd", ++" :", ++" set terminal kittygd", ++" {{no}enhanced} {{no}truecolor} {rounded|butt}", ++" {linewidth <lw>} {dashlength <dl>}", ++" {font \"<face> {,<pointsize>}\"} {fontscale <scale>}", ++" {size <x>,<y>} {anchor|scroll}", ++" {background <rgb_color>}", ++"", ++" Ϸ `kittygd` ϡkitty եåץȥ򥵥ݡȤü", ++" ߥ졼ǡɥϤޤǥեȤǤϡ饤", ++" 24 ӥå RGB PNG ϻ 256 (`truecolor`)", ++" Ѵޤ`notruecolor` ϡϤο򤵤˾ʤ¤ޤ", ++" ˤΤͥϤޤ", ++" Ʃ᷿ fill style ˤϥץ `truecolor` ɬפǤʲ:", ++" `fillstyle`", ++" ʤ gnuplot cairo եå򥵥ݡȤ褦˥ӥɤ", ++" 줿Τʤ顢ष `kittycairo` Ǥ礦", ++"", ++" νϷϡ٥¾ʸ˥ǥեȤdzĥʸ", ++" Ѥޤʲ: `enhanced`", ++"", ++" դΤ٤Ƥʬϡ`linewidth` Ѱ <lw> ѹǤޤ", ++" եȥƱͤ `fontscale` ΥѰҤǰͤѹǤ", ++" եȤʸɥץ˴ؤˤĤƤϡʲ:", ++" `png`", ++"", ++" `butt` ʬǡüǤΤϤߤ򵯤ʤ᥽å", ++" Ȥ褦ɥ饤Ф˻ؼޤϡ 1 礭", ++" Τ̣߰ޤεդ `rounded` ǡ¿Ѱʶ", ++" ޤ٤ʤޤ", ++"", ++" դΥϡ꡼ԥñ̤Ϳޤ", ++" ǥեȤǤ (`anchor`)줾Υդϡüɥκ", ++" ޤϥ˥᡼䡢ܡɤѤޥ", ++" (ʲ: `pseudo-mousing`) ǤǤ`scroll` Ǥϡƥ", ++" դ򸽺ߤΥ֤鳫ϤޤˤüʸǤ", ++" Ǥޤ", ++"" ++#endif /* JAPANESE_DOC */ + END_HELP(kittygd) + #endif /* TERM_HELP */ + #endif /* WITH_GD_KITTY */ diff -ru term/ggi.trm.ORG term/ggi.trm ---- term/ggi.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/ggi.trm 2022-12-13 17:00:39.285584000 +0900 +--- term/ggi.trm.ORG 2023-07-24 16:00:54.643966000 +0900 ++++ term/ggi.trm 2023-07-24 16:03:18.296040000 +0900 @@ -1508,6 +1508,7 @@ #ifdef TERM_HELP @@ -2788,8 +2884,8 @@ diff -ru term/ggi.trm.ORG term/ggi.trm END_HELP(ggi) #endif diff -ru term/gpic.trm.ORG term/gpic.trm ---- term/gpic.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/gpic.trm 2022-12-13 17:00:39.285803000 +0900 +--- term/gpic.trm.ORG 2023-07-24 16:00:54.643723000 +0900 ++++ term/gpic.trm 2023-07-24 16:03:18.296330000 +0900 @@ -291,6 +291,7 @@ #ifdef TERM_HELP @@ -2866,8 +2962,8 @@ diff -ru term/gpic.trm.ORG term/gpic.trm END_HELP(gpic) #endif /* TERM_HELP */ diff -ru term/grass.trm.ORG term/grass.trm ---- term/grass.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/grass.trm 2022-12-13 17:00:39.286053000 +0900 +--- term/grass.trm.ORG 2023-07-24 16:00:54.648170000 +0900 ++++ term/grass.trm 2023-07-24 16:03:18.296665000 +0900 @@ -601,6 +601,7 @@ #ifdef TERM_HELP @@ -2897,8 +2993,8 @@ diff -ru term/grass.trm.ORG term/grass.trm END_HELP(grass) #endif diff -ru term/hp26.trm.ORG term/hp26.trm ---- term/hp26.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hp26.trm 2022-12-13 17:00:39.286304000 +0900 +--- term/hp26.trm.ORG 2023-07-24 16:00:54.647548000 +0900 ++++ term/hp26.trm 2023-07-24 16:03:18.296978000 +0900 @@ -689,6 +689,7 @@ #ifdef TERM_HELP @@ -2925,8 +3021,8 @@ diff -ru term/hp26.trm.ORG term/hp26.trm END_HELP(hp2623a) #endif diff -ru term/hp2648.trm.ORG term/hp2648.trm ---- term/hp2648.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hp2648.trm 2022-12-13 17:00:39.286500000 +0900 +--- term/hp2648.trm.ORG 2023-07-24 16:00:54.648088000 +0900 ++++ term/hp2648.trm 2023-07-24 16:03:18.297187000 +0900 @@ -185,6 +185,7 @@ #ifdef TERM_HELP @@ -2953,8 +3049,8 @@ diff -ru term/hp2648.trm.ORG term/hp2648.trm END_HELP(hp2648) #endif diff -ru term/hp500c.trm.ORG term/hp500c.trm ---- term/hp500c.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hp500c.trm 2022-12-13 17:00:39.286742000 +0900 +--- term/hp500c.trm.ORG 2023-07-24 16:00:54.652310000 +0900 ++++ term/hp500c.trm 2023-07-24 16:03:18.297489000 +0900 @@ -516,6 +516,7 @@ #ifdef TERM_HELP @@ -2991,8 +3087,8 @@ diff -ru term/hp500c.trm.ORG term/hp500c.trm END_HELP(hp500c) #endif /* TERM_HELP */ diff -ru term/hpgeneric.h.ORG term/hpgeneric.h ---- term/hpgeneric.h 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hpgeneric.h 2022-12-13 17:00:39.321134000 +0900 +--- term/hpgeneric.h.ORG 2023-07-24 16:00:54.643526000 +0900 ++++ term/hpgeneric.h 2023-07-24 16:03:18.297679000 +0900 @@ -4,6 +4,7 @@ */ #ifdef TERM_HELP @@ -3022,8 +3118,8 @@ diff -ru term/hpgeneric.h.ORG term/hpgeneric.h END_HELP(hpgeneric) #endif diff -ru term/hpgl.trm.ORG term/hpgl.trm ---- term/hpgl.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hpgl.trm 2022-12-13 17:00:39.287711000 +0900 +--- term/hpgl.trm.ORG 2023-07-24 16:00:54.647216000 +0900 ++++ term/hpgl.trm 2023-07-24 16:03:18.298836000 +0900 @@ -3296,6 +3296,7 @@ #ifdef TERM_HELP @@ -3138,7 +3234,7 @@ diff -ru term/hpgl.trm.ORG term/hpgl.trm +" `pcl5` Ϸϡ`encoding` ˹礦եȤ׵ᤷ褦Ȥޤ", +" Ϻǹͥ٤ĤΤǡŪ˰㤦եȤθܤˤʤäƤ", +" ⤷ʤȤդƤνϥɥ饤ФΥǥեȤ", -+" `encoding` ϡ`HP Roman-8` Ǥ", ++" `encoding` ϡ`HP Roman-8` Ǥ", +"", +" :", +"", @@ -3159,8 +3255,8 @@ diff -ru term/hpgl.trm.ORG term/hpgl.trm END_HELP(pcl5) #endif /* TERM_HELP */ diff -ru term/hpljii.trm.ORG term/hpljii.trm ---- term/hpljii.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hpljii.trm 2022-12-13 17:00:39.287960000 +0900 +--- term/hpljii.trm.ORG 2023-07-24 16:00:54.648886000 +0900 ++++ term/hpljii.trm 2023-07-24 16:03:18.299134000 +0900 @@ -388,6 +388,7 @@ #ifdef TERM_HELP @@ -3205,8 +3301,8 @@ diff -ru term/hpljii.trm.ORG term/hpljii.trm END_HELP(hpljii) #endif /* TERM_HELP */ diff -ru term/hppj.trm.ORG term/hppj.trm ---- term/hppj.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/hppj.trm 2022-12-13 17:00:39.288171000 +0900 +--- term/hppj.trm.ORG 2023-07-24 16:00:54.651899000 +0900 ++++ term/hppj.trm 2023-07-24 16:03:18.299382000 +0900 @@ -268,6 +268,7 @@ #ifdef TERM_HELP @@ -3239,8 +3335,8 @@ diff -ru term/hppj.trm.ORG term/hppj.trm END_HELP(hppj) #endif diff -ru term/imagen.trm.ORG term/imagen.trm ---- term/imagen.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/imagen.trm 2022-12-13 17:00:39.288464000 +0900 +--- term/imagen.trm.ORG 2023-07-24 16:00:54.644050000 +0900 ++++ term/imagen.trm 2023-07-24 16:03:18.299781000 +0900 @@ -886,6 +886,7 @@ #ifdef TERM_HELP @@ -3281,8 +3377,8 @@ diff -ru term/imagen.trm.ORG term/imagen.trm END_HELP(imagen) #endif diff -ru term/kyo.trm.ORG term/kyo.trm ---- term/kyo.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/kyo.trm 2022-12-13 17:00:39.288659000 +0900 +--- term/kyo.trm.ORG 2023-07-24 16:00:54.644771000 +0900 ++++ term/kyo.trm 2023-07-24 16:03:18.300003000 +0900 @@ -201,6 +201,7 @@ #ifdef TERM_HELP @@ -3317,8 +3413,8 @@ diff -ru term/kyo.trm.ORG term/kyo.trm END_HELP(kyo) #endif diff -ru term/latex.trm.ORG term/latex.trm ---- term/latex.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/latex.trm 2022-12-13 17:00:39.289087000 +0900 +--- term/latex.trm.ORG 2023-07-24 16:00:54.643466000 +0900 ++++ term/latex.trm 2023-07-24 16:03:18.300507000 +0900 @@ -1164,6 +1164,7 @@ #ifdef TERM_HELP @@ -3409,8 +3505,8 @@ diff -ru term/latex.trm.ORG term/latex.trm END_HELP(latex) #endif /* TERM_TABLE */ diff -ru term/latex_old.h.ORG term/latex_old.h ---- term/latex_old.h 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/latex_old.h 2022-12-13 17:00:39.320960000 +0900 +--- term/latex_old.h.ORG 2023-07-24 16:00:54.647388000 +0900 ++++ term/latex_old.h 2023-07-24 16:03:18.300715000 +0900 @@ -5,6 +5,7 @@ */ #ifdef TERM_HELP @@ -3458,8 +3554,8 @@ diff -ru term/latex_old.h.ORG term/latex_old.h +" Ϸ `latex`, `emtex`, `eepic`, `tpic` ֤ΤǤʲ", +" : `pict2e`", +"", -+" (5) ¾ϡʲ: `context`ӸŤϷ texdrawmp", -+" (metapost)", ++" (5) ¾ϡʲ: `context`ӸŤϷΰʲ⻲:", ++" `texdraw`", +"", +" TeX ϽϷ˴ؤ󤬰ʲˤޤ:", +"^ <a href=\"http://www.gnuplot.info/docs/latex_demo.pdf\">", @@ -3470,8 +3566,8 @@ diff -ru term/latex_old.h.ORG term/latex_old.h END_HELP(latex) #endif diff -ru term/linux-vgagl.trm.ORG term/linux-vgagl.trm ---- term/linux-vgagl.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/linux-vgagl.trm 2022-12-13 17:00:39.289255000 +0900 +--- term/linux-vgagl.trm.ORG 2023-07-24 16:00:54.644609000 +0900 ++++ term/linux-vgagl.trm 2023-07-24 16:03:18.300903000 +0900 @@ -1,5 +1,6 @@ #ifdef TERM_HELP START_HELP(linux) @@ -3510,8 +3606,8 @@ diff -ru term/linux-vgagl.trm.ORG term/linux-vgagl.trm END_HELP(linux) #endif diff -ru term/lua.trm.ORG term/lua.trm ---- term/lua.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/lua.trm 2022-12-13 17:00:39.289712000 +0900 +--- term/lua.trm.ORG 2023-07-24 16:00:54.647325000 +0900 ++++ term/lua.trm 2023-07-24 16:03:18.301419000 +0900 @@ -1480,6 +1480,7 @@ #ifdef TERM_HELP @@ -3520,7 +3616,7 @@ diff -ru term/lua.trm.ORG term/lua.trm "1 lua", "?commands set terminal lua", "?set terminal lua", -@@ -1506,12 +1507,43 @@ +@@ -1506,12 +1507,45 @@ " All arguments will be provided to the selected script for further", " evaluation. E.g. 'set term lua tikz help' will cause the script itself", " to print additional help on options and choices for the script.", @@ -3555,6 +3651,8 @@ diff -ru term/lua.trm.ORG term/lua.trm #ifdef HAVE_LUA +#ifndef JAPANESE_DOC #include "gnuplot-tikz.help" ++ ++ #endif +#endif "" @@ -3585,8 +3683,8 @@ diff -ru term/lua.trm.ORG term/lua.trm END_HELP(tikz) #endif /* TERM_HELP */ diff -ru term/metafont.trm.ORG term/metafont.trm ---- term/metafont.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/metafont.trm 2022-12-13 17:00:39.290024000 +0900 +--- term/metafont.trm.ORG 2023-07-24 16:00:54.648971000 +0900 ++++ term/metafont.trm 2023-07-24 16:03:18.301822000 +0900 @@ -538,6 +538,7 @@ #ifdef TERM_HELP @@ -3701,8 +3799,8 @@ diff -ru term/metafont.trm.ORG term/metafont.trm END_HELP(mf) #endif /* TERM_HELP */ diff -ru term/metapost.trm.ORG term/metapost.trm ---- term/metapost.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/metapost.trm 2022-12-13 17:00:39.290521000 +0900 +--- term/metapost.trm.ORG 2023-07-24 16:00:54.643216000 +0900 ++++ term/metapost.trm 2023-07-24 16:03:18.302702000 +0900 @@ -1054,6 +1054,7 @@ #ifdef TERM_HELP @@ -3914,8 +4012,8 @@ diff -ru term/metapost.trm.ORG term/metapost.trm END_HELP(mp) #endif /* TERM_HELP */ diff -ru term/mif.trm.ORG term/mif.trm ---- term/mif.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/mif.trm 2022-12-13 17:00:39.290853000 +0900 +--- term/mif.trm.ORG 2023-07-24 16:00:54.642563000 +0900 ++++ term/mif.trm 2023-07-24 16:03:18.303179000 +0900 @@ -963,6 +963,7 @@ #ifdef TERM_HELP @@ -3966,8 +4064,8 @@ diff -ru term/mif.trm.ORG term/mif.trm END_HELP(mif) #endif /* TERM_HELP */ diff -ru term/pbm.trm.ORG term/pbm.trm ---- term/pbm.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pbm.trm 2022-12-13 17:00:39.291088000 +0900 +--- term/pbm.trm.ORG 2023-07-24 16:00:54.647810000 +0900 ++++ term/pbm.trm 2023-07-24 16:03:18.303487000 +0900 @@ -534,6 +534,7 @@ #ifdef TERM_HELP @@ -4017,8 +4115,8 @@ diff -ru term/pbm.trm.ORG term/pbm.trm END_HELP(pbm) #endif /* TERM_HELP */ diff -ru term/pc.trm.ORG term/pc.trm ---- term/pc.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pc.trm 2022-12-13 17:00:39.291549000 +0900 +--- term/pc.trm.ORG 2023-07-24 16:00:54.652797000 +0900 ++++ term/pc.trm 2023-07-24 16:03:18.304037000 +0900 @@ -1587,6 +1587,7 @@ #ifdef TERM_HELP @@ -4072,8 +4170,8 @@ diff -ru term/pc.trm.ORG term/pc.trm END_HELP(dospc) #endif /* TERM_HELP */ diff -ru term/pdf.trm.ORG term/pdf.trm ---- term/pdf.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pdf.trm 2022-12-13 17:00:39.292083000 +0900 +--- term/pdf.trm.ORG 2023-07-24 16:00:54.649517000 +0900 ++++ term/pdf.trm 2023-07-24 16:03:18.304623000 +0900 @@ -1716,6 +1716,7 @@ #ifdef TERM_HELP @@ -4140,8 +4238,8 @@ diff -ru term/pdf.trm.ORG term/pdf.trm END_HELP(pdf) #endif diff -ru term/pict2e.trm.ORG term/pict2e.trm ---- term/pict2e.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pict2e.trm 2022-12-13 17:00:39.292491000 +0900 +--- term/pict2e.trm.ORG 2023-07-24 16:00:54.644706000 +0900 ++++ term/pict2e.trm 2023-07-24 16:03:18.305096000 +0900 @@ -1092,6 +1092,7 @@ #ifdef TERM_HELP @@ -4228,8 +4326,8 @@ diff -ru term/pict2e.trm.ORG term/pict2e.trm END_HELP(pict2e) #endif /* TERM_HELP */ diff -ru term/pm.trm.ORG term/pm.trm ---- term/pm.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pm.trm 2022-12-13 17:00:39.292958000 +0900 +--- term/pm.trm.ORG 2023-07-24 16:00:54.642915000 +0900 ++++ term/pm.trm 2023-07-24 16:03:18.305636000 +0900 @@ -1579,6 +1579,7 @@ #ifdef TERM_HELP @@ -4294,9 +4392,9 @@ diff -ru term/pm.trm.ORG term/pm.trm END_HELP(pm) #endif /* TERM_HELP */ diff -ru term/post.trm.ORG term/post.trm ---- term/post.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/post.trm 2022-12-13 17:00:39.325860000 +0900 -@@ -4454,6 +4454,7 @@ +--- term/post.trm.ORG 2023-07-24 16:00:54.648411000 +0900 ++++ term/post.trm 2023-07-24 16:03:18.307554000 +0900 +@@ -4470,6 +4470,7 @@ * of "text" that is necessary to avoid errors. */ START_HELP(00psglobal) @@ -4304,8 +4402,8 @@ diff -ru term/post.trm.ORG term/post.trm #define PS_COMMON_OPTS1 \ " {level1 | leveldefault | level3}",\ " {color | colour | monochrome}",\ -@@ -4525,9 +4526,85 @@ - " actual limits of the plot.",\ +@@ -4537,9 +4538,81 @@ + " plot edges as specified by the `size` option.",\ "", "" +#else /* JAPANESE_DOC */ @@ -4376,10 +4474,6 @@ diff -ru term/post.trm.ORG term/post.trm +" ѹ줿ٴޤ褦ꤵޤ",\ +" ꡼ɸϡץ `size` ǻꤵ줿ȤΤ 0.0",\ +" 1.0 ˤʤޤ",\ -+" : `ϡϡϷǤ⡢ޥ set size ",\ -+" ꤷȸäƤȤѹ̣ޤ`ˡ",\ -+" BoundingBox ѹ줺˻ĤäƤޤ꡼ɸºݤ",\ -+" θ³бƤޤǤ",\ +"", +"" +#endif /* JAPANESE_DOC */ @@ -4390,7 +4484,7 @@ diff -ru term/post.trm.ORG term/post.trm "1 epslatex", "?commands set terminal epslatex", "?set terminal epslatex", -@@ -4695,9 +4772,184 @@ +@@ -4694,9 +4767,173 @@ " by the `header` command. Thus, you can use `header` to overwrite some of", " settings performed using \"gnuplot.cfg\"", "" @@ -4407,7 +4501,6 @@ diff -ru term/post.trm.ORG term/post.trm +" :", +" set terminal epslatex {default}", +" set terminal epslatex {standalone | input}", -+" {oldstyle | newstyle}", +PS_COMMON_OPTS1 +" {header <header> | noheader}", +PS_COMMON_OPTS2 @@ -4416,16 +4509,6 @@ diff -ru term/post.trm.ORG term/post.trm +" ե˰ܤȤ `terminal postscript eps` Ʊͤ褷ޤ", +" äơ`postscript terminal` ¿Υץ󤬶̤Ǥ", +"", -+" version 4.0 4.2 δ֤ˡpostscript ϷȤΤɤߴ", -+" epslatex Ϥѹޤ襵 5 x 3 ", -+" 5 x 3.5 ؤѹ졢ʸϽϥեȥ 50% ȸ", -+" ʤƤޤߤ 60% ɾƤޤ¿ Postscript", -+" 䵭Ȥޤξ֤ˤ֤ۤˤˤϥץ", -+" `oldstyle` ꤷƤ(ºݤˤϤ鷺ʰ㤤Ĥޤ:", -+" Υ鷺˰㤤 (tics) ϽȾʬˤʤäƤޤ", -+" `set tics scale` ѹǤޤ (arrow) ˴ؤƤ", -+" postscript ϷǻȤƤεǽѤǤޤ)", -+"", +PS_COMMON_PROLOG_INFO +PS_COMMON_DOC1 +" `blacktext` ϡȤ顼⡼ɤǤƤʸǽ񤭤ޤ", @@ -4575,7 +4658,7 @@ diff -ru term/post.trm.ORG term/post.trm "1 pslatex and pstex", "?commands set terminal pslatex", "?set terminal pslatex", -@@ -4777,9 +5029,89 @@ +@@ -4768,9 +5005,82 @@ "", " Linewidths and pointsizes may be changed with `set style line`." "" @@ -4602,7 +4685,6 @@ diff -ru term/post.trm.ORG term/post.trm +" set terminal [pslatex | pstex] {default}", +" set terminal [pslatex | pstex]", +" {rotate | norotate}", -+" {oldstyle | newstyle}", +" {auxfile | noauxfile}", +PS_COMMON_OPTS1 +" {<font_size>}", @@ -4623,12 +4705,6 @@ diff -ru term/post.trm.ORG term/post.trm +" ޤޤ`multiplot` ⡼ɰʳǤϡԤʤˤν", +" ϥե򥯥Τ˺ʤǤ", +"", -+" version 4.2 gnuplot ps(la)tex ϷǤ 5 x 3 ", -+" ϤǤߤǤ 5 x 3.5 ˤʤäƤޤ postscript", -+" eps Ϸ˹碌ѹǤäơʸϡ epslatex ", -+" ϥեȥ 50% ȸʤޤߤ 60% ɾƤ", -+" η᤹ˤϡץ `oldstyle` ꤷƤ", -+"", +" pslatex ɥ饤Фʸ֤̤ˡ󶡤ޤ:", +" (a) '{' ǻϤޤʸϡ'}' Ĥɬפޤʸ", +" LaTeX ˤäƿʿˤľˤ⥻󥿥󥰤ޤ", @@ -4665,7 +4741,7 @@ diff -ru term/post.trm.ORG term/post.trm "1 postscript", "?commands set terminal postscript", "?set terminal postscript", -@@ -5044,5 +5376,269 @@ +@@ -5035,5 +5345,269 @@ " other fonts you may have to try both settings. See also `fontfile`.", "", "" @@ -4936,8 +5012,8 @@ diff -ru term/post.trm.ORG term/post.trm END_HELP(post) #endif /* TERM_HELP */ diff -ru term/pstricks.trm.ORG term/pstricks.trm ---- term/pstricks.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/pstricks.trm 2022-12-13 17:00:39.312108000 +0900 +--- term/pstricks.trm.ORG 2023-07-24 16:00:54.649097000 +0900 ++++ term/pstricks.trm 2023-07-24 16:03:18.308116000 +0900 @@ -1323,6 +1323,7 @@ #ifdef TERM_HELP @@ -5016,8 +5092,8 @@ diff -ru term/pstricks.trm.ORG term/pstricks.trm END_HELP(pstricks) #endif /* TERM_HELP */ diff -ru term/qms.trm.ORG term/qms.trm ---- term/qms.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/qms.trm 2022-12-13 17:00:39.312338000 +0900 +--- term/qms.trm.ORG 2023-07-24 16:00:54.642981000 +0900 ++++ term/qms.trm 2023-07-24 16:03:18.308381000 +0900 @@ -223,6 +223,7 @@ #ifdef TERM_HELP @@ -5044,8 +5120,8 @@ diff -ru term/qms.trm.ORG term/qms.trm END_HELP(qms) #endif diff -ru term/qt.trm.ORG term/qt.trm ---- term/qt.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/qt.trm 2022-12-13 17:00:39.312585000 +0900 +--- term/qt.trm.ORG 2023-07-24 16:00:54.648747000 +0900 ++++ term/qt.trm 2023-07-24 16:03:18.308662000 +0900 @@ -76,6 +76,7 @@ #ifdef TERM_HELP @@ -5182,8 +5258,8 @@ diff -ru term/qt.trm.ORG term/qt.trm END_HELP(qt) #endif /* TERM_HELP */ diff -ru term/regis.trm.ORG term/regis.trm ---- term/regis.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/regis.trm 2022-12-13 17:00:39.312779000 +0900 +--- term/regis.trm.ORG 2023-07-24 16:00:54.645247000 +0900 ++++ term/regis.trm 2023-07-24 16:03:18.308887000 +0900 @@ -255,6 +255,7 @@ #ifdef TERM_HELP @@ -5215,9 +5291,9 @@ diff -ru term/regis.trm.ORG term/regis.trm END_HELP(regis) #endif diff -ru term/svg.trm.ORG term/svg.trm ---- term/svg.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/svg.trm 2022-12-13 17:00:39.313499000 +0900 -@@ -2317,6 +2317,7 @@ +--- term/svg.trm.ORG 2023-07-24 16:00:54.651307000 +0900 ++++ term/svg.trm 2023-07-24 16:03:18.309716000 +0900 +@@ -2319,6 +2319,7 @@ #ifdef TERM_HELP START_HELP(svg) @@ -5225,7 +5301,7 @@ diff -ru term/svg.trm.ORG term/svg.trm "1 svg", "?commands set terminal svg", "?set terminal svg", -@@ -2364,9 +2365,62 @@ +@@ -2366,9 +2367,62 @@ " then a unique name is required to avoid potential conflicting references", " to other SVG plots. Use the `name` option to ensure uniqueness.", "" @@ -5288,7 +5364,7 @@ diff -ru term/svg.trm.ORG term/svg.trm "1 domterm", "?set terminal domterm", "?terminal domterm", -@@ -2397,5 +2451,37 @@ +@@ -2399,5 +2453,37 @@ " the start of every plot so that successive plots overwrite the same area on", " the screen. This may be desirable in order to create an in-place animation.", "" @@ -5327,8 +5403,8 @@ diff -ru term/svg.trm.ORG term/svg.trm END_HELP(domterm) #endif /* TERM_HELP */ diff -ru term/t410x.trm.ORG term/t410x.trm ---- term/t410x.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/t410x.trm 2022-12-13 17:00:39.313719000 +0900 +--- term/t410x.trm.ORG 2023-07-24 16:00:54.652670000 +0900 ++++ term/t410x.trm 2023-07-24 16:03:18.309992000 +0900 @@ -312,6 +312,7 @@ #ifdef TERM_HELP @@ -5355,9 +5431,9 @@ diff -ru term/t410x.trm.ORG term/t410x.trm END_HELP(tek410x) #endif diff -ru term/tek.trm.ORG term/tek.trm ---- term/tek.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/tek.trm 2022-12-13 17:00:39.314155000 +0900 -@@ -1360,6 +1360,7 @@ +--- term/tek.trm.ORG 2023-07-24 16:00:54.646897000 +0900 ++++ term/tek.trm 2023-07-24 16:03:18.310562000 +0900 +@@ -1437,6 +1437,7 @@ #ifdef TERM_HELP START_HELP(tek40) @@ -5365,7 +5441,7 @@ diff -ru term/tek.trm.ORG term/tek.trm "1 tek40", "?commands set terminal tek40xx", "?set terminal tek40xx", -@@ -1440,5 +1441,90 @@ +@@ -1521,5 +1522,93 @@ " `km-tek40xx` supports them in monochrome. `selanar` supports Selanar graphics.", " `bitgraph` supports BBN Bitgraph terminals.", " None have any options." @@ -5419,8 +5495,8 @@ diff -ru term/tek.trm.ORG term/tek.trm +"?term sixeltek", +"?sixeltek", +" :", -+" set terminal sixeltek {<fontsize>} {color|colors <n>|mono}", -+" {size <x>,<y>}", ++" set terminal sixeltek {<fontsize>} {mono|color|colors <n>}", ++" {size <x>,<y>} {anchor|scroll}", +"", +" `sixel` Ϸϡ DEC ߥʥ롢ץ󥿤ǻȤƤޤ", +" Υɥ饤Фϡ 256 ΥѥåȲ򥵥ݡȤޤǥե", @@ -5428,10 +5504,13 @@ diff -ru term/tek.trm.ORG term/tek.trm +"", +" եȥϡ`small`, `medium`, `large` β줫Ǥޤ", +"", -+" xterm ߥ졼Ѥ硢\"--enable-sixel-graphics\" դ", -+" xterm configure/ѥ뤵Ƥơ \"-ti 340\" ĤƵ", -+" ưɬפޤ", -+" ˥塼ץ \"sixelScrolling\" 򤹤ȤǤ礦", ++" `anchor` Ͽդ򤽤줾쥦ɥκ֤Ƥޤ", ++" `scroll` ϳƥդ򸽺ߤΥ֤ƥȤǥ", ++" 褦ˤޤ", ++"", ++" xterm Ѥ硢\"--enable-sixel-graphics\" դ xterm ", ++" configure/ѥ뤵Ƥơ \"-ti 340\" ĤƵưɬ", ++" ޤ", +"", +" gnuplot ¾ sixel Ϸ `sixelgd` ⥵ݡȤƤ뤳Ȥդ", +" ƤϤ¿Υץ䵡ǽ󶡤Ƥޤ" @@ -5457,8 +5536,8 @@ diff -ru term/tek.trm.ORG term/tek.trm END_HELP(tek40) #endif /* TERM_HELP */ diff -ru term/texdraw.trm.ORG term/texdraw.trm ---- term/texdraw.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/texdraw.trm 2022-12-13 17:00:39.314495000 +0900 +--- term/texdraw.trm.ORG 2023-07-24 16:00:54.653051000 +0900 ++++ term/texdraw.trm 2023-07-24 16:03:18.310974000 +0900 @@ -883,6 +883,7 @@ #ifdef TERM_HELP @@ -5527,8 +5606,8 @@ diff -ru term/texdraw.trm.ORG term/texdraw.trm END_HELP(texdraw) #endif /* TERM_HELP */ diff -ru term/tgif.trm.ORG term/tgif.trm ---- term/tgif.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/tgif.trm 2022-12-13 17:00:39.329160000 +0900 +--- term/tgif.trm.ORG 2023-07-24 16:00:54.651517000 +0900 ++++ term/tgif.trm 2023-07-24 16:03:18.311574000 +0900 @@ -1678,6 +1678,7 @@ #ifdef TERM_HELP @@ -5618,8 +5697,8 @@ diff -ru term/tgif.trm.ORG term/tgif.trm #endif /*{{{}}}*/ diff -ru term/tkcanvas.trm.ORG term/tkcanvas.trm ---- term/tkcanvas.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/tkcanvas.trm 2022-12-13 17:00:39.315698000 +0900 +--- term/tkcanvas.trm.ORG 2023-07-24 16:00:54.652050000 +0900 ++++ term/tkcanvas.trm 2023-07-24 16:03:18.312329000 +0900 @@ -2116,6 +2116,7 @@ #ifdef TERM_HELP @@ -5782,8 +5861,8 @@ diff -ru term/tkcanvas.trm.ORG term/tkcanvas.trm #endif diff -ru term/tpic.trm.ORG term/tpic.trm ---- term/tpic.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/tpic.trm 2022-12-13 17:00:39.316027000 +0900 +--- term/tpic.trm.ORG 2023-07-24 16:00:54.652145000 +0900 ++++ term/tpic.trm 2023-07-24 16:03:18.312740000 +0900 @@ -926,6 +926,7 @@ #ifdef TERM_HELP @@ -5844,8 +5923,8 @@ diff -ru term/tpic.trm.ORG term/tpic.trm END_HELP(tpic) #endif /* TERM_TABLE */ diff -ru term/webp.trm.ORG term/webp.trm ---- term/webp.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/webp.trm 2022-12-13 17:00:39.316531000 +0900 +--- term/webp.trm.ORG 2023-07-24 16:00:54.652227000 +0900 ++++ term/webp.trm 2023-07-24 16:03:18.313036000 +0900 @@ -372,6 +372,7 @@ #ifdef TERM_HELP @@ -5908,8 +5987,8 @@ diff -ru term/webp.trm.ORG term/webp.trm #endif /* TERM_HELP */ diff -ru term/win.trm.ORG term/win.trm ---- term/win.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/win.trm 2022-12-13 17:00:39.317070000 +0900 +--- term/win.trm.ORG 2023-07-24 16:00:54.645448000 +0900 ++++ term/win.trm 2023-07-24 16:03:18.313744000 +0900 @@ -1190,6 +1190,7 @@ #ifdef TERM_HELP @@ -6247,8 +6326,8 @@ diff -ru term/win.trm.ORG term/win.trm END_HELP(windows) #endif /* TERM_HELP */ diff -ru term/wxt.trm.ORG term/wxt.trm ---- term/wxt.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/wxt.trm 2022-12-13 17:00:39.317404000 +0900 +--- term/wxt.trm.ORG 2023-07-24 16:00:54.648502000 +0900 ++++ term/wxt.trm 2023-07-24 16:03:18.314407000 +0900 @@ -499,6 +499,7 @@ #ifdef TERM_HELP @@ -6389,9 +6468,9 @@ diff -ru term/wxt.trm.ORG term/wxt.trm END_HELP(wxt) #endif /* TERM_HELP */ diff -ru term/x11.trm.ORG term/x11.trm ---- term/x11.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/x11.trm 2022-12-13 17:00:39.318364000 +0900 -@@ -2375,6 +2375,7 @@ +--- term/x11.trm.ORG 2023-07-24 16:00:54.642807000 +0900 ++++ term/x11.trm 2023-07-24 16:03:18.341826000 +0900 +@@ -2402,6 +2402,7 @@ #ifdef TERM_HELP START_HELP(x11) @@ -6399,7 +6478,7 @@ diff -ru term/x11.trm.ORG term/x11.trm "1 x11", "?commands set terminal x11", "?set terminal x11", -@@ -2880,6 +2881,515 @@ +@@ -2907,6 +2908,515 @@ "%@gnuplot*fastrotate: on", "%@gnuplot*ctrlq: off", "@end table" @@ -6539,9 +6618,9 @@ diff -ru term/x11.trm.ORG term/x11.trm +"", +" <font> ϥեȤδ̾ (base name) (: Times, Symbol)", +" <size> ϥݥȥ (꤬ʤХǥեȤ 12)", -+" <s> <slant>==\"italic\" ʤ `i`, <slant>==\"oblique\" ʤ `o`, ¾ `r`", -+" <weight> Ū˻ꤵ `medium` `bold`¾ `*`", -+" <encoding> ϸߤʸ˴Ť (ʲ: `set encoding`)", ++" <s> <slant>==\"italic\" ʤ 'i', <slant>==\"oblique\" ʤ 'o', ¾ 'r'", ++" <weight> Ū˻ꤵ 'medium' 'bold'¾ '*'", ++" <encoding> ϸߤʸ˴Ťꡣ", +" ä `set term x11 font \"arial,15,italic\"` (ǥեȤ encoding", +" Ȥ) -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 Ѵޤ", +" <size>, <slant>, <weight> ϤɬܤǤϤޤ<slant> ", @@ -6916,8 +6995,8 @@ diff -ru term/x11.trm.ORG term/x11.trm END_HELP(x11) #endif /* TERM_HELP */ diff -ru term/xlib.trm.ORG term/xlib.trm ---- term/xlib.trm 2022-11-16.ORG 10:28:57.000000000 +0900 -+++ term/xlib.trm 2022-12-13 17:00:39.318554000 +0900 +--- term/xlib.trm.ORG 2023-07-24 16:00:54.648811000 +0900 ++++ term/xlib.trm 2023-07-24 16:03:18.342080000 +0900 @@ -96,6 +96,7 @@ #ifdef TERM_HELP diff --git a/docs/title-ja.tex b/docs/title-ja.tex index 0d40442f2..502ce24fb 100644 --- a/docs/title-ja.tex +++ b/docs/title-ja.tex @@ -72,7 +72,7 @@ % % Current gnuplot version as a macro %% -\def\gpVersion{5.5} +\def\gpVersion{6.0} \newbox\GpVersion \setbox\GpVersion=\hbox{\gpVersion} \def\gnuplotVersion{\usebox\GpVersion} @@ -132,10 +132,11 @@ Alexander Lehmann, Jérôme Lodewyck,\\ Alexander Mai, - Bastian Märkisch, \\ - Tatsuro Matsuoka, + Bastian Märkisch, + Tatsuro Matsuoka, \\ Ethan A Merritt, - Petr Mikulík,\\ + Petr Mikulík, + Hiroki Motoyoshi, \\ Daniel Sebald, Carsten Steger, Shigeharu Takeno,\\ @@ -145,7 +146,7 @@ Alex Woo, Johannes Zellner\\ Copyright {\copyright} 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley\\ - Copyright {\copyright} 2004 - 2022 various authors\\ + Copyright {\copyright} 2004 - 2023 various authors\\ \vspace{2ex} @@ -158,8 +159,8 @@ \vspace{2ex} -% December 2022 Version 5.5 - Version {\gpVersion} (snapshot December 2022) +% July 2023 Version 6.0 + Version {\gpVersion} (release candidate) \end{center} \newpage diff --git a/docs/titlepag.tex b/docs/titlepag.tex index 3ced3dc2f..fd5290b4b 100644 --- a/docs/titlepag.tex +++ b/docs/titlepag.tex @@ -1,53 +1,75 @@ -% LaTeX2e version -% add `[a4paper]' before `{article}' to load settings for A4-paper -% see below if you add 11pt or 12pt - \documentclass[twoside]{article} - \usepackage{toc_entr} - \usepackage{latexsym} - \usepackage[utf8x]{inputenc} - \usepackage{textgreek} - \usepackage{amsfonts} - \usepackage{amssymb} - \usepackage{nicefrac} +% Prolog file for gnuplot user manual +% This file has alternative sections for use with pdflatex or lualatex. +% Tested with texlive 2022, 2023 -% Use actual backticks in verbatim sections - \usepackage{upquote} +% Add '[a4paper]' before '{article}' to load settings for A4-paper +% See below if you add 11pt or 12pt + \documentclass[10pt,twoside]{article} + \usepackage{toc_entr} % imakeidx must come before hyperref (makeidx doesn't care) % \usepackage{makeidx} \usepackage[nonewpage]{imakeidx} \makeindex +% hyperref must come before the ucs/utf8x encoding mangling \usepackage[ -% We've given up trying to understand pdftex vs. normal latex. -% It'll just have to sort itself out. If it doesn't, add your -% own local hyperref options HERE. hyperindex, bookmarks, bookmarksnumbered=true, - pdftitle={gnuplot documentation}, + pdftitle={gnuplot version 6 documentation}, pdfauthor={gnuplot}, pdfsubject={see www.gnuplot.info} - % ,pdfcreator={} - % ,pdfkeywords={...} ]{hyperref} + \hypersetup{ + colorlinks = true, %Colours links instead of ugly boxes + linkcolor = blue, %Colour for internal links + urlcolor = blue %Colour for external hyperlinks + } + + +\usepackage{ifluatex,ifxetex} +\ifluatex + % These commands are for use with lualatex + % The default CM fonts are missing many unicode characters + \usepackage{fontspec} + \setmainfont{Free Serif} + \setmonofont{Free Mono} + \usepackage{unicode-math} +\else\ifxetex + % These commands are for use with xelatex + % The default CM fonts are missing many unicode characters + \usepackage{fontspec} + \setmainfont{FreeSerif.otf}[ + BoldFont = FreeSerifBold.otf , + ItalicFont = FreeSerifItalic.otf , + BoldItalicFont = FreeSerifBoldItalic.otf ] + \setmonofont{FreeMono.otf} + \usepackage{unicode-math} +\else + % These commands are for use with pdflatex + \usepackage{ucs} + \SetUnicodeOption{mathletters} + \usepackage[utf8x]{inputenc} + \usepackage{latexsym} + \usepackage{textgreek} + \usepackage{amsfonts} + \usepackage{amssymb} +\fi\fi + +% These commands are for the tables of functions + \usepackage{longtable} + \usepackage{nicefrac} + \def\gpCX{\footnotesize c} % our private symbol definition -% This replaces the default ugly red boxes around hyperlinks - \hypersetup{ - colorlinks = true, %Colours links instead of ugly boxes - linkcolor = blue, %Colour of internal links - urlcolor = blue %Colour for external hyperlinks - } - - \usepackage{fancyhdr} - - \usepackage{longtable} +% Use actual backticks in verbatim sections + \usepackage{upquote} % This is only needed if you want to embed figures \input{gpinsetfigure} % This supposedly discourages section titles from appearing - % alone at the bottom of a page. + % alone at the bottom of a page. But it doesn't seem to work. \clubpenalty=1000 % \widowpenalty=1000 @@ -71,14 +93,15 @@ \setlength{\parskip}{1ex} \setlength{\parindent}{0pt} -% For 11pt/12pt options change `\normalsize' to `\small' in -% preverbatim -% every verbatim environment is surrounded by the commands -\newcommand{\preverbatim}{\normalsize\vspace{-2.2ex}} -\newcommand{\postverbatim}{\normalsize\vspace{-0.5ex}} +% Every verbatim environment is surrounded by these commands. +% For 11pt/12pt options change '\normalsize' to '\small' +% or '\footnotesize' in the preverbatim definition +\newcommand{\preverbatim}{\par\footnotesize\vspace{-3ex}} +\newcommand{\postverbatim}{\vspace{-1.5ex}\par\normalsize} -\adjustarticle +% apply settings for toc_entr.sty +\adjustarticle \setcounter{secnumdepth}{5} \setcounter{tocdepth}{5} @@ -90,6 +113,7 @@ \def\gnuplotVersion{\usebox\GpVersion} % Layout setup of fancy headings: +\usepackage{fancyhdr} \pagestyle{fancy} \headsep=5.5mm \addtolength{\headheight}{7mm} %\setlength{\headrulewidth}{0.4pt} \chead{\hyperlink{TableOfContents}{gnuplot \usebox\GpVersion}} @@ -97,7 +121,11 @@ \rhead[\leftmark]{\thepage} \lhead[\thepage]{\leftmark} -\def\gpCX{${_{\mathbb{^C}} }$} + +% +% Words that may get hyphenated oddly if TeX is allowed to do so +% +\hyphenation{gnuplot windrose} \begin{document} @@ -145,10 +173,11 @@ Alexander Lehmann, Jérôme Lodewyck,\\ Alexander Mai, - Bastian Märkisch, \\ - Tatsuro Matsuoka, + Bastian Märkisch, + Tatsuro Matsuoka, \\ Ethan A Merritt, - Petr Mikulík,\\ + Petr Mikulík, + Hiroki Motoyoshi, \\ Daniel Sebald, Carsten Steger, Shigeharu Takeno,\\ @@ -158,7 +187,7 @@ Alex Woo, Johannes Zellner\\ Copyright {\copyright} 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley\\ - Copyright {\copyright} 2004 - 2022 various authors\\ + Copyright {\copyright} 2004 - 2023 various authors\\ \vspace{2ex} @@ -170,8 +199,8 @@ \vspace{2ex} -% October 2022 Version 6.0 - Version {\gpVersion} (pre-release alpha) +% July 2023 Version 6.0 + Version {\gpVersion} (release candidate) \end{center} \newpage diff --git a/docs/windows/doc2html.c b/docs/windows/doc2html.c index 66ad9e037..ea695132d 100644 --- a/docs/windows/doc2html.c +++ b/docs/windows/doc2html.c @@ -385,6 +385,8 @@ process_line(char *line, FILE *b, FILE *c, FILE *d) else break; } + case 'D': /* link to online demo figure */ + break; case 'F': /* latex embedded figure */ if (para) fprintf(b, "</p><p align=\"justify\">\n"); fprintf(b, "<img src=\"%s.png\" alt=\"%s\">\n", line2+1, line2+1); diff --git a/faq/Makefile b/faq/Makefile deleted file mode 100644 index 28189b960..000000000 --- a/faq/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -# -# Makefile for gnuplot FAQ -# - -SHELL = /bin/sh - -L2HT = htlatex -L2HT_OPTS = "htlatex.cfg" -LATEX = latex -LYNX = lynx -LYNX_OPTS = -dump -PDFLATEX = pdflatex -LUALATEX = lualatex - -all: html pdf - -html: faq.html -faq.html: faq.tex - $(L2HT) $< $(L2HT_OPTS) - -pdf: faq.pdf -faq.pdf: faq.tex - $(PDFLATEX) $< - $(PDFLATEX) $< - -faq-ja.pdf: faq-ja.tex - iconv -f EUC-JP -t UTF-8 $< > faq-ja-utf8.tex - $(LUALATEX) faq-ja-utf8.tex - $(LUALATEX) faq-ja-utf8.tex - mv faq-ja-utf8.pdf $@ - -txt: faq.txt -faq.txt: faq.html - $(LYNX) $(LYNX_OPTS) $< >$@ - -clean: - -rm -f faq.aux faq.css faq.dvi faq.html faq.log faq.out faq.pdf \ - faq.tmp faq.ps faq.toc faq.txt faq.4tc faq.4ct faq.lg faq.idv faq.xref \ - faq*.png *.log *.aux - diff --git a/faq/faq-ja.tex b/faq/faq-ja.tex deleted file mode 100644 index be640f39b..000000000 --- a/faq/faq-ja.tex +++ /dev/null @@ -1,2342 +0,0 @@ -%% Don't forget to change the paper format in the next line -% -% translated to Japanese by Shigeharu TAKENO -% Original: Id: faq.tex updated at 2022-06-14 -% -%%%% \documentclass[a4paper,11pt]{article} -%%% \documentclass[letter,11pt]{article} -% -%\documentclass[a4paper,11pt]{jarticle} % for platex -\documentclass[a4paper,11pt]{article} % for lualatex -%% end Japanese -\usepackage[margin=2cm]{geometry} -\usepackage[T1]{fontenc} -\usepackage[hyphens]{url} -\urlstyle{sf} - -\usepackage{luatexja} % for lualatex - -\parindent=0pt -\parskip=5pt - -\ifx\pdfoutput\undefined - % latex or latex2html output - \usepackage{times,mathptmx} - \usepackage[ -% hypertex, % commented out for lualatex - hyperindex, - bookmarks, - bookmarksnumbered=true, - pdftitle={gnuplot faq}, - pdfauthor={gnuplot}, - pdfsubject={see www.gnuplot.info} - % , pdfcreator={} - % , pdfkeywords={...} - ]{hyperref} - \newcommand{\latex}[1]{#1} -\else % *** pdflatex output - \usepackage{times,mathptmx} - \usepackage[ -% pdftex, - hyperindex, - bookmarks, - bookmarksnumbered=true, - pdftitle={gnuplot faq}, - pdfauthor={gnuplot}, - pdfsubject={see www.gnuplot.info} - % , pdfcreator={} - % , pdfkeywords={...} - ]{hyperref} -\fi - -\usepackage{color} -\definecolor{darkblue}{rgb}{0,0,0.5} -\hypersetup{ - colorlinks = true, %Colours links instead of ugly boxes - linkcolor = darkblue, %Colour of internal links - urlcolor = blue %Colour for external hyperlinks -} - -% There may be incompatibilities between different versions of -% url.sty, html.sty and hyperref.sty -- it seems there are machines which -% cannot combine them together with simultaneous output to dvi, pdf, html. -% Thus do it this way: -\ifx\html\undefined - % Modified Dec 2014 (EAM) for use with htlatex or pdflatex - \def\http#1{{\small\href{http://#1}{\url{http://#1}}}} - \def\mailto#1{{\small\href{mailto://#1}{\url{mailto://#1}}}} - \def\news#1{\href{news://#1}{\url{news://#1}}} -%%% \def\ftp#1#2{\href{ftp://#1#2}{\url{#1} in \url{#2}}} - \def\ftp#1#2{\href{ftp://#1#2}{\url{#1} \url{#2}}} -%% end Japanese -\else - % Running this file by latex2html: - \usepackage{html} -% \html{ - \newcommand{\news}[1]% - {\def~{\~{}}\htmladdnormallink{\latex{\url{#1}}\html{\textit{#1}}}% - {news:#1}% - } - \newcommand{\ftp}[2]% -%%% {\htmladdnormallink{\latex{\url{#1}{} in \url{#2}}% -%%% \html{\textit{#1} in \textit{#2}}}% - {\htmladdnormallink{\latex{\url{#1}{} \url{#2}}% - \html{\textit{#1} \textit{#2}}}% -%% end Japanese - {ftp://#1#2}% - } - \newcommand{\mailto}[1]% - {\htmladdnormallink{\latex{\url{<#1>}}\html{\textit{#1}}}% - {mailto:#1}% - } - \newcommand{\http}[1]% - {\htmladdnormallink{\latex{\url{http://#1}}% - \html{\textit{http://#1}}}% - {http://#1}% - } -% } -\fi - - -% History: -% version 1.4 dated 99/10/07 -% Revision 1.58 dated 2017/06/04 (last CVS version) -% - -% -\newcommand{\gnuplot}{\textbf{gnuplot }} -\newcommand{\Gnuplot}{\textbf{Gnuplot }} - -\begin{document} - -\title{\gnuplot FAQ} -\author{} -\date{} -\maketitle - -\noindent -%%% This material describes \gnuplot version 5 (up to 5.4) -ʸϡ\gnuplot С 5 (5.4 ޤ) ˤĤƤεҤǤ -%% end Japanese - \\ -%%% FAQ version: December 2021 -%%% FAQ version: June 2022 -FAQ С: 2022 6 - -%%% PDF version of current document: {\http{www.gnuplot.info/faq/faq.pdf}. -ʸ PDF : \http{www.gnuplot.info/faq/faq.pdf} (: Ѹ) - - -\tableofcontents - -\newpage -\setcounter{section}{-1} -%%% \section{Meta -- Questions} -\section{᥿ʼ} - -%%% \subsection{Where do I get this document?} -\subsection{ΥɥȤϤɤǼޤ} - -%%% The newest version of this document is on the web at -%%% \http{www.gnuplot.info/faq/}. -ΥɥȤκǿǤϡWeb % -\http{www.gnuplot.info/faq/} % -ˤޤ - -%%% \subsection{Where do I send comments about this document?} -\subsection{ΥɥȤ˴ؤ륳ȤϤɤɤǤ} - -%%% Send comments, suggestions etc to the developer mailing list -%%% \mailto{gnuplot-beta@lists.sourceforge.net}. -ȡϳȯԸ᡼󥰥ꥹ % -\mailto{gnuplot-beta@lists.sourceforge.net} äƤ - -%%% \section{General Information} -\section{Ūʼ} - -%%% \subsection{What is \gnuplot?} -\subsection{\gnuplot ȤϲǤ} - -%%% \gnuplot is a command-driven plotting program. -%%% It can be used interactively to plot functions and data points in -%%% both two- and three-dimensional plots in many different styles and -%%% many different output formats. \Gnuplot can also be used as a -%%% scripting language to automate generation of plots. -%%% It is designed primarily for the visual display of scientific data. -\gnuplot ϥޥɶưץǤؿ衢 -ӥǡ2 3 ξǡ -¿ΰۤʤ륹롢¿ΰۤʤϷǹԤȤǤޤ -ޤ\gnuplot ϼưŪ˥դ륹ץȸȤƤ -Ѥ뤳ȤǤޤ -ϼ˲ʳŪʥǡɽΤȤ߷פƤޤ -%% end Japanese -%%% \gnuplot is copyrighted, but freely distributable; -%%% you don't have to pay for it. You are welcome to download the source code. -\gnuplot ݸƤޤͳۤǤ -ʧɬפϤޤ󡣥ɤΥɤⴿޤޤ - - -%%% \subsection{How did it come about and why is it called \gnuplot?} -\subsection{ϤɤơƤʤ \gnuplot ȸƤФƤΤǤ} - -%%% The authors of \gnuplot are: -%%% Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John -%%% Campbell, Gershon Elber, Alexander Woo and many others. -\gnuplot κԤ Thomas Williams, Colin Kelley, Russell Lang, -Dave Kotz, John Campbell, Gershon Elber, Alexander Woo -¿ζϼԤǤ - -%%% The following quote comes from Thomas Williams: -ʲ Thomas Williams ˤޤ: -%% end Japanese -\begin{quote} -%%% I was taking a differential equation class and Colin was taking -%%% Electromagnetics, we both thought it'd be helpful to visualize the -%%% mathematics behind them. We were both working as sys admin for an -%%% EE VLSI lab, so we had the graphics terminals and the time to do -%%% some coding. The posting was better received than we expected, and -%%% prompted us to add some, albeit lame, support for file data. - ʬιֵ򡢤 Colin żؤιֵäƤơ - 2 ͤȤ⤽˴ؤؤвǤФʤȹͤƤޤ - ãϤ EE (Engineering Electronics) VLSI - ƥԤȤƯƤơơ - եåüȥǥ󥰤Ԥʤ֤ޤ - Ƥϲ桹δ԰ʾɤ졢ơԴǤ - եǡ˴ؤ뤤ĤΥݡȤ˲桹ΩƤޤ - -%%% Any reference to GNUplot is incorrect. The real name of the program -%%% is "gnuplot". You see people use "Gnuplot" quite a bit because many -%%% of us have an aversion to starting a sentence with a lower case -%%% letter, even in the case of proper nouns and titles. gnuplot is not -%%% related to the GNU project or the FSF in any but the most -%%% peripheral sense. Our software was designed completely -%%% independently and the name "gnuplot" was actually a compromise. I -%%% wanted to call it "llamaplot" and Colin wanted to call it "nplot." -%%% We agreed that "newplot" was acceptable but, we then discovered -%%% that there was an absolutely ghastly pascal program of that name -%%% that the Computer Science Dept.\ occasionally used. I decided that -%%% "gnuplot" would make a nice pun and after a fashion Colin agreed. - GNUplot ȤҲϤɤʤΤϤޤ - Υץ̾ "gnuplot" Ǥ - ֤ "Gnuplot" Ƚ񤫤ƤΤ򸫤Ǥ礦 - ϲ桹Ⱦͭ̾䥿ȥǤäƤ⡢ - ʸϤʸdzϤ뤳Ȥ˷äƤ뤫Ǥ - gnuplot GNU ץȤ FSF Ȥϡ - ˤ鷺ΰ̣оطޤ - 桹ΥեȥϴΩ˥ǥ󤵤줿Τǡ - "gnuplot" Ȥ̾ϼ¤ŶˤΤǤ - "llamaplot" ȸƤӤä - Colin "nplot" ȸƤӤäΤǤ - ơ桹 "newplot" ȤȤǹդޤ - ΤȤ̾ġŪˤޤ Pascal Υץ - ׻ʳǤޤ˻ȤäƤ뤳ȤΤޤ - ǻ "gnuplot" 碌ˤʤȤơ - Colin ⤽ƱդΤǤ -%% end Japanese -\end{quote} - - -%%% \subsection{What does \gnuplot offer?} -\subsection{\gnuplot ϲ󶡤Ƥޤ} - -\begin{itemize} -%%% \item Two-dimensional functions and data plots combining many different -%%% elements such as points, lines, error bars, filled shapes, labels, -%%% arrows, ... -%%% \item Polar axes, log-scaled axes, general nonlinear axis mapping, -%%% parametric coordinates -%%% \item Data representations such as heat maps, beeswarm plots, violin -%%% plots, histograms, ... -%%% \item Three-dimensional plots of data points, lines, and surfaces in -%%% many different styles (contour plot, mesh) -%%% \item Algebraic computation using integer, floating point, or complex -%%% arithmetic -%%% \item Data-driven model fitting using Marquardt-Levenberg minimization -%%% \item Support for a large number of operating systems, graphics -%%% file formats and output devices -%%% \item Extensive on-line help -%%% \item \TeX{}-like text formatting for labels, titles, axes, data points -%%% \item Interactive command line editing and history -\item 2 ǤδؿǡΡޤɽɤ٤޷ -٥ʸ󡢥٥ȥʤɤΰۤʤǤȤ߹碌 -\item ˺ɸп̤γƤ޲ѿɸ -\item ʬۡӡ॰աХ󥰥աҥȥʤɤ -ǡɽ -\item 3 ǤΥǡΡޤ̤ΡΥ % -(衢֤) ˤ -\item ¿ʣǿǤ黻 -\item Marquardt-Levenberg ŬˡѤǡưζ -\item ¿Υڥ졼ƥ󥰥ƥࡢ¿Υեåեϡ -¿ν֤Υݡ -\item ϰϤˤ錄륪饤إ -\item ٥롢ȥ롢ǡؤ \TeX{} 饤ʽ񼰤ˤ븫Фդ -\item ÷ϷΥǥåȵǽȥҥȥ () ǽΥݡ -%% end Japanese -\end{itemize} - - -%%% \subsection{Is \gnuplot suitable for scripting?} -\subsection{\gnuplot ϥץȤŬƤޤ} - -%%% Yes. Gnuplot can read in files containing additional commands during -%%% an interactive session, or it can be run in batch mode by piping a -%%% pre-existing file or a stream of commands to stdin. Gnuplot is used -%%% as a back-end graphics driver by higher-level mathematical packages -%%% such as Octave and can easily be wrapped in a cgi script for use as a -%%% web-driven plot generator. Gnuplot supports context- or data-driven -%%% flow control and iteration using familiar statements -%%% {\em if else continue break while for}. -gnuplot ÷¹ -ɲåޥɤޤեɤ߹ळȤǤޤ -¸ߤեɸϤΥޥ -ѥפȤäƥХå⡼ɤǤ뤳ȤǤޤ -gnuplot ϡOctave Τ褦ʹʿإѥåظǼ¹Ԥ -եåɥ饤ФȤƻȤƤޤ -cgi ץȤǥåפ뤳Ȥ -ưפ Web ưġȤƻȤȤǤޤ -gnuplot ϡʤߤΤ̿ {\em if else continue break while for} -Ѥʸ̮ưǡưν桢 -ӷ֤򥵥ݡȤƤޤ - - -%%% \subsection{Can I run \gnuplot on my computer?} -\subsection{\gnuplot ϻΥԥ塼ưȤǤޤ} - -%%% \Gnuplot{} is in widespread use on many platforms, including -%%% MS Windows, linux, unix, and OSX. The current source code retains -%%% supports for older systems as well, including VMS, Ultrix, OS/2, and -%%% MS-DOS. However 16-bit platforms are no longer supported. -\gnuplot ϡMS Windows, linux, unix, OSX ʤɤ -¿ΥץåȥۡǡѤǤޤ -ߤΥɤϡVMS, Ultrix, OS/2, % -MS-DOS ʤɤθŤƥΥݡȤݻƤޤ -16 ӥåȥץåȥۡϤ⤦ݡȤƤޤ - -%%% You should be able to compile the \gnuplot source more or -%%% less out of the box in any reasonably standard (ANSI/ISO C, POSIX) -%%% environment. -\gnuplot ΥϡʤɸŪ (ANSI/ISO C, POSIX ) ʴĶ -¿줿ΤξǤ⥳ѥǤǤ礦 - - -%%% \subsection{Legalities} -\subsection{饤󥹤ˤĤ} - -%%% \Gnuplot{} is authored by a collection of volunteers, who cannot -%%% make any legal statement about the compliance or non-compliance of -%%% \gnuplot or its uses. There is no warranty whatsoever. Use at your -%%% own risk. -\gnuplot ϥܥƥνĤˤäƺ줿ΤǤ - \gnuplotӤλѤεġ -ԵĤ˴ؤˡŪʸǤޤ󡣤ޤݾڤ⤢ޤ -ʬȤǤǻѤƤ - -%%% \Gnuplot{} is freeware in the sense that you don't have to pay for it. -%%% You can use or modify gnuplot as you like, however certain restrictions -%%% apply to further distribution of modified versions. -%%% Please read and abide by the modification and redistribution terms in -%%% the \textit{Copyright} file. Some individual source files are explicitly -%%% dual-licensed; in those cases alternative terms for redistribution of code -%%% in that specific file are listed at the head of the file. -\gnuplot ϡ̵Ǥȸ̣ǥե꡼Ǥ -gnuplot 򤢤ʤ˾褦˻ѤѤ뤳ȤǤޤ -ѤΤۤ뤳ȤˤĤƤϤ¤Ĥޤ -\textit{Copyright} Ȥե modification () -redistribution () ιܤɤǤ˽äƤ -եΤ̤ˡ餫ť饤󥹤ΤΤ -Ĥޤξ硢Υե˴ޤޤ륳ɤ -ۤ˴ؤξϡΥեƬ˵󤲤Ƥޤ - -%%% \subsection{Does \gnuplot have anything to do with the FSF and the GNU -%%% project?} -\subsection{\gnuplot FSF GNU ץȤȲطΤǤ} - -%%% \Gnuplot{} is neither written nor maintained by the FSF. At one -%%% time it -%%% was distributed by the FSF but this is no longer true. \Gnuplot{} -%%% as a whole -%%% is not covered by the GNU General Public License (GPL). -\gnuplot FSF äΤǤ FSF ƥʥ󥹤ƤΤǤ⤢ޤ - FSF ۤƤȤ⤢ޤ -ߤϤޤ -\gnuplot ϡGNU General Public License (GPL) ݸƤޤ - - -%%% \subsection{Where do I get further information?} -\subsection{ʤϤɤǼޤ} - -%%% See the main gnuplot web page \http{www.gnuplot.info}. -gnuplot Web ڡ \http{www.gnuplot.info} 򸫤Ƥ - -%%% Some documentation and tutorials are available in other languages -%%% than English. -%%% See \http{gnuplot.sourceforge.net/help.html}, section "Localized -%%% learning pages -%%% about gnuplot", for the most up-to-date list. -Ѹʳ¾θǤʸ⤢ޤ -ǿΥꥹȤˤĤƤϡ\http{gnuplot.sourceforge.net/help.html} % -"Localized learning pages about gnuplot" - - -%%% \section{Setting it up} -\section{󥹥ȡ} - -%%% \subsection{What is the current version of \gnuplot?} -\subsection{\gnuplot κǿС} - -%%% The current stable version of \gnuplot is 5.4, first released in -%%% July 2020. -%%% Incremental versions (patchlevel 1, 2, ...) are typically released -%%% every six months. -%%% The development version of \gnuplot is currently 5.5. -\gnuplot κǿΰǤϡ2020 ǯ 7 ˺ǽ˥꡼줿 5.4 Ǥ -С (ѥå٥ 1, 2, ...) ϡ 6 -꡼ޤ -\gnuplot γȯǤϡߤ 5.5 ȤʤäƤޤ - -%%% \subsection{Where can I get \gnuplot?} -\subsection{\gnuplot ϤɤǼޤ} -%% end Japanese -\label{where-get-gnuplot} - -%%% The best place to start is \http{www.gnuplot.info}. From there -%%% you find various pointers to other sites, including the project -%%% development site on SourceForge \http{sourceforge.net/projects/gnuplot}. -˺ǤŬڤʾ \http{www.gnuplot.info} Ǥ -顢㤨 SourceForge γȯץȥ % -\http{sourceforge.net/projects/gnuplot} ʤɤΡ -ʥȤξ򸫤ĤǤ礦 - -%%% The source distribution ("gnuplot-5.4.0.tar.gz" or a similar name) is -%%% available from the official distribution site -%%% \http{sourceforge.net/projects/gnuplot}. -ʪ ("gnuplot-5.4.0.tar.gz" ޤƱͤ̾) % -ϸۥ \http{sourceforge.net/projects/gnuplot} ˤޤ - -%%% \subsection{Why would I care about the development version?} -\subsection{ʤȯǤ򵤤ˤʤФޤ} - -%%% The current development version will generally include features that are -%%% not yet part of the most recent stable release of gnuplot. -ŪˡߤγȯǤϡǽ꡼Ǥ gnuplot ˤ -ޤäƤʤǽäƤޤ -%% end Japanese -%%%%As of July 2020 the 5.5 development version notably supports -% 2020 ǯ 7 ߡȯǤΥС 5.3 5ʲä˥ݡȤƤޤ: -%%%%\begin{itemize}{}{} -%%%%\setlength\itemsep{-4pt} -%%%%\item named colormaps to supplement the primary palette -% \item ľΥѥåȤ亴̾դ顼ޥå -%%%%\item along-path smoothing options for 2D and 3D curves -% \item 2 3 Υѥ˱äʿ경ץ -%%%%\end{itemize} - -%%% \subsection{Where can I get current development version of \gnuplot?} -\subsection{\gnuplot κǿγȯǤϤɤǼޤ} - -%%% The development version of gnuplot is held in a git repository which you -%%% can clone as shown below to inspect or build an executable program -%%% from the source. -gnuplot γȯǤϡgit ݥȥݻƤơʲ˼褦 -긵ǺĴ٤ꡢ -¹ԥץ򥽡Ǥޤ - -\latex{\scriptsize} -\begin{verbatim} - git clone https://git.code.sf.net/p/gnuplot/gnuplot-main gnuplot -\end{verbatim} -\latex{\normalsize} - -%%% Questions related to the development version should go to -%%% \mailto{gnuplot-beta@lists.sourceforge.net}. -ȯǤФɬ % -\mailto{gnuplot-beta@lists.sourceforge.net} äƤ - - -%%% \subsection{How do I compile \gnuplot on my system?} -\subsection{\gnuplot ϻΥƥǤϤɤѥ뤹ɤǤ} - -%%% Read the release notes and files \textit{README} and \textit{INSTALL}. -%%% You will need C and C++ compilers and installed versions of various -%%% support libraries depending on what configuration options you choose -%%% and what terminal types you want your executable to support. -꡼ΡȤ \textit{README}, \textit{INSTALL} Υե -ɤǤC C++ ѥ餬ɬפǡ͡ʥݡȥ饤֥꤬ -餫ᥤ󥹥ȡ뤵Ƥɬפ⤢ޤ -ϤɤΤ褦ꥪץ򤹤뤫ˤޤ -¹ԥեˤɤνϷ򥵥ݡȤˤޤ - -\begin{itemize} -\item -%%% To build from a release version on linux, use \textit{./configure} -%%% (or \textit{./configure {-}{-}prefix=\$HOME/usr} -%%% for an installation for a single user), \textit{make} and finally -%%% \textit{make install}. -linux ǥ꡼Ǥ饳ѥ뤹ˤϡ\textit{./configure} -(ͤΰ̥桼Ѥ˥󥹥ȡ뤹ϡ -\textit{./configure {-}{-}prefix=\$HOME/usr}) Ȥ - \textit{make} ȤơǸ \textit{make install} Ǥ -%% end Japanese -%%% Pay close attention to the output from the \textit{configure} script -%%% (yes there is a lot of it). -%%% There you will find hints as to what additional support libraries -%%% may be needed and what additional options may be desirable. -%%% In general you will need to have installed the "development" package -%%% for each of the support libraries. -\textit{configure} ץȤνϤˤϽʬդʧäƤ -(ϤȤƤĹΤ) -ˤϡɤΥݡȥ饤֥꤬ɬפʤΤ -ɤɲåץ˾ޤΤ -ȤäȤФҥȤƤޤ -̤ˤϡƥݡȥ饤֥Ρֳȯǡץѥå -󥹥ȡ뤷ƤɬפǤ礦 -%% end Japanese -\item -%%% To build from the development source on linux you must run a separate -%%% script \textit{./prepare} -%%% prior to running \textit{./configure} . -linux dzȯǥ饳ѥ뤹ˤϡ -\textit{./configure} ¹Ԥˡ -̤Υץ \textit{./prepare} ¹Ԥɬפޤ -%% end Japanese -\item -%%% On Windows, makefiles can be found in \textit{config/mingw}, -%%% \textit{config/msvc}, -%%% \textit{config/watcom}, and \textit{config/cygwin}. Update the options -%%% in the -%%% makefile's header and run the appropriate \textit{make} tool in the same -%%% directory -%%% as the makefile. Additional instructions can be found in the makefiles. -Windows Ǥϡmakefile \textit{config/mingw}, \textit{config/msvc}, -\textit{config/watcom}, \textit{config/cygwin} ˤޤ -makefile Ƭ˽񤫤Ƥ륪ץ - makefile ֤ƤΤƱǥ쥯ȥ -Ŭ \textit{make} ġ¹ԤƤ -ɲ⡢makefile ˽񤫤Ƥޤ -%% end Japanese -\item -%%% For other platforms, copy the relevant makefile (e.g. -%%% \textit{makefile.os2} for -%%% OS/2) from \textit{config/} to \textit{src/}, optionally update options -%%% in the -%%% makefile's header, then change directory to \textit{src} and run -%%% \textit{make}. -¾ΥץåȥեǤϡŬڤ makefile -(㤨 OS/2 ʤ \textit{makefile.os2}) % - \textit{config/} ǥ쥯ȥ꤫ \textit{src/} ˥ԡơ -makefile Υإåˤ륪ץɬפʤ鹹ơ -\textit{src} ˥ǥ쥯ȥươ -\textit{make} ¹ԤƤ -%% end Japanese -\end{itemize} - - -%%% \subsection{What documentation is there, and how do I get it?} -\subsection{ɥȤϤɤǤϤɤмޤ} - -%%% Full documentation is included in the release distribution as a PDF file. -%%% Individual sections can be browsed from inside a gnuplot session -%%% by typing \textit{help {\em keyword}}. -%%% Documentation in other formats can be compiled from source in the -%%% {\em docs} subdirectory. -ʪ˴ʥɥȤ PDF եǴޤޤƤޤ -ġΥϡgnuplot κ \textit{help {\em }} -ǤĤȤǸ뤳ȤǤޤ -ɥȤ¾η⡢{\em docs} ֥ǥ쥯ȥ -饳ѥǤޤ - -%%% Online copies in English and Japanese are available at -%%% \http{gnuplot.sourceforge.net/documentation.html}. -\http{gnuplot.sourceforge.net/documentation.html} ˡ -ѸǤܸǤΥԡ֤Ƥޤ - -%%% \subsection{Worked examples} -\subsection{ư륵ץ} - -%%% There is a directory of worked examples in the the source distribution. -%%% These examples and the resulting plots may also be found online at -%%% \http{gnuplot.sourceforge.net/demo/}. -ʪˤư륵ץΥǥ쥯ȥ꤬ޤޤƤޤ -饵ץ롢Ӥη̤襰դ % -\http{gnuplot.sourceforge.net/demo/} Ǥ⸫뤳ȤǤޤ - - -%%% \subsection{How do I determine which options were compiled into -%%% my \gnuplot executable?} -\subsection{ \gnuplot ˤɤΥץ󤬥ѥ뤵Ƥ뤫 -Τˤ} - -%%% Given that you have a compiled version of \gnuplot, you can use the -%%% {\em show} command to display a list of configuration and build options -%%% that were used to build your copy. The output formats (a.k.a. "terminals") -%%% built into your copy of gnuplot are reported by {\em set terminal}. -ѥѤߤ \gnuplot ͿƤ硢{\em show} ޥɤǡ -줬ѥ뤵줿Ȥ˻Ѥ줿ե졼 -ӥɥץΰɽǤޤ -ʤ gnuplot Ȥ߹ޤƤϷ ("terminal" Ȥޤ) ϡ -{\em set terminal} ɽǤޤ - -\latex{\small} -\begin{verbatim} -gnuplot> show version long -gnuplot> set terminal -\end{verbatim} -\latex{\normalsize} - - -%%% \section{Working with it.} -\section{ư} - -%%% \subsection{How do I get help?} -\subsection{إפϤɤмޤ} - -%%% Give the {\em help} command at the initial prompt. After that, keep -%%% looking through the keywords. Good starting points are {\em help plot} -%%% and {\em help set}. -ǽΥץץȤ {\em help} ޥɤ¹ԤƤ -θ奭ɤ򤿤ɤäƤäƤ -{\em help plot} {\em help set} ϤΤǤ礦 - -\begin{itemize} -\item -%%% Read the manual, if you have it. -⤷äƤʤޥ˥奢ɤǤ - -\item -%%% Run the demos in the {\em demo} subdirectory or look at the -%%% online copies. They should give you some ideas. -%%% \http{gnuplot.info/demo} -{\em demo} ֥ǥ쥯ȥΥǥ¹Ԥ뤫 -ͥåȾˤ뤽Υԡ򸫤Ƥ -ҥȤͿƤǤ礦 -\http{gnuplot.info/demo} - -\item -%%% Ask your colleagues, the system administrator, or the person who -%%% set up \gnuplot. -ƥԡޤ \gnuplot ꤷƱν˿ҤͤƤ - -\item -%%% There is an old-school usenet group devoted to gnuplot questions -%%% \news{comp.graphics.apps.gnuplot} -%%% inhabited mostly by users who found it last century. -gnuplot ˴ؤ Usenet 롼 % -\news{comp.graphics.apps.gnuplot} -Ť餢ޤν̱ϤۤȤο͡Ǥ - -\item -%%% A more browser-oriented help forum may be found on StackOverflow -%%% \http{stackoverflow.com/questions/tagged/gnuplot} -֥饦ظΥإץեब StackOverflow ˤޤ -\http{stackoverflow.com/questions/tagged/gnuplot} - -\item -%%% If all these fail, send mail to the gatewayed mailing list -%%% \mailto{gnuplot-info@lists.sourceforge.net}. -%%% Please note that to reduce the amount of spam it would otherwise receive, -%%% you must subscribe before you can post to it. -%%% Subscription instructions may be found at -%%% \http{lists.sourceforge.net/lists/listinfo/gnuplot-info}. -ˤ٤ƼԤ硢᡼󥰥ꥹ % -\mailto{gnuplot-info@lists.sourceforge.net} ˥᡼äƤ -Υ᡼󥰥ꥹȤ̤˼Ƥޤ̤ spam ︺뤿ᡢ -ƤˤΥ᡼󥰥ꥹȤ˻ (subscribe) ʤФʤ -ȤդƤäˡϡ -\http{lists.sourceforge.net/lists/listinfo/gnuplot-info} -ˤޤ - -\end{itemize} -%%% When asking a question, always mention the \gnuplot version and -%%% operating system you are using. If you are asking about a plot that -%%% did not come out the way you expected, please try to show a minimal -%%% set gnuplot commands that produce a plot showing the problem. -򤹤ݤϡʤѤƤ \gnuplot ΥС -ڥ졼ƥ󥰥ƥˤĤƤڤɬפޤ -ʤΤǴԤ褦ˤϤޤǤʤäդˤĤ -䤷Ȥϡ -ĥդ褦ʺǾ gnuplot ޥ -褦ˤƤ - - -%%% \subsection{How do I print out my graphs?} -\subsection{ɤХդץȥȤǤޤ} - -%%% The output format produced by a plot command is determined by a -%%% prior {\em set terminal} command. For non-interactive output -%%% you should pair this with a {\em set output} command to provide -%%% a file name. -plot ޥɤΤνϷϡ - {\em set terminal} ˤäƷꤷޤ -÷ǤʤϤФƤϡե̾ꤹ뤿 - {\em set output} ޥɤȤˤƼ¹Ԥޤ - -%%% As an example, the following session first plots a graph of sin(x) -%%% to the screen and then redraws that same plot as a PDF output file. -%%% Note: the PDF plot may not look exactly like the plot on the screen. -ʲκȤϡޤ sin(x) Υդ򥹥꡼褷 -Ʊդ PDF ϥեȤƺ褷ޤ -: PDF Ϥϡ꡼ɽ륰դȴˤ -Ʊˤʤʤǽޤ - -%%% \small -%%% \begin{verbatim} -%%% gnuplot> plot sin(x) -%%% gnuplot> set terminal pdf -%%% Terminal type is now 'pdfcairo' -%%% Options are ' transparent enhanced fontscale 0.5 size 5.00in, 3.00in ' -%%% gnuplot> set output "sin.pdf" -%%% gnuplot> replot -%%% gnuplot> unset output # close output file (otherwise it stays open) -%%% gnuplot> unset terminal # return to default interactive terminal -%%% gnuplot> -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -gnuplot> plot sin(x) -gnuplot> set terminal pdf -Terminal type is now 'pdfcairo' -Options are ' transparent enhanced fontscale 0.5 size 5.00in, 3.00in ' -gnuplot> set output "sin.pdf" -gnuplot> replot -gnuplot> unset output # ϥեĤ (Ǥʤȳޤ) -gnuplot> unset terminal # ǥե÷Ϸ᤹ -gnuplot> -\end{verbatim} -\latex{\normalsize} - -%%% If the start point is not the default interactive terminal you -%%% can accomplish the same thing using {\em push} and {\em pop} -ȯǥե÷ϷǤʤϡ -ƱȤ {\em push} {\em pop} ãǤޤ -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% gnuplot> set terminal push # save current terminal type (may not -%%% be default) -%%% gnuplot> set terminal pdf -%%% gnuplot> set out 'a.pdf' -%%% gnuplot> replot -%%% gnuplot> unset out -%%% gnuplot> set term pop # restore saved terminal type -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -gnuplot> set terminal push # ߤνϷ¸ (ǥեǤʤƤ褤) -gnuplot> set terminal pdf -gnuplot> set out 'a.pdf' -gnuplot> replot -gnuplot> unset out -gnuplot> set term pop # ¸Ϸ -\end{verbatim} -\latex{\normalsize} - -%%% Some interactive terminal types ({\em win, wxt, qt}) provide a -%%% printer icon on their toolbar. This widget prints the current -%%% plot or saves it to file using generic system tools rather than -%%% by using a different gnuplot terminal type. -%%% That is, the file you get by selecting "save to png" -%%% in the print menu may be different than the file you get from -%%% {\em set term png; replot;}. -%%% In general a plot saved in this way will more closely reproduce -%%% the screen image than a plot generated from the command line -%%% by changing the terminal type. -÷ϷˤϤΥġС˥ץ󥿥󶡤 -Τ⤢ޤ ({\em win, wxt, qt} ) -ϡ¾νϷѤΤǤϤʤ -ƥѰդƤŪʥƥġȤ -ߤΥդ뤫ޤϥե¸ޤ -ʤ˥塼 "save to png" 򤷤եϡ -{\em set term png; replot;} ˤäեȤ -㤦Τˤʤޤ -̤ˡˡ¸դϡޥɥ饤󤫤Ϸѹ -Τ⡢ꥹ꡼˶ᤤΤǤ礦 - - -%%% \subsection{How do I include my graphs in my favorite word processor?} -\subsection{ɤХդΥץեȤ˼ޤ} - -%%% Basically, you save your plot to a file in a format your word -%%% processor can understand, and then you read in the plot from your -%%% word processor. Vector formats (PostScript, emf, svg, pdf, \TeX{}, -%%% \LaTeX{}) should be preferred, -%%% as you can scale your graph later to the right size. -Ūˡդ򤽤ΥץեȤǤΥե¸С -ΥץեȤɤ߹ळȤǤǤ礦 -ѴǤȤǡ٥ȥΥեޥå % -(PostScript, emf, svg, pdf, \TeX{}, \LaTeX{}) Ǥ礦 - -%%% Use {\em set term} to get a list of available file formats. -ѤǤեΰ򸫤ˤ {\em set term} ȤƤ - -%%% Many word processors can use Encapsulated PostScript (*.eps) for graphs. -%%% You can generate eps output in \gnuplot using either -%%% {\em set terminal postscript eps} -%%% or -%%% {\em set terminal epscairo} -%%% . -%%% \Gnuplot does not embed a bitmap preview image in the output eps file. -%%% To accommodate some word processors you may have to add a preview -%%% image yourself using an external tool before importing it into the -%%% word processor. -¿ΥץեȤ Encapsulated PostScript (*.eps) Υդޤ -\gnuplot Ǥϡ\\ -{\em set terminal postscript eps} -ޤ -{\em set terminal epscairo} -ȤȤ eps ϤǤޤ -\gnuplot ϡϤ EPS ե˥ץӥ塼ѤΥӥåȥޥåײ -ߤޤΤǡץեȤб뤿ˡ -ΥեץեȤ˼ˡġȤä -ʬȤǥץӥ塼ɲäʤȤʤ⤢뤫⤷ޤ - -%%% Some applications, including the LibreOffice and Microsoft Office -%%% suites, can handle -%%% vector images in EMF format. These can be either produced by the emf -%%% terminal, or by selecting 'Save as EMF...' from the toolbar of the -%%% windows terminal plot window. -LibreOffice Microsoft Office Υץꥱˤϡ -EMF Υ٥ȥǤΤޤ -Τ褦ʲե emf ϷǤޤ -windows Ϸ襦ɥΥġС % -'Save as EMF...' 򤹤뤳ȤǤޤ - -%%% LibreOffice can also read SVG, as well as AutoCAD's dxf format. -LibreOffice SVG ⡢AutoCAD dxf ɤߤळȤǤޤ - -%%% There are many ways to use gnuplot to produce graphs for inclusion in a -%%% \TeX\ or \LaTeX\ document. -%%% Some terminals produce *.tex fragments for direct inclusion; others -%%% produce *.eps, *.pdf, *.png output to be included using the -%%% \textbackslash{}includegraphics command. -%%% The epslatex and cairolatex terminals produce both a graphics -%%% file (*.eps or *.pdf) and a *.tex document file that refers to it. -%%% The tikz terminal produces full text and graphics to a pdf file -%%% when the output is processed with pdflatex. -gnuplot Ȥä \TeX\ \LaTeX\ ʸ˼िΥդˡ -̤⤢ޤ - *.tex եҤľϷ⤢ޤ -\textbackslash{}includegraphics ޥɤȤäƼि % -*.eps, *.pdf, *.png ϤΤ⤢ޤ -epslatex cairolatex Ϸϡե (*.eps *.pdf) -򻲾Ȥ *.tex ʸեξޤ -tikz ϷϡƥȤȥդ -νϤ pdflatex ǽ PDF ե뤬Ǥޤ - -%%% Most word processors can import bitmap images (png, pbm, etc). -%%% The disadvantage of this approach is that the resolution of your -%%% plot is limited by the size of the plot at the time it is generated -%%% by \gnuplot, which is generally a much lower resolution than the -%%% document will eventually be printed in. -ΥץեȤϥӥåȥޥåײ (png, pbm ) % -ळȤǤޤ -ˡûϡ -Υդ \gnuplot ˤä줿ȤΥˤä -β٤¤ƤޤȤǤ -̤ˡʸ񤬺ǽŪ˥ץȥȤ٤ -β٤Ϥʤ㤯ʤޤ - - -%%% \subsection{How do I edit or post-process a \gnuplot graph?} -\subsection{ɤ \gnuplot ΥդԽǤޤ} - -%%% This depends on the terminal type you use. -ϤʤȤϷ˰¸ޤ - -\begin{itemize} - -%%% \item \textbf{svg} terminal (scalable vector graphics) output can -%%% be further edited by a svg editor, e.g. -%%% \textbf{Inkscape} (\http{www.inkscape.org}), -%%% \textbf{Skencil} (\http{www.skencil.org}) or -%%% \textbf{Dia} (\http{projects.gnome.org/dia/}), or loaded -%%% into \textbf{OpenOffice.org} with an on-fly conversion into OO.o Draw -%%% primitives. -\item \textbf{svg} Ϸ (scalable vector graphics) νϤ % -\textbf{Inkscape} (\http{www.inkscape.org}), -\textbf{Skencil} (\http{www.skencil.org}), -\textbf{Dia} (\http{projects.gnome.org/dia/}), % -Τ褦 svg ǥǹʤԽԤʤޤ -\textbf{OpenOffice.org} (OO.o Draw ץߥƥ֤ؤѴˤä) % -˼ळȤǤޤ - -%%% \item PostScript or PDF output can be edited directly by tools such -%%% as Adobe Illustrator or Acrobat, or can be converted to a variety -%%% of other editable vector formats by the \textbf{pstoedit} package. -%%% Pstoedit is available at \http{www.pstoedit.net}. -\item PostScript PDF ϤϡAdobe Illustrator Acrobat % -Τ褦ʥġľԽǤޤ -\textbf{pstoedit} ѥå¾οԽǽʥ٥ȥ -Ѵ뤳ȤǽǤ -pstoedit \http{www.pstoedit.net} ˤޤ - -%%% \item The DXF format is the AutoCAD's format, editable by several -%%% other applications. -\item DXF Ϸ AutoCAD ν񼰤ǡ¾ΤĤΥץꥱǤ -ԽǤޤ - -%%% \item Bitmapped graphics (e.g. png, jpeg, pbm) can be edited using -%%% tools such as ImageMagick or Gimp. -\item ӥåȥޥå׷β (png, jpeg, pbm ) ImageMagick % -Gimp ͤʥġԽ뤳ȤǤޤ -%% end Japanese -%%% In general, you should use a vector graphics program to post-process -%%% vector graphic formats, and a pixel-based editing program -%%% to post-process pixel graphics. -̤ˡ٥ȥ륰եåθԤʤˤ -٥ȥ륰եåץ (ɥϥġ) -ԥˤϥԥϤΥץ (ڥȷϥġ) % -Ȥɬפޤ - -\end{itemize} - -%%% \subsection{How do I save and restore my current settings?} -\subsection{ɤиߤ¸/ѤǤޤ} - -%%% Use the {\em save "filename"} and {\em load "filename"} commands. -ˤ {\em save "filename"} {\em load "filename"} Υޥɤ -ȤäƤ - -%%% \subsection{Can I put both commands and data into a single file?} -\subsection{ĤΥե gnuplot Υޥɤȥǡξ񤱤ޤ} - -%%% \Gnuplot Version 5 supports named blocks of data in "here document" -%%% format: -\gnuplot ΥС 5 Ǥϡ֥ҥɥȡ׷Ǥ -̾դǡ֥å򥵥ݡȤƤޤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -gnuplot> $DATABLOCK << EOD - cats 4 2 - dogs 1 4 -EOD -gnuplot> plot $DATABLOCK using 2:3:1 with labels -\end{verbatim} -\latex{\normalsize} -%%% Once the named block has been defined, it can be used as many times -%%% as you like. -̾դǡ֥åϰС٤ǤȤȤǤޤ - -%%% Data can also be provided in-line as part of a plot command using the -%%% pseudo-file "-". In this case the data can only be used once. -ǡϡplot ޥɾǵե \verb+plot "-"+ -Ԥäƥ饤Ϳ뤳ȤǤޤ -ξϡǡϰ٤Ȥޤ - -\latex{\small} -\begin{verbatim} -gnuplot> plot "-" -1 1 -2 4 -3 9 -e -\end{verbatim} -\latex{\normalsize} - -%%% \subsection{How do I run my data through a filter before plotting?} -\subsection{ɤ˥ǡ˥ե륿򤫤ޤ} - -%%% If your operating system supports the popen() function, you -%%% can filter input data through another program or system utility -%%% as part of the {\em plot} command. -ʤλѤ OS popen() ؿ򥵥ݡȤƤʤ顢 -¾Υץ䥷ƥ桼ƥƥ {\em plot} ޥɤ -ʬȤƻѤϥǡե륿󥰤뤳ȤǤޤ - -%%% \small -%%% \begin{verbatim} -%%% gnuplot> plot "< sort +2 file.in" # pre-sort data on column 2 -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -gnuplot> plot "< sort +2 file.in" # 2 ܤΥǡǻ˥ -\end{verbatim} -\latex{\normalsize} - -%%% This mechanism is particularly powerful in combination with the -%%% unix-derived command line utilities {\em awk}, {\em sort} and {\em grep}. -λȤߤϡUnix ͳΥޥɥ饤ġ {\em awk}, {\em sort}, -{\em grep} ʤɤȤ߹碌ƻѤȤȤƤ⶯ϤǤ - -%%% \subsection{Can I use \gnuplot routines for my own programs?} -\subsection{Υץ \gnuplot Υ롼ѤǤޤ} - -%%% On systems supporting pipes, you can pipe commands to \gnuplot from -%%% other -%%% programs. Many applications with gnuplot as the graphics engine, like -%%% Octave -%%% (\http{www.octave.org}), uses this method. This also works from a -%%% cgi script to -%%% drive \gnuplot from a forms-based web page. -ѥפ򥵥ݡȤƤ륷ƥǤϡ -¾Υץफѥ׷ͳ \gnuplot ˥ޥɤϤȤǤޤ -Octave (\http{www.octave.org}) Τ褦ˡ -gnuplot 򥰥եå󥸥ȤƻѤƤ¿Υץꥱ -ˡѤƤޤ -ϡform ١ Web ڡ \gnuplot ư cgi ץȤǤ -ѤǤޤ - - -%%% \section{Customizing the appearance of your plot} -\section{դθܤΥޥ} - -%%% \subsection{How to inspect or change the default colors, line, and -%%% point properties?} -\subsection{Υǥե°Ĵ٤ѹˤ} - -%%% When you issue a {\em plot} or {\em splot} command with multiple -%%% components, -%%% \gnuplot will by default cycle through a set of colors and linetypes. -%%% You can override this by providing specific color or linetype -%%% properties in the -%%% plot command or you can change the default sequence. -%%% Each of the commands below accepts many additional parameters -ʣǤФ {\em plot} {\em splot} ޥɤ¹Ԥ硢 -\gnuplot ϡǥեȤǤϿνŪ˻Ѥޤ -ϡ plot ޥ ο°ꤹ뤳Ȥ -ѹǤޤǥեȤѹ뤳ȤǤޤ -ʲΥޥɤϡ줾ɲåѥ᡼򤿤Ǥޤ -%% end Japanese -\begin{list}{}{} - \item -%%% {\em test} displays the active colors, line and point properties, etc -%%% for the current terminal type - {\em test} ϡߤνϷФͭʿ°ʤɤ - ɽޤ -%% end Japanese - \item -%%% {\em set color} or {\em set monochrome} selects a pre-defined sequence. - {\em set color} {\em set monochrome} ϡѤߤ򤷤ޤ -%% end Japanese - \item -%%% {\em set linetype} changes the properties of an existing linetype -%%% or adds a new one. - {\em set linetype} ϡ¸ߤ°ѹ뤫 - Τɲäޤ -%% end Japanese - \item -%%% {\em set palette} changes the color palette used for pm3d modes -%%% such as heat maps. - {\em set palette} ϡϿޤΤ褦 pm3d ⡼ɤǻѤ - 顼ѥåȤѹޤ -%% end Japanese - \item -%%% {\em set pointsize} scales all points by an additional factor - {\em set pointsize} ϡɲäΨȤ - ٤ƤΥ򥹥뤷ޤ -%% end Japanese -\end{list} - -%%% \subsection{Hidden line or surface removal} -\subsection{̽} - -%%% There are two relevant commands. {\em set hidden3d} affects surfaces -%%% drawn using the 3D plot style {\em splot ... with lines}. It also clips -%%% line segments created by other 3D plot styles that are occluded by those -%%% surfaces. However it does not handle plots generated in {\em pm3d} mode. -2 ĤδϢ륳ޥɤޤ -{\em set hidden3d} ϡ3 襹 {\em splot ... with lines} -褹̤˱ƶͿޤ -ϡ¾ 3 襹졢ζ̤DZʬ -åԥ󥰤ޤ -{\em pm3d} ⡼ɤ륰դϽޤ -%% end Japanese -%%% This includes styles {\em with pm3d}, {\em with zerror}, {\em with boxes}, -%%% and miscellaneous plot elements generated while {\em set pm3d} is -%%% in effect. -{\em with pm3d}, {\em with zerror}, {\em with boxes} -롢 {\em set pm3d} ͭʺ줿 -͡ǤˤĤƤƱͤǤ -%% end Japanese -%%% Hidden surface removal for these plots is achieved instead by drawing -%%% them -%%% in order of their distance from the viewer, controlled by -%%% {\em set pm3d depthorder}. -ΥդФ뱣̽ϡ -¦εΥν֤ -褹뤳ȤˤäŪãƤޤ -ν֤ϡ{\em set pm3d depthorder} Ǥޤ - -%%% \subsection{How do I force exact positions for the graph borders -%%% on the page?} -\subsection{դζڡΰ֤ٹ碌ˤ} - -%%% Specify the position of the top, bottom, left, and right borders in -%%% terms of their fractional position within the page: -塢ζ֤򡢥ڡΰ֤ȤΨǻꤷƤ: - -\latex{\small} -\begin{verbatim} -set lmargin at screen 0.05 -set bmargin at screen 0.05 -set rmargin at screen 0.95 -set tmargin at screen 0.95 -\end{verbatim} -\latex{\normalsize} - -%%% \subsection{Arranging multiple plots next to each other on a single page} -\subsection{ʣΥդҤȤĤΥڡƱΤ֤ˤ} - -%%% The command you want is {\em set multiplot}. The program can place -%%% a specified number of plots on a regular grid -%%% ({\em set mulplot layout <rows>, <columns> ...}) or you can position them -%%% one by one using {\em set origin} and {\em set size}. -ʤɬפȤ륳ޥɤ {\em set multiplot} Ǥ -gnuplot ϻꤷΥդ§Ūʾܾ֤ޤ % -({\em set mulplot layout <rows>, <columns> ...}) -ޤϡ {\em set origin} {\em set size} Ȥä -ҤȤĤİ֤뤳ȤǤޤ - -%%% \subsection{How to request 1:1 scaling of axes?} -\subsection{ĤȲμ 1:1 ˤǤޤ} - -%%% Try {\em set size square} or {\em set view equal xy}. -{\em set size square} % -{\em set view equal xy} ȤƤߤƤ - -%%% \subsection{Palette that works for both color and black\&white printing?} -\subsection{顼ȥΥξνϤǵǽ褦ʥѥåȤ} - -%%% Try {\em set palette cubehelix}. -{\em set palette cubehelix} Ƥ - -%%% \subsection{How do I skip data points?} -\subsection{ɤǡ򥹥åפǤޤ} - -%%% By specifying \textit{?} as a data value, as in -ʲΤ褦˥ǡͤȤ \textit{?} ꤹФǤޤ -%% end Japanese -\latex{\small} -\begin{verbatim} - 1 2 - 2 3 - 3 ? - 4 5 -\end{verbatim} -\latex{\normalsize} - -%%% See also \textit{set missing}. -%%% See also \textit{set datafile commentschars} for specifying comment -%%% characters in -%%% data files. -\textit{set missing} ⻲ȤƤ -ǡեΥʸꤹˤϡ -\textit{set datafile commentschars} 򻲾ȤƤ - - -%%% \subsection{How do I plot every nth point?} -\subsection{ɤ n ˥ǡ򰷤ޤ} - -%%% This can be specified with various options for the command {\em plot}, -%%% for example {\em plot 'a.dat' every 2}. If you want to draw a line -%%% through every point but only draw a point symbol at every nth point, -%%% then try {\em plot 'a.dat' with linespoints pointinterval n}. -ϡ㤨 {\em plot 'a.dat' every 2} Τ褦ˡ -{\em plot} ޥɤ˿ʥץꤹ뤳ȤǤǤޤ -٤Ƥ̤ε n ˽񤭤ϡ\\ -{\em plot 'a.dat' with linespoints pointinterval n} ȤƤߤƤ - - -%%% \subsection{How do I plot a vertical line?} -\subsection{ɤľ񤱤ޤ} - -%%% Depending on context, the main methods are: -ˤޤˡϰʲ̤Ǥ: -%% end Japanese -\begin{itemize} -%%% \item {\em set arrow .... .... nohead} where you have to compute -%%% explicitly the start and the end of the arrow. -%%% \item generate inlined datapoints and plot them -\item {\em set arrow .... .... nohead} ξ硢 -ΤʳȽλΰ֤׻Ƥɬפޤ -\item ǡä (饤Ǥλ) -%% end Japanese -\end{itemize} - -%%% \subsection{Y axis label in the wrong place and/or left margin too big} -\section{Y Υ٥ΰ֤뤤γ礭} - -%%% \Gnuplot has trouble estimating how much space to the left of the plot -%%% will be required to hold the Y axis label if it is printed horizontally -%%% ({\em set ylabel norotate}). This is particularly true if there is -%%% TeX markup in the label string. To work around this problem you can place -%%% the text in a numbered label rather than in {\em ylabel}. -\gnuplot ϡY ٥ʿ˽Ϥ ({\em set ylabel norotate}) -񤯤Τˡդκˤɤ줯餤Υڡɬפ -ɾˡƤޤ -ϡΥ٥ʸ TeX ΥޡåפޤǤ -äˤǤβȤơ{\em ylabel} ǤϤʤ -ֹդ٥ʸ֤ȤǤޤ -%% end Japanese -\latex{\small} -\begin{verbatim} -Y = 1001 -set label Y '$\operatorname{\mathfrak{Im}} S_{21}$' -set label Y norotate at graph 0.0, 0.5 offset -6 -\end{verbatim} -\latex{\normalsize} - -%%% \section{Plot types that people often ask about} -\section{ɤ䤵륰դη} - -%%% \subsection{Animations} -\subsection{˥᡼} - -%%% \Gnuplot versions through release 5.4 support only one terminal type -%%% (gif) that directly outputs an animated file: -\gnuplot С 5.4 ޤǤϡľܥ˥᡼եϤǤ -ϷϰĤ (gif) Ǥ: -%% end Japanese -\begin{verbatim} -set terminal gif animate {delay <time>} {loop <N>} {optimize} -\end{verbatim} - -%%% The development version (5.5) also supports animation in webp format. -ȯ (5.5) Ǥϡwebp եޥåȤǤ⥢˥᡼ -ݡȤƤޤ -%%% Have a look at -%%% \http{gnuplot.sourceforge.net/demo/animate2.html} -%%% in the demo collection. -ǥ -\http{gnuplot.sourceforge.net/demo/animate2.html} -⻲ȤƤ - -%%% \subsection{Implicit defined graphs} -\subsection{ؿΥ} - -%%% Implicit graphs or curves cannot be plotted directly in \gnuplot. -%%% However there is a workaround. -\gnuplot ǤϱؿΥդľܤǤޤ -κϤޤ -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% gnuplot> # An example. Place your definition in the following line: -%%% gnuplot> f(x,y) = y - x**2 / tan(y) -%%% gnuplot> set contour base -%%% gnuplot> set cntrparam levels discrete 0.0 -%%% gnuplot> unset surface -%%% gnuplot> set table $TEMP -%%% gnuplot> splot f(x,y) -%%% gnuplot> unset table -%%% gnuplot> plot $TEMP w l -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -gnuplot> # : ιԤŬ֤Ƥ -gnuplot> f(x,y) = y - x**2 / tan(y) -gnuplot> set contour base -gnuplot> set cntrparam levels discrete 0.0 -gnuplot> unset surface -gnuplot> set table $TEMP -gnuplot> splot f(x,y) -gnuplot> unset table -gnuplot> plot $TEMP w l -\end{verbatim} -\latex{\normalsize} -%% end Japanese -%%% The trick is to draw the single contour line z=0 of the surface -%%% z=f(x,y), and store the resulting contour curve to a temporary file or -%%% datablock. -λųݤϡ z=f(x,y) 1 ܤ z=0 -Υǡեǡ֥å˥֤뤳Ȥˤޤ - - -%%% \subsection{How to fill an area between two functions} -\subsection{2 Ĥδؿδ֤ΰɤĤ֤ˤ} - -%%% A plot with filled area between two functions f(x) and g(x) can -%%% be obtained using -%%% the pseudo file '+' with plot style {\em filledcurves}. -2 Ĥδؿ f(x) g(x) δ֤ɤĤ֤դϡ -ե '+' {\em filledcurves} ȤдñˤǤޤ -%% end Japanese -\latex{\small} -\begin{verbatim} -f(x)=cos(x); g(x)=sin(x) -set xrange [0:pi] -plot '+' using 1:(f($1)):(g($1)) with filledcurves -\end{verbatim} -\latex{\normalsize} - -%%% Note that this code fragment fills area between the two curves -%%% regardless of -%%% which one is above the other. If you want to fill only the area -%%% satisfying g(x)<f(x) -%%% or f(x)<g(x) -%%% add an additional keyword {\em above} or {\em below} after -%%% {\em filledcurves}. -դƤ餤ΤǤ -ΥץȤ 2 Ĥζδ֤ΰɤĤ֤ΤǤäơ -ɤ餬¾ξǤ뤫θϤޤ󡣤⤷ -g(x)<f(x) ޤ f(x)<g(x) ΰΤߤɤ٤ʤ顢 -{\em filledcurves} θ {\em above} {\em below} -ɤɲäƤ - - - -%%% \subsection{Drawing a 2D projection of 3D data} -\subsection{3 ǡ 2 ͱƤ褹ˤ} - -%%% The command {\em set view map} adjusts the view angle and scaling such -%%% that subsequent 3D graphs made with {\em splot} have approximately -%%% the same layout -%%% as a 2D graph made with {\em plot}, with the x axis horizontal and the -%%% y axis vertical. -%%% Version 5.4 commands {\em set view projection xz} and {\em set view -%%% projection yz} -%%% similarly initialize layouts for 2D projection of the xz or yz plane, -%%% with the -%%% z axis horizontal and the x or y axis vertical. -ޥ {\em set view map} ϡѤȥĴ -³ {\em splot} ˤ 3 դ -{\em plot} ˤ 2 դȤۤƱ쥤Ȥǡx ʿˡ -y ľɽƤޤ -С 5.4 Υޥ {\em set view projection xz} -{\em set view projection yz} ϡƱͤ xz yz ʿ̤ -2 ͱѤΥ쥤Ȥz ʿˤ -x y ľɽޤ - -%%% \subsection{How to overlay dots/points scatter plot onto a pm3d map/surface} -\subsection{pm3d Ͽ/̾ dots/points λۿޤŤͤˤ} - -%%% Use the {\em explicit} option of the pm3d style: -pm3d {\em explicit} ץȤäƤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -gnuplot> set pm3d explicit -gnuplot> splot x with pm3d, x*y with points -\end{verbatim} -\latex{\normalsize} - - -%%% \subsection{How to produce labeled contours} -\subsection{٥Ĥ褹ˤ} - -%%% Labeling individual contours in a contour plot used to require special -%%% tricks and extra processing steps in \gnuplot version 4. -%%% In version 5 it is much simpler. Plot the contours twice, -%%% once "with lines" and once "with labels". To make the labels stand out -%%% it may help to use -ġ˥٥Ĥդϡ\gnuplot С 4 Ǥ -΢;ʬʽ礬ɬפǤ -С 5 ǤϤμϤȤƤñǤ -1 ܤ "with lines" ǡ2 ܤ "with labels" % -2 褹Ǥ -Ωĥ٥ϡʲΤ褦ˤȤǤ礦 -%% end Japanese -\begin{verbatim} -set style textbox opaque noborder -set contours -splot 'DATA' with lines, 'DATA' with labels boxed -\end{verbatim} - -%%% \subsection{Does \gnuplot support bar-charts/histograms/boxes?} -\subsection{\gnuplot /ҥȥ/Ȣդ񤱤ޤ} - -%%% \Gnuplot{} supports various clustered and stacked histogram styles -%%% to display -%%% pre-tabulated data. It also offers a few options for accumulating -%%% raw data -%%% into bins, which can in turn be displayed as a bar chart. See the -%%% documentation -%%% for \textit{bins} and for \textit{smooth frequency}. -\gnuplot{} ϡ餫ɽˤ줿ǡɽ뤿Ρ -ޤޤʲ¤ӷ (clustered) Ѥ߾夲 (stacked) -ҥȥॹ򥵥ݡȤƤޤ -ޤΥǡѤ뤿ΤĤΥץ󶡤Ƥơ -ڤؤդȤɽ뤳ȤǽǤ -ޥ˥奢 \textit{bins} \textit{smooth frequency} ʬ -ȤƤ - -%%% \subsection{Does \gnuplot support pie charts? quarterly time charts?} -\subsection{\gnuplot ϱߥդ񤱤ޤȾդϤɤǤ} - -%%% Pie charts are sort of difficult in \gnuplot, but see -%%% \http{gnuplot.sourceforge.net/demo/circles.html}, -%%% or have a look at -%%% \http{gnuplot-tricks.blogspot.com/2009/08/pie-charts-entirely-in-gnuplot.html}. -ߥդ \gnuplot ǤϤäݤǤʲ򸫤Ƥ -\http{gnuplot.sourceforge.net/demo/circles.html} -ޤϡʲ򻲾ȤƤ -\http{gnuplot-tricks.blogspot.com/2009/08/pie-charts-entirely-in-gnuplot.html} - -%%% The demo collection contains an example of a simple Gantt chart. -ǥˤñʥȥ㡼Ȥ㤬ޤ - -%%% \subsection{Does \gnuplot support multiple y-axes on a single plot?} -\subsection{\gnuplot ϰĤΥդʣ y Ȥޤ} - -%%% Yes. 2D plots can have separate x axes at the bottom (x1) and top (x2), -%%% and separate y axes at the left (y1) and right (y2). Version 5 offers a -%%% plot mode \textit{with parallelaxes} that allows any number of additional -%%% y axes to be defined. -Ϥ2 դǤ̡ x (x1) Ⱦ (x2) -ĤȤǤޤ̡ y (y1) ȱ (y2) ˻ĤȤǤޤ -С 5 Ǥϡ\textit{with parallelaxes} Ȥ⡼ɤ -y 򤵤ˤĤǤɲä뤳ȤǤޤ - -%%% \subsection{How to draw a solid made of triangular facets?} -\subsection{ 3 ̤ǹʪΤ褹ˤ} - -%%% Version 5.4: plot style \textit{with polygons} can handle polygonal faces -%%% (triangles, rectangles, octagons, ...) in either 2D or 3D plots. -С 5.4: 襹 \textit{with polygons} ϡ2 Ǥ⡢ -3 Ǥ¿ѷ (ѷշȬѷ...) Ǥޤ -%% end Japanese - -%% In older versions the best you can do is to describe colored quadrangles -%% that are facets of a 3D object using a file organized like this: -ŤСǡԤǤɤˡϡ -3 ʪΤγ̤դλշȤơ -ʲΤ褦ʷΥեȤäƵҤ뤳ȤǤ: -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% # triangle 1 -%%% x0 y0 z0 <c0> -%%% x1 y1 z1 <c1> -%%% -%%% x2 y2 z2 <c2> -%%% x2 y2 z2 <c2> -%%% -%%% -%%% # triangle 2 -%%% x y z -%%% ... -%%% \end{verbatim} -%%% \normalsize -%% begin Japanese -\latex{\small} -\begin{verbatim} -# ѷ 1 -x0 y0 z0 <c0> -x1 y1 z1 <c1> - -x2 y2 z2 <c2> -x2 y2 z2 <c2> - - -# ѷ 2 -x y z -... -\end{verbatim} -\latex{\normalsize} -%% end Japanese - -%%% Notice the single and double blank lines. Also notice that each triangle -%%% really has four vertices of which two are identical. This is because the -%%% pm3d code only knows how to deal with quadrangles. -%%% \textit{<cN>} is an optional color. -1 ԤζԤ 2 ԤζԤդƤ -ޤƻѷϼºݤˤ 4 ĤĺΤ 2 ĤƱǤ -ȤˤդƤ -ϡpm3d ΥɤշˡΤʤǤ -\textit{<cN>} ϥץοǤ - -%%% Then plot it: -ʲΤ褦ˤ褷ޤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -set pm3d -set style data pm3d -set pm3d depthorder -splot 'facets.dat' using 1:2:3 title "default coloring" -splot 'facets_with_color.dat' using 1:2:3:4 title "explicit colors" -\end{verbatim} -\latex{\normalsize} - -%%% Gnuplot is not a 3D modeling program. -%%% The depthorder rendering will not handle inter-penetrating facets. -%%% For true 3D rendering you would be probably be better off using a -%%% ray-tracing program. -gnuplot 3 ǥ󥰥եȤǤϤޤΤǡ -depthorder ˤǤϡƱΤδ̤Ͻޤ - 3 Τˤϡ -¿ʬ쥤ȥ졼󥰥եȤȤǤ礦 - -%%% \subsection{How do I plot two functions in non-overlapping regions?} -\subsection{ɤ 2 ĤδؿŤʤʤ褦˽񤱤ޤ} - -%%% Give the desired range immediately before each function being plotted. -%%% For example, to plot experimental data and two different functional -%%% models f1 and f2 covering two different portions of the domain: -褹ƴؿľϰϤ֤Ƥ -㤨С¸ǡȡΰ̤ʬ򥫥С % -2 Ĥΰۤʤؿǥ f1, f2 褹ˤ: -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% gnuplot> set autoscale x # get x range from the data -%%% gnuplot> plot 'data', [*:0] f1(x), [0:*] f2(x) -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -gnuplot> set autoscale x # x ϰϤǡ -gnuplot> plot 'data', [*:0] f1(x), [0:*] f2(x) -\end{verbatim} -\latex{\normalsize} - -%%% \subsection{How do I plot lines (not grids) using splot?} -\subsection{ɤ splot dzʻҤǤʤ񤱤ޤ} - -%%% If the data input to splot is arranged such that each line contains -%%% the same number of data points (using blank lines as delimiters, as usual), -%%% splot will by default treat the data as describing a surface. -%%% If you want to draw individual lines instead, try some combination of -%%% \textit{unset surface}, \textit{set surface explicit}, -%%% \textit{plot ... nosurface}. -splot ؤϥǡƹԤƱǡ (̾϶ԤʬΥƤ) % -Ĥ褦·äƤСsplot ϥǥեȤǤϤΥǡ -̤򵭽ҤΤȤưޤ -Ǥʤġζ褷С -\textit{unset surface}, \textit{set surface explicit}, -\textit{plot ... nosurface} ʤɤȤ߹碌ƤߤƤ - - -%%% \subsection{How do I plot a function f(x,y) that is bounded by other -%%% functions in the x-y plane?} -\subsection{ɤ x-y ʿ̾¾δؿ¤Ƥ f(x,y) - դ񤱤ޤ} - -%%% Here is one way: -ʲϰĤˡǤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -gnuplot> f(x,y) = x**2 + y **2 -gnuplot> x(u) = 3*u -gnuplot> yu(x) = x**2 -gnuplot> yl(x) = -x**2 -gnuplot> set parametric -gnuplot> set cont -gnuplot> splot [0:1] [0:1] u,yl(x(u))+(yu(x(u)) - yl(x(u)))*v,\ - > f(x(u), (yu(x(u)) - yl(x(u)))*v) -\end{verbatim} -\latex{\normalsize} - - -%%% \section{Text formatting and special symbols} -\section{ʸ̤ʵ} - -%%% \subsection{Text markup using "enhanced text" mode} -\subsection{"enhanced text" ⡼ɤˤʸΥޡå} - -%%% \Gnuplot version 5 defaults to "enhanced text" mode, in which text -%%% markup is -%%% indicated by a set of special characters embedded in the text. -\gnuplot С 5 Ǥϳĥʸ⡼ (enhanced text) -ǥեȤǡüʸʸᤳळȤˤä -ʸΥޡåפ򼨤ޤ - -\begin{center} -\begin{tabular}{|clll|} \hline -%%% \multicolumn{4}{|c|}{Enhanced Text Control Codes} \\ \hline -%%% Control & Example & Result & Explanation \\ \hline -%%% \verb~^~ & \verb~a^x~ & $a^x$ & superscript\\ -%%% \verb~_~ & \verb~a_x~ & $a_x$ & subscript\\ -%%% \verb~@~ & \verb~a@^b_{cd}~ & $a^b_{cd}$ &phantom box (occupies no -%%% width)\\ -%%% \verb~&~ & \verb~d&{space}b~ & d\verb*+ +b & inserts space of -%%% specified length\\ -%%% \verb|~| & \verb|~a{.8-}| & $\tilde{a}$ & overprints '-' on 'a', -%%% raised by .8\\ -%%% \verb~ ~ & \verb~ ~ & ~ ~ & times the current fontsize\\ -%%% \verb| | & \verb|{/Times abc}| & {\rm abc} & print abc in font Times -%%% at current size\\ -%%% \verb| | & \verb|{/Times*2 abc}| & \Large{\rm abc} & print abc in -%%% font Times at twice current size\\ -%%% \verb| | & \verb|{/Times:Italic abc}| & {\it abc} & print abc in -%%% font Times with style italic\\ -%%% \verb| | & \verb|{/Arial:Bold=20 abc}| & \Large\textsf{\textbf{abc}} -%%% & print abc in boldface Arial font size 20\\ -%%% %% 5.3 only %% \verb|\U+| & \verb|\U+221E| & $\infty$ & Unicode -%%% %% point U+221E INFINITY\\ -\multicolumn{4}{|c|}{ĥʸ浭} \\ \hline -浭 & & & \\ \hline -\verb~^~ & \verb~a^x~ & $a^x$ & դʸ\\ -\verb~_~ & \verb~a_x~ & $a_x$ & դʸ\\ -\verb~@~ & \verb~a@^b_{cd}~ & $a^b_{cd}$ &ܥå (ʤ)\\ -\verb~&~ & \verb~d&{space}b~ & d\verb*+ +b & ꤷĹΥڡ\\ -\verb|~| & \verb|~a{.8-}| & $\tilde{a}$ & 'a' ξ '-' 򡢸ߤΥեȥ\\ -\verb~ ~ & \verb~ ~ & ~ ~ & .8 ܻ夲֤˽Ťͽ\\ -\verb| | & \verb|{/Times abc}| & {\rm abc} & Times եȡΥ abc \\ -\verb| | & \verb|{/Times*2 abc}| & \Large{\rm abc} & Times եȡܤΥ abc\\ -\verb| | & \verb|{/Times:Italic abc}| & {\it abc} & Times եȡåΤ abc\\ -\verb| | & \verb|{/Arial:Bold=20 abc}| & \Large\textsf{\textbf{abc}} & Arial եȡ 20 abc\\ -%% 5.3 Τ %% \verb|\U+| & \verb|\U+221E| & $\infty$ & ˥ U+221E ̵\\ -\hline -\end{tabular} -\end{center} - -%%% \subsection{How do I turn text markup on or off?} -\subsection{ʸΥޡåפ򥪥/դˤˤ} - -%%% To exempt a particular text string from this processing mode use -%%% the keyword -%%% {\em noenhanced}. For example we don't want to interpret file names -%%% as subscripts: -ν⡼ɤ顢Υƥʸˤϡ - {\em noenhanced} ѤƤ -㤨Сե̾դʸȲᤵʤˤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -set title 'Compare file_1.dat and file_2.dat' noenhanced -\end{verbatim} -\latex{\normalsize} - -%%% \subsection{Is UTF-8 the answer to all my special character problems?} -\subsection{üʸ˴ؤ뤹٤β UTF-8 ˤ뤳ȤǤ} - -%%% Yes. - - -%%% Unfortunately there are some circumstances where it very cumbersome -%%% to use, -%%% notably in generating PostScript output. -%%% If you are working in a UTF-8 computing environment, you probably do -%%% not have to -%%% do anything special in gnuplot to use it. -%%% If you are not, then you can still tell gnuplot to use UTF-8 for output: -%%% {\em set encoding utf8}. -Աˤ⡢ä PostScript Ϥʤɡ -ѤˤϤʤʴĶĤޤ -UTF-8 Υԥ塼ĶǺȤ򤷤Ƥ硢 -gnuplot ǤѤˤϡ¿ʬ̤ʤȤ -ɬפϤʤǤ礦 -ǤʤϡϤΤˤ gnuplot UTF-8 -Ѥ뤳ȤʲΤ褦ɬפޤ: -{\em set encoding utf8} - -%%% If you cannot enter UTF-8 characters on your keyboard you will have -%%% to solve -%%% that outside of gnuplot. Or you can use octal escape sequences to -%%% type them in -%%% byte-by-byte, or (version 5.4) unicode escape sequences like -%%% {\em \verb&\U+221E&} ($\infty$). -%%% If your keyboard does generate UTF-8 but you don't know what -%%% keystrokes would -%%% produce a specific character, there are probably suitable character -%%% selection -%%% apps for your desktop (e.g. KDE {\em kcharselect} or GNOME -%%% {\em Character Map}). -UTF-8 ʸ򤢤ʤΥܡɤϤǤʤϡ -gnuplot γǤ褹ɬפǤ礦 -ޤϤ 8 ʤΥʸ 1 ХϤ뤫 -(С 5.4 ʤ) {\em \verb&\U+221E&} ($\infty$) Τ褦 -Unicode Υץ󥹤ȤȤǤޤ -ʤΥܡɤ UTF-8 Ǥ뤬 -ɤΥȥʸǤ뤫Τʤϡ -¿ʬŬʸ򥢥ץꥱ󤬤ʤΥǥȥåפ -ĤƤǤ礦 (㤨 KDE ʤ {\em kcharselect} -GNOME ʤ {\em Character Map}) - -%%% \subsection{What if I need h-bar (Planck's constant)?} -\subsection{Planck (h ˲) ɬפʤȤϤɤ餤Ǥ} - -%%% The most straightforward way is to use a UTF-8 font, and type in the -%%% $\hbar$ character (Unicode {\verb&\U+210F&}) directly. -Ǥ⼫ˡϡUTF-8 եȤȤʸ $\hbar$ -(Unicode {\verb&\U+210F&}) ľϤ뤳ȤǤ - -%%% PostScript: PostScript does not handle utf8 easily so you must use an -%%% approximation based on enhanced text markup and possibly a special -%%% Symbol font: -PostScript: PostScript Ǥ utf8 νݤʤΤǡ -ĥʸ (enhanced text ⡼) Υޡåפȡ -¿ʬ̤ Symbol եȤȤäŪʤȤɬפޤ: - -%%% \verb+ @{/=56 -} {/=24 h}+ or -%%% \verb+ {/=8 @{/Symbol=24 -} _{/=14 h}}+ -%%% In the latter, the "-" (a long one in /Symbol) is non-spacing and 24-pt. -%%% The 14-pt "h" is offset by an 8-pt space (which is the space preceding -%%% the "\_") but smaller, since it's written as a subscript. -%%% But these don't look too much like the hbar we're used to, since the bar -%%% is horizontal instead of sloped. -%%% Another possibility is \verb+{/=14 @^{/Symbol=10 -}{/=14 h}}+. -\verb+ @{/=56 -} {/=24 h}+ ޤ -\verb+ {/=8 @{/Symbol=24 -} _{/=14 h}}+ -Ԥ 24pt (ݥ) "-" % -(/Symbol եȤĹϥե) 򥹥ڡʤǻȤޤ -14pt "h" 8pt Υڡ ("\_" ˤ륹ڡ) % -餷֤ޤ -ϲդʸȤƽ񤯤ΤǾʸˤʤޤ -̾桹ѤץεȤϰäƤơ -ϼǤϤʤʿˤʤޤ -⤦Ĥˡ \verb+{/=14 @^{/Symbol=10 -}{/=14 h}}+ Ȥ뤳ȤǤ - -%%% The reduced Planck's constant can be set very easily by using the -%%% AMS-LaTeX PostScript fonts which are available from -%%% \http{www.ams.org/tex/amsfonts.html} (also included in many LaTeX -%%% distributions). \Gnuplot{} (see \verb+help fontpath+) and the -%%% PostScript interpreter (usually Ghostscript) have to know where the -%%% file \verb+ msbm10.pfb+ (or \verb+ msbm10.pfa+) resides. Use -%%% \verb+ {/MSBM10 \175}+ to produce \verb+ \hslash+ which is a "h" -%%% superimposed by a sloped bar. The standard \verb+ \hbar+ (horizontal -%%% bar) has the octal code 176. Please note that h-bar exists only as an -%%% italic type. -AMS-LaTeX PostScript ե% -(\http{www.ams.org/tex/amsfonts.html} ˤꡢ -¿ LaTeX ۤˤޤޤƤޤ) ȤС -ȤƤñ˾ Planck 򥻥åȤ뤳ȤǤޤ% -\gnuplot (\verb+help fontpath+ 򻲾) ȡ -PostScript 󥿡ץ꥿ (̾ Ghostscript) -ե \verb+ msbm10.pfb+ (ޤ \verb+ msbm10.pfa+) -ɤˤ뤫Τɬפޤ% -"h" ˷ФΤĤŤͤ \verb+ \hslash+ ˤ% -\verb+ {/MSBM10 \175}+ ȤäƤ -̾ \verb+ \hbar+ (ʿβΤ) 8 ʿ 176 Ǥ -ʿβϥåΤȤƤ¸ߤʤȤդƤ - -%%% \subsection{What if I need the Solar mass symbol?} -\subsection{ۼ̵ (ݤ) ɬפʤȤϤɤ餤Ǥ} - -%%% As with Planck's constant, the most straightforward way is to use a -%%% UTF-8 font, and type in the $\odot$ character (Unicode code point -%%% \#x2299 ; "circled dot operator") directly. -%%% The very similar glyph at code point \#x2609 ; "sun" may be even -%%% better, but not many fonts provide it. -Planck Ʊ͡Ǥ⼫ˡ UTF-8 եȤȤʸ $\odot$ % -(Unicode ɥݥ \#x2299 ; "circled dot operator") % -ľϤ뤳ȤǤ -ˤ褯դɥݥ \#x2609 ˤ⤢ޤ - "sun" ǡꤤ⤷ޤ󤬡 -󶡤եȤ¿Ϥޤ -%%% As with Planck's constant, the most straightforward way is to use a -%%% UTF-8 font, and type in the $\odot$ character -%%% (Unicode {\verb&\U+2299&} ; "circled dot operator") -%%% directly. The very similar glyph at (Unicode code point -%%% {\verb&\U+2609&} ; "sun") -%%% may be even better, but not many fonts provide it. -Planck Ʊ͡Ǥ⼫ˡ UTF-8 եȤȤʸ $\odot$ % -(Unicode {\verb&\U+2299&} ; "circled dot operator") % -ľϤ뤳ȤǤ -ˤ褯 (Unicode ɥݥ {\verb&\U+2609&} ; "sun") -ꤤ⤷ޤ󤬡 -󶡤եȤ¿Ϥޤ - -%%% \subsection{How to use Greek letters or other special symbols?} -\subsection{ꥷʸ¾̤ʵȤˤ} - -%%% The old-style way is to use enhanced text mode to switch to a specialize -%%% font, -%%% e.g. the Adobe "Symbol" font, that maps the characters you want onto ascii -%%% letters 'a', 'b', etc. This may still be necessary for PostScript output. -%%% However a much simpler way is to select UTF-8 encoding and enter the -%%% special characters just as you would any other text. -%%% This obviates the need to change fonts and gives you access to all unicode -%%% code points including CJK character sets. To actually print or view the -%%% files produced by \gnuplot you still need appropriate fonts installed on -%%% your computer or output device. \Gnuplot itself does not provide fonts. -ŤȤơ̤ʥեȡ㤨 Adobe "Symbol" եȤ -ڤؤ뤿˳ĥʸ⡼ (enhanced text ⡼) Ѥ -ˡޤϡʤϤʸ̾ ASCII ʸ -ƤƤޤϡߤǤ PostScript ϤˤɬפǤ礦 -ñˡϡUTF-8 󥳡ǥ󥰤򤷡 -üʸ¾ʸƱͤˤΤޤϤ뤳ȤǤ -ˡǤϡեȤѹɬפʤޤ CJK ʸޤ -٤Ƥ Unicode ɥݥȤؤΥǽˤʤޤ - \gnuplot ˤäƺ줿եºݤ˰ɽˤϡ -ʤΥԥ塼뤤ϽϥǥХŬڤʥեȤ -󥹥ȡ뤵Ƥɬפޤ -\gnuplot ȤˤϥեȤϴޤޤƤޤ - -%%% The various \LaTeX{} terminal types (\textit{latex, epslatex, tikz, -%%% context, cairolatex}) -%%% hand off text generation to \LaTeX{}. In this case you can -%%% use normal \LaTeX{} -%%% markup like \verb+$\alpha_{3}$+ . -Ĥ \LaTeX{} ϽϷ (\textit{latex, epslatex, tikz, -context, cairolatex}) ϡʸ \LaTeX{} Ϥޤ -ξϡ\verb+$\alpha_{3}$+ Τ褦ʡ -̾ \LaTeX{} εҤѤǤޤ - -%%% \subsection{How do I include accented characters?} -\subsection{ɤ饢դʸϤǤޤ} - -%%% If you are stuck using a non-utf8 encoding you should use -%%% 8-bit character codes together with the appropriate encoding option -%%% to obtain accented characters like \"u or \^n in your labels. -%%% You can represent the 8-bit code with an escape sequence. -%%% See the following example: -utf8 ǤϤʤ󥳡ǥ󥰤Ȥ³ΤǤС -\"u (u 饦; u ξ 2 ĤΥ) % -\^n Τ褦ʸ٥˴ޤˤϡ -Ŭڤʥ󥳡ɥץꤷ -8 ӥåʸɤѤʤФޤ -ץ󥹤Ȥä 8 ӥåȥɤɽ뤳ȤǽǤ -㤨мΤ褦ˤޤ - -\latex{\small} -\begin{verbatim} -gnuplot> set encoding iso_8859_1 -gnuplot> set title "M\374nchner Bierverbrauch \374ber die Jahre" -gnuplot> plot "bier.dat" u 1:2 -\end{verbatim} -\latex{\normalsize} - -%%% Everyone else should use UTF-8, where these are normal characters. -Ǥʤͤ UTF-8 Ȥ٤ǡ -ǤϤ̤ʸˤʤޤ - -%%% \subsection{Can I put different text sizes into my plots?} -\subsection{ۤʤ륵ΥƥȤĤΥդǽϤǤޤ} - -%%% Most terminal types allow you to specify a starting font face and size. -%%% The "enhanced text" mode allows you to change fonts, text sizes, bold and -%%% italic styles within a plot. -ƤνϷǤϡǥեȥեȤ̾ȥǤޤ -ֳĥʸץ⡼ ("enhanced text") Ǥϡեȡ -ʸܡɡåνΤĤΥ -ѹǤޤ - - - -%%% \section{Miscellaneous} -\section{¾} - -%%% \subsection{Does \gnuplot support a driver for graphics format XXX?} -\subsection{\gnuplot ˤϲ XXX 򥵥ݡȤɥ饤ФϤޤ} - -%%% To see a list of the available graphic drivers for your installation of -%%% \gnuplot, type {\em set term}. -󥹥ȡѤ \gnuplot ѤǤ륰եåɥ饤Фΰ򸫤ˤϡ -{\em set term} ȥפƤ - -%%% Some graphics drivers are included in the source distribution -%%% but are not built by default. If you want to use them, you'll -%%% have to recompile from source. -ʪˤϴޤޤƤƤ⡢ -ǥեȤǤϻȤʤ褦ˤʤäƤ륰եåɥ饤Ф⤢ޤ -餬ȤС饳ѥ뤷ľɬפޤ - -%%% \subsection{I've found a bug, what do I do?} -\subsection{Х򸫤ĤΤǤɤɤǤ} - -%%% First, try to see whether it actually is a bug, or whether it -%%% is a feature you can turn off with some obscure {\em set} command. -ǽˡ줬˥ХʤΤȤ - {\em set} ޥɤݤȤǤħʤΤ򸫶ˤƤ - -%%% Next, see whether you have an old version of \gnuplot; if so, -%%% chances are the bug has been fixed in a newer release. -ˡʤȤäƤ \gnuplot ŤǤǤʤǧƤ -⤷ʤ顢ǤǤΥХϼƤǽޤ - -%%% Before submitting a bug report, please check whether the bug in question -%%% has already been fixed in the upstream source since the release of the -%%% current version. These are marked "pending-fixed" on the bug tracker. -ݡȤˡΥХߤΥСΥ꡼ʹߤ -꿷Ǵ˽ƤʤåƤߤƤ -ϡХ tracker Ǥ "pending-fixed" ȥޡƤޤ - -%%% If, after checking these things, you still are convinced that there is a -%%% bug please report it using the bug-tracker at -%%% \http{sourceforge.net/p/gnuplot/bugs}. -%%% Be sure to include the version of \gnuplot (including patchlevel) and -%%% the operating system you are running it on. -%%% It helps a lot if you can provide a simple script that reproduces the -%%% error. -åǤʤ줬ХǤȳοʤ顢 -\http{sourceforge.net/p/gnuplot/bugs} bug-tracker -𤷤Ƥ -κݡ\gnuplot ΥС (ѥå٥ޤ) Ȥ줬ưƤ -ڥ졼ƥ󥰥ƥ񤤤Ƥ -äˤΥ顼ƸñʥץȤ󶡤Ƥ館 -礤˽ޤ - -%%% The tracker on sourceforge is for reporting bugs and collecting bug fixes -%%% that will appear in a subsequent release. -%%% The various online forums are better places to ask about -%%% work arounds or actually solving \gnuplot related problems. -souceforge tracker ϡХΥݡȡ -Υ꡼ȿǤ뤿ΥХνμΤΤΤǤ -\gnuplot ˴ؤФ򸫤Ĥ롢 -뤤Ϥºݤ˲褹ˤϡ -󥿡ͥåȾ˿¸ߤե褤Ǥ礦 - -%%% \subsection{Can I do heavy-duty data processing with \gnuplot? or -%%% What is beyond \gnuplot?} -\subsection{"heavy-duty" ǡ \gnuplot ǻȤޤ -ޤ \gnuplot ΤϤʤǤ} - -%%% \gnuplot by itself is not very well suited for heavy numerical computation. -%%% On the other hand it can easily handle very large data sets (millions of points). -%%% If you have a specific application where the limitation is gnuplot's speed in -%%% evaluating a non-trivial function, it might be worth coding this function in -%%% C or C++ and making it a loadable plugin that gnuplot can call. -\gnuplot 켫Ȥϡɤͷ׻ˤϤޤƤޤ -ʤ礭ʥǡ (100 ǡ) ϴñ˽Ǥޤ -ñǤϤʤؿɾΤ gnuplot ®٤¤ͿƤޤ褦 -ΥץꥱѤϡ -δؿ C C++ ǥǥ󥰤ƺꡢ -ץ饰Ȥ gnuplot ǸƤӽФȤˡ⤢ޤ - -%%% Programs you might look into if you need intensive numerical computation: -ʤͷ׻ɬפȤϡʲΥեȤĴ٤ƤߤƤ: - -%%% \textbf{octave} (\http{www.octave.org}) -%%% is a high-level language primarily intended for numerical computations. -%%% Octave is licensed under GPL, and in principle, it is a free Matlab clone. -%%% It provides a convenient command line interface for solving linear and -%%% nonlinear problems -%%% numerically. By the way, octave uses \gnuplot as its plotting -%%% engine, so you get a data-processing program on top of \gnuplot. -\textbf{octave} (\http{www.octave.org}) ϡ -ǡ˿ͷ׻ѤǤ -Octave GPL 饤󥹤˽§Ū˥ե꡼ Matlab Ǥ -Ū˲򤯤Τ -ޥɥ饤󥤥󥿡եƤޤ -ʤoctave \gnuplot 襨󥸥ȤƻȤޤΤǡ -\gnuplot ξ̤ΥǡեȤ뤳Ȥˤʤޤ - -%%% \textbf{scilab} (\http{www.scilab.org}) is another open source -%%% alternative to \textbf{matlab}. -\textbf{scilab} (\http{www.scilab.org}) ϡ -̤Ρ\textbf{matlab} 륪ץ󥽡եȤǤ - -%%% \textbf{julia + Gaston} (\http{github.com/mbaz/Gaston.jl}) -%%% The Julia language is designed for numerical analysis and -%%% computational science. -%%% Gaston is a julia package that provides an interface to gnuplot -%%% for graphical output. -\textbf{julia + Gaston} (\http{github.com/mbaz/Gaston.jl}) -Julia ϡͲϤȷ׻ʳѤ߷פ줿Ǥ -Gaston ϡսѤ gnuplot ȤΤȤ󶡤 -julia ѥåǤ - -%%% \subsection{What if I need special function that gnuplot doesn't have?} -\subsection{gnuplot ʤüؿɬפʾ} - -%%% See above. You may have to use another program or write a custom plugin. -򸫤Ƥ -¾ΥեȤȤץ饰񤯤Τ줫ɬפǤ - - -%%% \subsection{How to use hotkeys in my interactive terminals} -\subsection{÷ߥʥǥۥåȥȤˤ} - -%%% Most of the interactive terminals support both pre-defined and user-defined -%%% hotkeys to replot, toggle plot elements, change axis scaling, and so on. -%%% Hit \textit{h} in an active gnuplot plot window to get list of hotkeys. -%%% Read \textit{help mouse} and \textit{help bind} for more information. -ۤȤɤ÷ϷǤϡ衢ǤΥȥ롢 -ΥѹʤɤԤˡ餫ꤵ줿ۥåȥ -ӥ桼ǽʥۥåȥξ򥵥ݡȤƤޤ -ͭ gnuplot 襦ɥ \textit{h} ǤĤȡ -ۥåȥΰɽޤ -ʤˤĤƤϡ\textit{help mouse} \textit{help bind} -ȤƤ - - -%%% \subsection{I want to help in developing the next version of \gnuplot. -%%% What can I do?} -\subsection{\gnuplot μСγȯˤĤΤꤿΤǤ -ɤ餤Ǥ} - -%%% Join the \gnuplot beta test mailing list by sending a mail -%%% containing the line -%%% \verb+subscribe gnuplot-beta+ -%%% in the body (not the subject) of the mail to -%%% \mailto{Majordomo@lists.sourceforge.net}. -\gnuplot Υ١ƥȥ᡼󥰥ꥹȤäƤ -᡼ʸ (᡼륿ȥǤϤʤ) \verb+subscribe gnuplot-beta+ % -Ƚ񤤤ƥ᡼ % -\mailto{Majordomo@lists.sourceforge.net} äƤ - - -%%% \section{Common problems} -\section{̤} - - -%%% \subsection{Help! None of my fonts work.} -\subsection{! ΥեȤȤʤ} - -%%% Gnuplot does not do font handling by itself; it must necessarily leave -%%% that to the individual device support libraries. Unfortunately, this -%%% means that different terminal types need different help in finding -%%% fonts. Here are some quick hints. For more detailed information please -%%% see the gnuplot documentation for the specific terminal type you are -%%% having problems with. -gnuplot ϡ켫ȤǤϥեȽԤޤΤǡ -ɬŪ˸ġΥǥХ򥵥ݡȤ饤֥Ǥ뤳Ȥˤʤޤ -ǰʤ餳ϡեȤθФˤƤϡۤʤϷˤ -ۤʤɬפȤȤ̣ޤΤǡ -ǤϡñʥҥȤ򤤤Ĥ夲Ƥޤ -ܤˤĤƤϡʤˤƤϷѤ % -gnuplot ΥɥȤ򻲾ȤƤ - -\begin{description} -%%% \item [{png/jpeg/gif}] These terminal types use the libgd support -%%% library, which -%%% searches for fonts in the directories given in the environmental variable -%%% GDFONTPATH. Once you get libgd fontpaths sorted out, you will probably -%%% want to set a default font for gnuplot. -%%% For example: \verb+setenv GNUPLOT_DEFAULT_GDFONT verdana+ -\item [{png/jpeg/gif}] -νϷϡlibgd Ȥݡȥ饤֥Ѥ -ϴĶѿ GDFONTPATH Ϳǥ쥯ȥǥեȤõޤ -Τ褦 libgd Υեȥѥꤹȡ -٤ gnuplot ΥǥեȥեȤꤷ⤷ޤ -: \\ -\verb+setenv GNUPLOT_DEFAULT_GDFONT verdana+ -%% end Japanese -%%% \item [{post}] PostScript font names are not resolved until the document -%%% is printed. Gnuplot does not know what fonts are available to your -%%% printer, so it will accept any font name you give it. However, it -%%% is possible to bundle a font with the gnuplot output; please see the -%%% instructions given by gnuplot's internal command {}``help set term -%%% post fontfile''. -\item [{post}] -PostScript ե̾ϡʸ񤬰ޤǻȤޤ󤫤顢 -ʤΥץ󥿤ǤɤΥեȤͭǤ뤫 gnuplot Τޤ -äơɤʥե̾Ǥꤹ뤳ȤǤޤ -gnuplot νϤ˥եȤळȤϲǽǤˤĤƤϡ -gnuplot ޥ ``help set term post fontfile'' -ؼ򻲾ȤƤ -%% end Japanese -%%% \item [{svg}] Font handling is viewer-dependent. -\item [{svg}] եȽϡӥ塼¸Ǥ -%% end Japanese -%%% \item [{x11}] The x11 terminal uses the normal x11 font server mechanism. -%%% The only tricky bit is that in order to use multi-byte fonts you must -%%% explicitly say so: -\item [{x11}] -x11 Ϸϡ̾ x11 եȥеѤޤ -ȥåꡢޥХȥեȤѤ뤿ˤϡ -Ū˰ʲΤ褦˻ꤹɬפޤ: -%% end Japanese -\latex{\small} -\begin{verbatim} -set term x11 font "mbfont:sazanami mincho,vera,20" -\end{verbatim} -\latex{\normalsize} -%%% \item [{win}] Select "Choose font..." from the "Options" pull-down menu -%%% in the toolbar. -\item [{win}] -ġС "Options" Υץ˥塼 "Choose font..." 򤷤ޤ -%% end Japanese -%%% \item [{wxt, qt}] On linux systems these terminals rely on fonts provided -%%% by the system's \textit{fontconfig} utility. -\item [{wxt, qt}] -Linux ƥǤϡνϷϥƥ fontconfig 桼ƥƥ -󶡤եȤѤޤ -%% end Japanese -\end{description} - -%%% \subsection{The first plot in a qt terminal session fails or has bad layout} -\subsection{qt ϷΥåǤκǽΥդԤ -Ѥʥ쥤Ȥˤʤޤ} - -%%% You may also get an error message about "slow font initialization". -%%% This is because qt relies on a shared system font cache. -%%% If you request a font that no one else is using, it takes a while to -%%% update the cache. This mostly happens on Windows or OSX, because other -%%% programs on those systems tend to use a different font mechanism so the -%%% relevant font cache may be empty. -%%% Try invoking gnuplot with command line option {\em -\@-slow}. -"slow font initialization" Ȥ顼åФ⤷ޤ -ϡqt ͭƥեȥå˰¸Ƥ뤫Ǥ -⤷¾ïȤäƤʤեȤ׵᤹ȡ -Υåι˻֤ޤ -ϡWindows OSX ǤϤ褯ΤǤ -ΥƥǤ¾ΥեȤۤʤեȤλȤߤ -Ѥ뷹ˤ뤿ᡢϢեȥå夬ˤʤ뤫Ǥ -gnuplot θƤӽФˡޥɥ饤󥪥ץ {\em -\@-slow} -ĤƤߤƤ - -%%% \subsection{Pm3d splot from a datafile does not draw anything} -\subsection{pm3d ˤǡե splot Dzɽޤ} - -%%% You do {\em set pm3d; splot 'a.dat'} and no plot but colorbox appears. -%%% Perhaps there is no blank line in between two subsequent -%%% scans (isolines) in -%%% the data file? Add blank lines! If you are curious what this means, -%%% then don't -%%% hesitate to look to files like {\em demo/glass.dat} or -%%% {\em demo/triangle.dat} -%%% in the gnuplot demo directory. -{\em set pm3d; splot 'a.dat'} ȤäƤ⡢ -顼ܥåɽΤΥդɽʤȤ顢 -⤷ 2 ĤΤĤʤäƤ (Ω) ʬΥԤ -ʤΤǤ ? Ԥʤ ! % -줬̣Τ˶̣ʤ顢 -gnuplot demo ǥ쥯ȥˤ {\em demo/glass.dat} % -{\em demo/triangle.dat} ʤɤΥե򤸤ä긫Ƥ - -%%% You can find useful the following awk script (call it e.g. -%%% {\em addblanks.awk}) -%%% which adds blank lines to a data file whenever number in the first column -%%% changes: -ʲ awk ץ % -(㤨 {\em addblanks.awk} ȸƤ֤Ȥˤޤ) % -ͭѤǡǡեˡ - 1 ܤοѹȤ˶ԤɲäƤޤ -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% /^[[:blank:]]*#/ {next} # ignore comments (lines starting with #) -%%% NF < 3 {next} # ignore lines which don't have at least 3 columns -%%% $1 != prev {printf "\n"; prev=$1} # print blank line -%%% {print} # print the line -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -/^[[:blank:]]*#/ {next} # ȹ (# ǻϤޤ) ̵ -NF < 3 {next} # 3 ̤ʤԤ̵ -$1 != prev {printf "\n"; prev=$1} # Ԥ -{print} # ιԼΤ -\end{verbatim} -\latex{\normalsize} - -%%% Then, either preprocess your data file by command -%%% {\em awk -f addblanks.awk <a.dat} -%%% or plot the datafile under a unixish platform by\\ -%%% {\em gnuplot> splot "<awk -f addblanks.awk a.dat"}. -ˤꡢǡե򥳥ޥ -{\em awk -f addblanks.awk <a.dat} -ˤä뤫 -unix ߴΥץåȥեǥǡե \\ -{\em gnuplot> splot "<awk -f addblanks.awk a.dat"} -Τ褦褹뤫Τɤ餫ԤäƤ - -%%% \subsection{Why does \gnuplot ignore my very small numbers?} -\subsection{ʤ \gnuplot ϤȤƤ⾮Υǡ̵뤹ΤǤ} - -%%% For some purposes \Gnuplot{} treats numbers less than 1.e-08 as being -%%% zero. Thus if you are trying to plot a collection of very small numbers, -%%% they may be plotted as zero. Worse, if you're plotting -%%% on a log scale, they will be off scale. Or, if the whole set of -%%% numbers is "zero", your range may be considered empty: -\gnuplot ϡŪΤ 1.e-08 꾮 0 Ȥưޤ -äƤȤƤ⾮νޤ褷褦Ȥ - 0 Ȥ褵Ƥޤޤ -п褹ϡ -äȤҤɤȤˤ꤫ϤƤޤޤ -ޤƤο "0" Ǥ硢 -ϰϤ϶ǤȤߤʤޤ: -%% end Japanese -%%% shige: ϡ(: \gnuplot 3.6 λ)פĤƤ - -\latex{\small} -\begin{verbatim} -gnuplot> plot 'test1' -Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] -gnuplot> set yrange [4e-19 : 3e-11] -gnuplot> plot 'test1' - ^ -y range is less than `zero` -\end{verbatim} -\latex{\normalsize} - -%%% The solution is to change gnuplot's idea of "zero": -к gnuplot "zero" γǰѹ뤳ȤǤ -%% end Japanese -\latex{\small} -\begin{verbatim} -gnuplot> set zero 1e-20 -\end{verbatim} -\latex{\normalsize} - -%%% For more information, type {\em help set zero}. -ܤˤĤƤ {\em help set zero} 򻲾ȤƤ - -%%% \subsection{When I {\em replot} or {\em resize} a multiplot I get -%%% only a fragment} -\subsection{multiplot Υդ {\em replot} {\em resize} -줫餷Фޤ} - -%%% \Gnuplot only retains enough information to regenerate the most recent -%%% {\em plot} or {\em splot} command. -%%% In order to reproduce the entire multiplot you need to save the complete -%%% sequence of commands that generated it into a script file. -%%% Then you can {\em load} that script into \gnuplot as many times as you need -%%% for replotting the drawing to different terminals or output files. -\gnuplot ϡľ {\em plot} {\em splot} ޥɤ -뤿˽ʬʾݻʤΤǡ -multiplot Τ˺Ƹˤϡ봰ʥޥ -ץȥե¸ɬפޤ -ơ{\em load} 뤳ȤǤƤ \gnuplot ˼С -ʤɬפȤۤʤϷۤʤϥեФ -򤹤뤳ȤǤޤ - -%%% The same problem arises when you resize a multiplot displayed in an -%%% interactive -%%% terminal window, because the resize event normally triggers a replot. -%%% The {\em qt} and {\em wxt} terminals provide a toggle in the toolbox widget -%%% that suppresses this replot on resize. The {\em x11} terminal provides a -%%% terminal option {\em set term x11 noreplotonresize}. -Ʊ꤬÷Ϸ multiplot resize ˤⵯޤ -ϡresize ٥Ȥ̾ replot ¹ԤƤ뤫Ǥ -{\em qt} {\em wxt} Ϸϡġܥååˡ -resize replot 뤳Ȥȥ륹å󶡤Ƥޤ -{\em x11} Ϸϡoption {\em set term x11 noreplotonresize} -󶡤Ƥޤ - -%%% \subsection{My formulas (like 1/3) are giving me nonsense results! -%%% What's going on?} -\subsection{񤤤 (1/3 ʤ) ̣Τʤ̤ϤƤޤޤ} - -%%% \Gnuplot{} does integer, and not floating point, arithmetic on -%%% integer expressions. For example, the expression 1/3 evaluates -%%% to zero. If you want floating point expressions, supply -%%% trailing dots for your floating point numbers. Example: -\gnuplot μξ硢¿黻ǤϤʤ黻Ԥʤޤ -㤨м 1/3 0 ɾޤ -⤷¿ͤߤʤСοθ˥ɥå "." ĤƤ -: - - -\latex{\small} -\begin{verbatim} -gnuplot> print 1/3 - 0 -gnuplot> print 1./3. - 0.333333 -\end{verbatim} -\latex{\normalsize} - -%%% This way of evaluating integer expressions is shared by both C and Fortran. -μ򤳤Τ褦ˤɾ % -C Fortran ǤԤʤƤޤ - - -%%% \subsection{My output files are incomplete!} -\subsection{νϤԴǤ} - -%%% You may need to flush the output and close the file with -%%% {\em set output} or {\em unset output}). -{\em set output} {\em unset output} ˤäơ -ޤäƤϤǤФƽϤ򥯥ɬפ -뤫Τޤ - -%%% Some output formats (postscript, pdf, latex, ...) can include several -%%% pages of plots in a single output file. For these output modes, gnuplot -%%% leaves the file open after each plot so that you can add additional plots -%%% to it. The file is not completed and made available to external applications -%%% until you issue a {\em set} or {\em unset output} command, -%%% select a different terminal type ({\em set term}), or exit gnuplot. -ϷˤäƤϡĤνϥեʣΥڡޤޤƤޤ % -(postscript, pdf, latex, ...) -νϥ⡼ɤǤϡgnuplot ϤʤɲäǤ褦 -˥ե򥪡ץ󤷤ޤޤˤƤޤ -ä {\em set} {\em unset output} ޥɤѤ뤫 -ۤʤϷ򤹤 ({\em set term}) -ޤ gnuplot λޤǤϡΥեϴǤϤʤ -ΥץꥱǻѤǤ褦ˤϤʤäƤޤ - -%%% \subsection{Calling gnuplot in a pipe or from a script doesn't -%%% show a plot on my screen!} -\subsection{ѥפ䥹ץȤ gnuplot ƤӽФ -꡼˥դǤޤ} - -%%% One common cause is that \gnuplot exits immediately after drawing, -%%% the plot window closes when gnuplot exits, and it all happens too fast -%%% for you see the plot. -%%% There are several solutions to this: -褯븶ΰĤ\gnuplot դľ˽λƤޤȤǡ -λ襦ɥĤƤޤᡢ -ʤդ򸫤ʤ餤ˤ٤ƤɽäȤ֤ -äƤޤȤ֤Ǥ -ˤϡĤβˡޤ -%% end Japanese -\begin{itemize} -%%% \item Use the gnuplot command line option {\em -persist}. -%%% This leaves the plot window open after gnuplot itself exits. -\item gnuplot Υޥɥ饤󥪥ץ {\em -persist} Ѥ뤳ȡ - ϡgnuplot Ȥνλ襦ɥĤޤ -%% end Japanese -%%% \item Interactive terminals also accept {\em persist} as an option -%%% to {\em set term}. -\item ץ {\em set term} {\em persist} դ - ÷ϷѤ뤳ȡ -%% end Japanese -%%% \item Send a {\em pause mouse close} command to gnuplot before closing -%%% the pipe. -%%% This will tell gnuplot not to exit until the plot window is -%%% closed by -%%% some other action. -\item ѥפνλ gnuplot ˥ޥ {\em pause mouse close} - 뤳ȡϡ襦ɥ¾ưǽλޤ - gnuplot λʤ褦˻ؼޤ -%% end Japanese -%%% \item Have the script close the pipe only when it is sure you don't need -%%% gnuplot and its plot window any more. -\item ʤ gnuplot襦ɥɬפ - ʤʤäˤΤߡץȤ˥ѥפĤ뤳ȡ -%% end Japanese -\end{itemize} - -%%% Here is a short Perl-script showing two of these fixes: -ʲϡνΤ 2 Ĥ򼨤 Perl ץȤǤ: -%% end Japanese -%%% \small -%%% \begin{verbatim} -%%% #!/usr/local/bin/perl -w -%%% open (GP, "|/usr/local/bin/gnuplot -persist") or die "no gnuplot"; -%%% # force buffer to flush after each write -%%% use FileHandle; -%%% GP->autoflush(1); -%%% print GP,"set term x11; plot sin(x) with lines\n"; -%%% print GP,"pause mouse close\n"; -%%% close GP -%%% \end{verbatim} -%%% \normalsize -\latex{\small} -\begin{verbatim} -#!/usr/local/bin/perl -w -open (GP, "|/usr/local/bin/gnuplot -persist") or die "no gnuplot"; -# ƽϸ˶Ū˥ХåեݤФ -use FileHandle; -GP->autoflush(1); -print GP,"set term x11; plot sin(x) with lines\n"; -print GP,"pause mouse close\n"; -close GP -\end{verbatim} -\latex{\normalsize} - - -%%% \section{Credits} -\section{°} - -%%% This FAQ was initially compiled by John Fletcher with contributions -%%% from Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel -%%% Lewart and Alex Woo. Reworked by Thomas Koenig from a draft -%%% by Alex Woo, with corrections and additions from Alex Woo, John -%%% Campbell, Russell Lang, David Kotz and many corrections from Daniel Lewart. -%% end Japanese - FAQ ϡ -Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel Lewart, -Alex Woo δͿ John Fletcher ǽˤޤȤ᤿ΤǤ -ơAlex Woo Ƥˤꡢ -Alex Woo, John Campbell, Russell Lang, David Kotz νɲá -Daniel Lewart ˤ¿ν Thomas Koenig ˤޤȤľޤ -%%% Again reworked for \gnuplot 3.7 by Alexander Mai and Juergen v.Hagen -%%% with corrections by Lars Hecking, Hans-Bernhard Broecker and others. -ơ\gnuplot 3.7 Ѥ˺Ƥ % -Lars Hecking, Hans-Bernhard Broeker Ӥ¾ο͡ˤ뽤 % -Alexander Mai Juergen v.Hagen ˤޤȤľޤ -%% end Japanese -%%% shige: Broecker -> Broeker (2019-05-06) -%%% Revised for \gnuplot version 4 by Petr Mikul\'{\i}k and Ethan Merritt. -\gnuplot С 4 Ѥνϡ -Petr Mikul\'{\i}k Ethan Merritt ˤԤʤޤ -%% end Japanese -%%% Revised for \gnuplot version 5 by Ethan Merritt. -\gnuplot С 5 Ѥνϡ -Ethan Merritt ˤԤʤޤ - -%%% -(: ܸ Shigeharu TAKENO (\mailto{shige@iee.niit.ac.jp}) ˤ -Ԥʤޤ) -%% end Japanese -\end{document} diff --git a/faq/faq.tex b/faq/faq.tex deleted file mode 100644 index 80bed29e0..000000000 --- a/faq/faq.tex +++ /dev/null @@ -1,1288 +0,0 @@ -%% Don't forget to change the paper format in the next line -% -%\documentclass[a4paper,11pt]{article} -\documentclass[letter,11pt]{article} -\usepackage[margin=2cm]{geometry} -\usepackage[T1]{fontenc} -\usepackage[hyphens]{url} -\urlstyle{sf} - -\parindent=0pt -\parskip=5pt - -\ifx\pdfoutput\undefined - % latex or latex2html output - \usepackage{times,mathptmx} - \usepackage[ - hypertex, - hyperindex, - bookmarks, - bookmarksnumbered=true, - pdftitle={gnuplot faq}, - pdfauthor={gnuplot}, - pdfsubject={see www.gnuplot.info} - % , pdfcreator={} - % , pdfkeywords={...} - ]{hyperref} -\else % *** pdflatex output - \usepackage{times,mathptmx} - \usepackage[ -% pdftex, - hyperindex, - bookmarks, - bookmarksnumbered=true, - pdftitle={gnuplot faq}, - pdfauthor={gnuplot}, - pdfsubject={see www.gnuplot.info} - % , pdfcreator={} - % , pdfkeywords={...} - ]{hyperref} -\fi - -\usepackage{color} -\definecolor{darkblue}{rgb}{0,0,0.5} -\hypersetup{ - colorlinks = true, %Colours links instead of ugly boxes - linkcolor = darkblue, %Colour of internal links - urlcolor = blue %Colour for external hyperlinks -} - -% There may be incompatibilities between different versions of -% url.sty, html.sty and hyperref.sty -- it seems there are machines which -% cannot combine them together with simultaneous output to dvi, pdf, html. -% Thus do it this way: -\ifx\html\undefined - % Modified Dec 2014 (EAM) for use with htlatex or pdflatex - \def\http#1{{\small\href{http://#1}{\url{http://#1}}}} - \def\mailto#1{{\small\href{mailto://#1}{\url{mailto://#1}}}} - \def\news#1{\href{news://#1}{\url{news://#1}}} - \def\ftp#1#2{\href{ftp://#1#2}{\url{#1} in \url{#2}}} -\else - % Running this file by latex2html: - \usepackage{html} -% \html{ - \newcommand{\news}[1]% - {\def~{\~{}}\htmladdnormallink{\latex{\url{#1}}\html{\textit{#1}}}% - {news:#1}% - } - \newcommand{\ftp}[2]% - {\htmladdnormallink{\latex{\url{#1}{} in \url{#2}}% - \html{\textit{#1} in \textit{#2}}}% - {ftp://#1#2}% - } - \newcommand{\mailto}[1]% - {\htmladdnormallink{\latex{\url{<#1>}}\html{\textit{#1}}}% - {mailto:#1}% - } - \newcommand{\http}[1]% - {\htmladdnormallink{\latex{\url{http://#1}}% - \html{\textit{http://#1}}}% - {http://#1}% - } -% } -\fi - - -% History: -% version 1.4 dated 99/10/07 -% Revision 1.58 dated 2017/06/04 (last CVS version) -% - -% -\newcommand{\gnuplot}{\textbf{gnuplot }} -\newcommand{\Gnuplot}{\textbf{Gnuplot }} - -\begin{document} - -\title{\gnuplot FAQ} -\author{} -\date{} -\maketitle - -\noindent -This material describes \gnuplot version 5 (up to 5.4) - \\ -FAQ version: June 2022 - \\ -PDF version of current document: {\http{www.gnuplot.info/faq/faq.pdf}. - - -\tableofcontents - -\newpage -\setcounter{section}{-1} -\section{Meta -- Questions} - -\subsection{Where do I get this document?} - -The newest version of this document is on the web at -\http{www.gnuplot.info/faq/}. - -\subsection{Where do I send comments about this document?} - -Send comments, suggestions etc to the developer mailing list -\mailto{gnuplot-beta@lists.sourceforge.net}. - -\section{General Information} - -\subsection{What is \gnuplot?} - -\gnuplot is a command-driven plotting program. -It can be used interactively to plot functions and data points in -both two- and three-dimensional plots in many different styles and -many different output formats. \Gnuplot can also be used as a -scripting language to automate generation of plots. -It is designed primarily for the visual display of scientific data. -\gnuplot is copyrighted, but freely distributable; -you don't have to pay for it. You are welcome to download the source code. - - -\subsection{How did it come about and why is it called \gnuplot?} - -The authors of \gnuplot are: -Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John -Campbell, Gershon Elber, Alexander Woo and many others. - -The following quote comes from Thomas Williams: -\begin{quote} - I was taking a differential equation class and Colin was taking - Electromagnetics, we both thought it'd be helpful to visualize the - mathematics behind them. We were both working as sys admin for an - EE VLSI lab, so we had the graphics terminals and the time to do - some coding. The posting was better received than we expected, and - prompted us to add some, albeit lame, support for file data. - - Any reference to GNUplot is incorrect. The real name of the program - is "gnuplot". You see people use "Gnuplot" quite a bit because many - of us have an aversion to starting a sentence with a lower case - letter, even in the case of proper nouns and titles. gnuplot is not - related to the GNU project or the FSF in any but the most - peripheral sense. Our software was designed completely - independently and the name "gnuplot" was actually a compromise. I - wanted to call it "llamaplot" and Colin wanted to call it "nplot." - We agreed that "newplot" was acceptable but, we then discovered - that there was an absolutely ghastly pascal program of that name - that the Computer Science Dept.\ occasionally used. I decided that - "gnuplot" would make a nice pun and after a fashion Colin agreed. -\end{quote} - - -\subsection{What does \gnuplot offer?} - -\begin{itemize} -\item Two-dimensional functions and data plots combining many different - elements such as points, lines, error bars, filled shapes, labels, arrows, ... -\item Polar axes, log-scaled axes, general nonlinear axis mapping, parametric coordinates -\item Data representations such as heat maps, beeswarm plots, violin plots, histograms, ... -\item Three-dimensional plots of data points, lines, and surfaces in -many different styles (contour plot, mesh) -\item Algebraic computation using integer, floating point, or complex arithmetic -\item Data-driven model fitting using Marquardt-Levenberg minimization -\item Support for a large number of operating systems, graphics - file formats and output devices -\item Extensive on-line help -\item \TeX{}-like text formatting for labels, titles, axes, data points -\item Interactive command line editing and history -\end{itemize} - - -\subsection{Is \gnuplot suitable for scripting?} - -Yes. Gnuplot can read in files containing additional commands during -an interactive session, or it can be run in batch mode by piping a -pre-existing file or a stream of commands to stdin. Gnuplot is used -as a back-end graphics driver by higher-level mathematical packages -such as Octave and can easily be wrapped in a cgi script for use as a -web-driven plot generator. Gnuplot supports context- or data-driven -flow control and iteration using familiar statements -{\em if else continue break while for}. - - -\subsection{Can I run \gnuplot on my computer?} - -\Gnuplot{} is in widespread use on many platforms, including -MS Windows, linux, unix, and OSX. The current source code retains -supports for older systems as well, including VMS, Ultrix, OS/2, and -MS-DOS. However 16-bit platforms are no longer supported. - -You should be able to compile the \gnuplot source more or -less out of the box in any reasonably standard (ANSI/ISO C, POSIX) -environment. - - -\subsection{Legalities} - -\Gnuplot{} is authored by a collection of volunteers, who cannot -make any legal statement about the compliance or non-compliance of -\gnuplot or its uses. There is no warranty whatsoever. Use at your own risk. - -\Gnuplot{} is freeware in the sense that you don't have to pay for it. -You can use or modify gnuplot as you like, however certain restrictions -apply to further distribution of modified versions. -Please read and abide by the modification and redistribution terms in -the \textit{Copyright} file. Some individual source files are explicitly -dual-licensed; in those cases alternative terms for redistribution of code -in that specific file are listed at the head of the file. - -\subsection{Does \gnuplot have anything to do with the FSF and the GNU -project?} - -\Gnuplot{} is neither written nor maintained by the FSF. At one time it -was distributed by the FSF but this is no longer true. \Gnuplot{} as a whole -is not covered by the GNU General Public License (GPL). - - -\subsection{Where do I get further information?} - -See the main gnuplot web page \http{www.gnuplot.info}. - -Some documentation and tutorials are available in other languages than English. -See \http{gnuplot.sourceforge.net/help.html}, section "Localized learning pages -about gnuplot", for the most up-to-date list. - - -\section{Setting it up} - -\subsection{What is the current version of \gnuplot?} - -The current stable version of \gnuplot is 5.4, first released in July 2020. -Incremental versions (patchlevel 1, 2, ...) are typically released every six months. -The development version of \gnuplot is currently 5.5. - -\subsection{Where can I get \gnuplot?} -\label{where-get-gnuplot} - -The best place to start is \http{www.gnuplot.info}. From there -you find various pointers to other sites, including the project -development site on SourceForge \http{sourceforge.net/projects/gnuplot}. - -The source distribution ("gnuplot-5.4.0.tar.gz" or a similar name) is -available from the official distribution site \http{sourceforge.net/projects/gnuplot}. - -\subsection{Why would I care about the development version?} - -The current development version will generally include features that are -not yet part of the most recent stable release of gnuplot. -%As of July 2020 the 5.5 development version notably supports -%\begin{itemize}{}{} -%\setlength\itemsep{-4pt} -%\item named colormaps to supplement the primary palette -%\item along-path smoothing options for 2D and 3D curves -%\end{itemize} - -\subsection{Where can I get current development version of \gnuplot?} - -The development version of gnuplot is held in a git repository which you -can clone as shown below to inspect or build an executable program -from the source. - -\scriptsize -\begin{verbatim} - git clone https://git.code.sf.net/p/gnuplot/gnuplot-main gnuplot -\end{verbatim} -\normalsize - -Questions related to the development version should go to -\mailto{gnuplot-beta@lists.sourceforge.net}. - - -\subsection{How do I compile \gnuplot on my system?} - -Read the release notes and files \textit{README} and \textit{INSTALL}. -You will need C and C++ compilers and installed versions of various -support libraries depending on what configuration options you choose and what -terminal types you want your executable to support. - -\begin{itemize} -\item -To build from a release version on linux, use \textit{./configure} (or \textit{./configure {-}{-}prefix=\$HOME/usr} -for an installation for a single user), \textit{make} and finally -\textit{make install}. Pay close attention to the output from the \textit{configure} -script (yes there is a lot of it). -There you will find hints as to what additional support libraries may be needed and -what additional options may be desirable. In general you will need to have installed -the "development" package for each of the support libraries. -\item -To build from the development source on linux you must run a separate script \textit{./prepare} -prior to running \textit{./configure} . -\item -On Windows, makefiles can be found in \textit{config/mingw}, \textit{config/msvc}, -\textit{config/watcom}, and \textit{config/cygwin}. Update the options in the -makefile's header and run the appropriate \textit{make} tool in the same directory -as the makefile. Additional instructions can be found in the makefiles. -\item -For other platforms, copy the relevant makefile (e.g. \textit{makefile.os2} for -OS/2) from \textit{config/} to \textit{src/}, optionally update options in the -makefile's header, then change directory to \textit{src} and run \textit{make}. -\end{itemize} - - -\subsection{What documentation is there, and how do I get it?} - -Full documentation is included in the release distribution as a PDF file. -Individual sections can be browsed from inside a gnuplot session -by typing \textit{help {\em keyword}}. -Documentation in other formats can be compiled from source in the -{\em docs} subdirectory. - -Online copies in English and Japanese are available at -\http{gnuplot.sourceforge.net/documentation.html}. - -\subsection{Worked examples} - -There is a directory of worked examples in the the source distribution. -These examples and the resulting plots may also be found online at -\http{gnuplot.sourceforge.net/demo/}. - - -\subsection{How do I determine which options were compiled into my \gnuplot executable?} - -Given that you have a compiled version of \gnuplot, you can use the -{\em show} command to display a list of configuration and build options -that were used to build your copy. The output formats (a.k.a. "terminals") -built into your copy of gnuplot are reported by {\em set terminal}. - -\small -\begin{verbatim} -gnuplot> show version long -gnuplot> set terminal -\end{verbatim} -\normalsize - - -\section{Working with it.} - -\subsection{How do I get help?} - -Give the {\em help} command at the initial prompt. After that, keep -looking through the keywords. Good starting points are {\em help plot} -and {\em help set}. - -\begin{itemize} -\item -Read the manual, if you have it. - -\item -Run the demos in the {\em demo} subdirectory or look at the -online copies. They should give you some ideas. -\http{gnuplot.info/demo} - -\item -Ask your colleagues, the system administrator, or the person who -set up \gnuplot. - -\item -There is an old-school usenet group devoted to gnuplot questions -\news{comp.graphics.apps.gnuplot} -inhabited mostly by users who found it last century. - -\item -A more browser-oriented help forum may be found on StackOverflow -\http{stackoverflow.com/questions/tagged/gnuplot} - -\item -If all these fail, send mail to the gatewayed mailing list -\mailto{gnuplot-info@lists.sourceforge.net}. -Please note that to reduce the amount of spam it would otherwise receive, -you must subscribe before you can post to it. Subscription instructions -may be found at -\http{lists.sourceforge.net/lists/listinfo/gnuplot-info}. - -\end{itemize} -When asking a question, always mention the \gnuplot version and -operating system you are using. If you are asking about a plot that -did not come out the way you expected, please try to show a minimal -set gnuplot commands that produce a plot showing the problem. - - -\subsection{How do I print out my graphs?} - -The output format produced by a plot command is determined by a -prior {\em set terminal} command. For non-interactive output -you should pair this with a {\em set output} command to provide -a file name. - -As an example, the following session first plots a graph of sin(x) to the -screen and then redraws that same plot as a PDF output file. -Note: the PDF plot may not look exactly like the plot on the screen. - -\small -\begin{verbatim} -gnuplot> plot sin(x) -gnuplot> set terminal pdf -Terminal type is now 'pdfcairo' -Options are ' transparent enhanced fontscale 0.5 size 5.00in, 3.00in ' -gnuplot> set output "sin.pdf" -gnuplot> replot -gnuplot> unset output # close output file (otherwise it stays open) -gnuplot> unset terminal # return to default interactive terminal -gnuplot> -\end{verbatim} -\normalsize - -If the start point is not the default interactive terminal you -can accomplish the same thing using {\em push} and {\em pop} -\small -\begin{verbatim} -gnuplot> set terminal push # save current terminal type (may not be default) -gnuplot> set terminal pdf -gnuplot> set out 'a.pdf' -gnuplot> replot -gnuplot> unset out -gnuplot> set term pop # restore saved terminal type -\end{verbatim} -\normalsize - -Some interactive terminal types ({\em win, wxt, qt}) provide a printer icon -on their toolbar. This widget prints the current plot or saves it to file -using generic system tools rather than by using a different gnuplot terminal type. -That is, the file you get by selecting "save to png" in the print menu may be -different than the file you get from {\em set term png; replot;}. -In general a plot saved in this way will more closely reproduce the screen image than -a plot generated from the command line by changing the terminal type. - - -\subsection{How do I include my graphs in my favorite word processor?} - -Basically, you save your plot to a file in a format your word processor -can understand, and then you read in the plot from your word processor. Vector -formats (PostScript, emf, svg, pdf, \TeX{}, \LaTeX{}) should be preferred, -as you can scale your graph later to the right size. - -Use {\em set term} to get a list of available file formats. - -Many word processors can use Encapsulated PostScript (*.eps) for graphs. -You can generate eps output in \gnuplot using either -{\em set terminal postscript eps} -or -{\em set terminal epscairo} -. -\Gnuplot does not embed a bitmap preview image in the output eps file. -To accommodate some word processors you may have to add a preview image yourself -using an external tool before importing it into the word processor. - -Some applications, including the LibreOffice and Microsoft Office suites, -can handle vector images in EMF format. These can be either produced by the emf -terminal, or by selecting 'Save as EMF...' from the toolbar of the -windows terminal plot window. - -LibreOffice can also read SVG, as well as AutoCAD's dxf format. - -There are many ways to use gnuplot to produce graphs for inclusion in a -\TeX\ or \LaTeX\ document. -Some terminals produce *.tex fragments for direct inclusion; others -produce *.eps, *.pdf, *.png output to be included using the -\textbackslash{}includegraphics command. -The epslatex and cairolatex terminals produce both a graphics -file (*.eps or *.pdf) and a *.tex document file that refers to it. -The tikz terminal produces full text and graphics to a pdf file -when the output is processed with pdflatex. - -Most word processors can import bitmap images (png, pbm, etc). -The disadvantage of this approach is that the resolution of your -plot is limited by the size of the plot at the time it is generated -by \gnuplot, which is generally a much lower resolution than the -document will eventually be printed in. - - -\subsection{How do I edit or post-process a \gnuplot graph?} - -This depends on the terminal type you use. - -\begin{itemize} - -\item \textbf{svg} terminal (scalable vector graphics) output can -be further edited by a svg editor, e.g. -\textbf{Inkscape} (\http{www.inkscape.org}), -\textbf{Skencil} (\http{www.skencil.org}) or -\textbf{Dia} (\http{projects.gnome.org/dia/}), or loaded -into \textbf{OpenOffice.org} with an on-fly conversion into OO.o Draw -primitives. - -\item PostScript or PDF output can be edited directly by tools such -as Adobe Illustrator or Acrobat, or can be converted to a variety -of other editable vector formats by the \textbf{pstoedit} package. -Pstoedit is available at \http{www.pstoedit.net}. - -\item The DXF format is the AutoCAD's format, editable by several -other applications. - -\item Bitmapped graphics (e.g. png, jpeg, pbm) can be edited using -tools such as ImageMagick or Gimp. -In general, you should use a vector graphics program to post-process -vector graphic formats, and a pixel-based editing program -to post-process pixel graphics. - -\end{itemize} - -\subsection{How do I save and restore my current settings?} - -Use the {\em save "filename"} and {\em load "filename"} commands. - -\subsection{Can I put both commands and data into a single file?} - -\Gnuplot version 5 supports named blocks of data in "here document" format: -\small -\begin{verbatim} -gnuplot> $DATABLOCK << EOD - cats 4 2 - dogs 1 4 -EOD -gnuplot> plot $DATABLOCK using 2:3:1 with labels -\end{verbatim} -\normalsize -Once the named block has been defined, it can be used as many times -as you like. - -Data can also be provided in-line as part of a plot command using the -pseudo-file "-". In this case the data can only be used once. - -\small -\begin{verbatim} -gnuplot> plot "-" -1 1 -2 4 -3 9 -e -\end{verbatim} -\normalsize - -\subsection{How do I run my data through a filter before plotting?} - -If your operating system supports the popen() function, you -can filter input data through another program or system utility -as part of the {\em plot} command. - -\small -\begin{verbatim} -gnuplot> plot "< sort +2 file.in" # pre-sort data on column 2 -\end{verbatim} -\normalsize - -This mechanism is particularly powerful in combination with the -unix-derived command line utilities {\em awk}, {\em sort} and {\em grep}. - -\subsection{Can I use \gnuplot routines for my own programs?} - -On systems supporting pipes, you can pipe commands to \gnuplot from other -programs. Many applications with gnuplot as the graphics engine, like Octave -(\http{www.octave.org}), uses this method. This also works from a cgi script to -drive \gnuplot from a forms-based web page. - - -\section{Customizing the appearance of your plot} - -\subsection{How to inspect or change the default colors, line, and point properties?} - -When you issue a {\em plot} or {\em splot} command with multiple components, -\gnuplot will by default cycle through a set of colors and linetypes. -You can override this by providing specific color or linetype properties in the -plot command or you can change the default sequence. -Each of the commands below accepts many additional parameters -\begin{list}{}{} - \item - {\em test} displays the active colors, line and point properties, etc - for the current terminal type - \item - {\em set color} or {\em set monochrome} selects a pre-defined sequence. - \item - {\em set linetype} changes the properties of an existing linetype or adds a new one. - \item - {\em set palette} changes the color palette used for pm3d modes such as heat maps. - \item - {\em set pointsize} scales all points by an additional factor -\end{list} - -\subsection{Hidden line or surface removal} - -There are two relevant commands. {\em set hidden3d} affects surfaces -drawn using the 3D plot style {\em splot ... with lines}. It also clips -line segments created by other 3D plot styles that are occluded by those -surfaces. However it does not handle plots generated in {\em pm3d} mode. -This includes styles {\em with pm3d}, {\em with zerror}, {\em with boxes}, -and miscellaneous plot elements generated while {\em set pm3d} is in effect. -Hidden surface removal for these plots is achieved instead by drawing them -in order of their distance from the viewer, controlled by -{\em set pm3d depthorder}. - -\subsection{How do I force exact positions for the graph borders on the page?} - -Specify the position of the top, bottom, left, and right borders in -terms of their fractional position within the page: - -\small -\begin{verbatim} -set lmargin at screen 0.05 -set bmargin at screen 0.05 -set rmargin at screen 0.95 -set tmargin at screen 0.95 -\end{verbatim} -\normalsize - -\subsection{Arranging multiple plots next to each other on a single page} - -The command you want is {\em set multiplot}. The program can place -a specified number of plots on a regular grid -({\em set mulplot layout <rows>, <columns> ...}) or you can position them -one by one using {\em set origin} and {\em set size}. - -\subsection{How to request 1:1 scaling of axes?} - -Try {\em set size square} or {\em set view equal xy}. - -\subsection{Palette that works for both color and black\&white printing?} - -Try {\em set palette cubehelix}. - -\subsection{How do I skip data points?} - -By specifying \textit{?} as a data value, as in -\small -\begin{verbatim} - 1 2 - 2 3 - 3 ? - 4 5 -\end{verbatim} -\normalsize - -See also \textit{set missing}. -See also \textit{set datafile commentschars} for specifying comment characters in -data files. - - -\subsection{How do I plot every nth point?} - -This can be specified with various options for the command {\em plot}, -for example {\em plot 'a.dat' every 2}. If you want to draw a line -through every point but only draw a point symbol at every nth point, -then try {\em plot 'a.dat' with linespoints pointinterval n}. - - -\subsection{How do I plot a vertical line?} - -Depending on context, the main methods are: -\begin{itemize} -\item {\em set arrow .... .... nohead} where you have to compute -explicitly the start and the end of the arrow. -\item generate inlined datapoints and plot them -\end{itemize} - -\subsection{Y axis label in the wrong place and/or left margin too big} -\Gnuplot has trouble estimating how much space to the left of the plot -will be required to hold the Y axis label if it is printed horizontally -({\em set ylabel norotate}). This is particularly true if there is -TeX markup in the label string. To work around this problem you can place -the text in a numbered label rather than in {\em ylabel}. -\small -\begin{verbatim} -Y = 1001 -set label Y '$\operatorname{\mathfrak{Im}} S_{21}$' -set label Y norotate at graph 0.0, 0.5 offset -6 -\end{verbatim} -\normalsize - -\section{Plot types that people often ask about} - -\subsection{Animations} - -\Gnuplot versions through release 5.4 support only one terminal type -(gif) that directly outputs an animated file: -\begin{verbatim} -set terminal gif animate {delay <time>} {loop <N>} {optimize} -\end{verbatim} - -The development version (5.5) also supports animation in webp format. -Have a look at -\http{gnuplot.sourceforge.net/demo/animate2.html} -in the demo collection. - -\subsection{Implicit defined graphs} - -Implicit graphs or curves cannot be plotted directly in \gnuplot. -However there is a workaround. -\small -\begin{verbatim} -gnuplot> # An example. Place your definition in the following line: -gnuplot> f(x,y) = y - x**2 / tan(y) -gnuplot> set contour base -gnuplot> set cntrparam levels discrete 0.0 -gnuplot> unset surface -gnuplot> set table $TEMP -gnuplot> splot f(x,y) -gnuplot> unset table -gnuplot> plot $TEMP w l -\end{verbatim} -\normalsize -The trick is to draw the single contour line z=0 of the surface -z=f(x,y), and store the resulting contour curve to a temporary file or datablock. - - -\subsection{How to fill an area between two functions} - -A plot with filled area between two functions f(x) and g(x) can be obtained using -the pseudo file '+' with plot style {\em filledcurves}. -\small -\begin{verbatim} -f(x)=cos(x); g(x)=sin(x) -set xrange [0:pi] -plot '+' using 1:(f($1)):(g($1)) with filledcurves -\end{verbatim} -\normalsize - -Note that this code fragment fills area between the two curves regardless of -which one is above the other. If you want to fill only the area satisfying g(x)<f(x) -or f(x)<g(x) -add an additional keyword {\em above} or {\em below} after {\em filledcurves}. - - - -\subsection{Drawing a 2D projection of 3D data} - -The command {\em set view map} adjusts the view angle and scaling such -that subsequent 3D graphs made with {\em splot} have approximately the same layout -as a 2D graph made with {\em plot}, with the x axis horizontal and the y axis vertical. -Version 5.4 commands {\em set view projection xz} and {\em set view projection yz} -similarly initialize layouts for 2D projection of the xz or yz plane, with the -z axis horizontal and the x or y axis vertical. - -\subsection{How to overlay dots/points scatter plot onto a pm3d map/surface} - -Use the {\em explicit} option of the pm3d style: -\small -\begin{verbatim} -gnuplot> set pm3d explicit -gnuplot> splot x with pm3d, x*y with points -\end{verbatim} -\normalsize - - -\subsection{How to produce labeled contours} - -Labeling individual contours in a contour plot used to require special -tricks and extra processing steps in \gnuplot version 4. -In version 5 it is much simpler. Plot the contours twice, -once "with lines" and once "with labels". To make the labels stand out -it may help to use -\begin{verbatim} -set style textbox opaque noborder -set contours -splot 'DATA' with lines, 'DATA' with labels boxed -\end{verbatim} - -\subsection{Does \gnuplot support bar-charts/histograms/boxes?} - -\Gnuplot{} supports various clustered and stacked histogram styles to display -pre-tabulated data. It also offers a few options for accumulating raw data -into bins, which can in turn be displayed as a bar chart. See the documentation -for \textit{bins} and for \textit{smooth frequency}. - -\subsection{Does \gnuplot support pie charts? quarterly time charts?} - -Pie charts are sort of difficult in \gnuplot, but see -\http{gnuplot.sourceforge.net/demo/circles.html}, -or have a look at -\http{gnuplot-tricks.blogspot.com/2009/08/pie-charts-entirely-in-gnuplot.html}. - -The demo collection contains an example of a simple Gantt chart. - -\subsection{Does \gnuplot support multiple y-axes on a single plot?} - -Yes. 2D plots can have separate x axes at the bottom (x1) and top (x2), -and separate y axes at the left (y1) and right (y2). Version 5 offers a -plot mode \textit{with parallelaxes} that allows any number of additional -y axes to be defined. - -\subsection{How to draw a solid made of triangular facets?} - -Version 5.4: plot style \textit{with polygons} can handle polygonal faces -(triangles, rectangles, octagons, ...) in either 2D or 3D plots. - -In older versions the best you can do is to describe colored quadrangles -that are facets of a 3D object using a file organized like this: -\small -\begin{verbatim} -# triangle 1 -x0 y0 z0 <c0> -x1 y1 z1 <c1> - -x2 y2 z2 <c2> -x2 y2 z2 <c2> - - -# triangle 2 -x y z -... -\end{verbatim} -\normalsize - -Notice the single and double blank lines. Also notice that each triangle -really has four vertices of which two are identical. This is because the -pm3d code only knows how to deal with quadrangles. -\textit{<cN>} is an optional color. - -Then plot it: -\small -\begin{verbatim} -set pm3d -set style data pm3d -set pm3d depthorder -splot 'facets.dat' using 1:2:3 title "default coloring" -splot 'facets_with_color.dat' using 1:2:3:4 title "explicit colors" -\end{verbatim} -\normalsize - -Gnuplot is not a 3D modeling program. -The depthorder rendering will not handle inter-penetrating facets. -For true 3D rendering you would be probably be better off using a ray-tracing program. - -\subsection{How do I plot two functions in non-overlapping regions?} - -Give the desired range immediately before each function being plotted. -For example, to plot experimental data and two different functional -models f1 and f2 covering two different portions of the domain: -\small -\begin{verbatim} -gnuplot> set autoscale x # get x range from the data -gnuplot> plot 'data', [*:0] f1(x), [0:*] f2(x) -\end{verbatim} -\normalsize - - -\subsection{How do I plot lines (not grids) using splot?} - -If the data input to splot is arranged such that each line contains -the same number of data points (using blank lines as delimiters, as usual), -splot will by default treat the data as describing a surface. -If you want to draw individual lines instead, try some combination of -\textit{unset surface}, \textit{set surface explicit}, \textit{plot ... nosurface}. - - -\subsection{How do I plot a function f(x,y) that is bounded by other - functions in the x-y plane?} - -Here is one way: -\small -\begin{verbatim} -gnuplot> f(x,y) = x**2 + y **2 -gnuplot> x(u) = 3*u -gnuplot> yu(x) = x**2 -gnuplot> yl(x) = -x**2 -gnuplot> set parametric -gnuplot> set cont -gnuplot> splot [0:1] [0:1] u,yl(x(u))+(yu(x(u)) - yl(x(u)))*v,\ - > f(x(u), (yu(x(u)) - yl(x(u)))*v) -\end{verbatim} -\normalsize - - -\section{Text formatting and special symbols} - -\subsection{Text markup using "enhanced text" mode} - -\Gnuplot version 5 defaults to "enhanced text" mode, in which text markup is -indicated by a set of special characters embedded in the text. - -\begin{center} -\begin{tabular}{|clll|} \hline -\multicolumn{4}{|c|}{Enhanced Text Control Codes} \\ \hline -Control & Example & Result & Explanation \\ \hline -\verb~^~ & \verb~a^x~ & $a^x$ & superscript\\ -\verb~_~ & \verb~a_x~ & $a_x$ & subscript\\ -\verb~@~ & \verb~a@^b_{cd}~ & $a^b_{cd}$ &phantom box (occupies no width)\\ -\verb~&~ & \verb~d&{space}b~ & d\verb*+ +b & inserts space of specified length\\ -\verb|~| & \verb|~a{.8-}| & $\tilde{a}$ & overprints '-' on 'a', raised by .8\\ -\verb~ ~ & \verb~ ~ & ~ ~ & times the current fontsize\\ -\verb| | & \verb|{/Times abc}| & {\rm abc} & print abc in font Times at current size\\ -\verb| | & \verb|{/Times*2 abc}| & \Large{\rm abc} & print abc in font Times at twice current size\\ -\verb| | & \verb|{/Times:Italic abc}| & {\it abc} & print abc in font Times with style italic\\ -\verb| | & \verb|{/Arial:Bold=20 abc}| & \Large\textsf{\textbf{abc}} & print abc in boldface Arial font size 20\\ -%% 5.3 only %% \verb|\U+| & \verb|\U+221E| & $\infty$ & Unicode point U+221E INFINITY\\ -\hline -\end{tabular} -\end{center} - -\subsection{How do I turn text markup on or off?} - -To exempt a particular text string from this processing mode use the keyword -{\em noenhanced}. For example we don't want to interpret file names as subscripts: -\small -\begin{verbatim} -set title 'Compare file_1.dat and file_2.dat' noenhanced -\end{verbatim} -\normalsize - -\subsection{Is UTF-8 the answer to all my special character problems?} - -Yes. - -Unfortunately there are some circumstances where it very cumbersome to use, -notably in generating PostScript output. -If you are working in a UTF-8 computing environment, you probably do not have to -do anything special in gnuplot to use it. -If you are not, then you can still tell gnuplot to use UTF-8 for output: -{\em set encoding utf8}. - -If you cannot enter UTF-8 characters on your keyboard you will have to solve -that outside of gnuplot. Or you can use octal escape sequences to type them in -byte-by-byte, or (version 5.4) unicode escape sequences like -{\em \verb&\U+221E&} ($\infty$). -If your keyboard does generate UTF-8 but you don't know what keystrokes would -produce a specific character, there are probably suitable character selection -apps for your desktop (e.g. KDE {\em kcharselect} or GNOME {\em Character Map}). - -\subsection{What if I need h-bar (Planck's constant)?} - -The most straightforward way is to use a UTF-8 font, and type in the -$\hbar$ character (Unicode {\verb&\U+210F&}) directly. - -PostScript: PostScript does not handle utf8 easily so you must use an -approximation based on enhanced text markup and possibly a special -Symbol font: - -\verb+ @{/=56 -} {/=24 h}+ or -\verb+ {/=8 @{/Symbol=24 -} _{/=14 h}}+ -In the latter, the "-" (a long one in /Symbol) is non-spacing and 24-pt. -The 14-pt "h" is offset by an 8-pt space (which is the space preceding -the "\_") but smaller, since it's written as a subscript. -But these don't look too much like the hbar we're used to, since the bar -is horizontal instead of sloped. -Another possibility is \verb+{/=14 @^{/Symbol=10 -}{/=14 h}}+. - -The reduced Planck's constant can be set very easily by using the -AMS-LaTeX PostScript fonts which are available from -\http{www.ams.org/tex/amsfonts.html} (also included in many LaTeX -distributions). \Gnuplot{} (see \verb+help fontpath+) and the -PostScript interpreter (usually Ghostscript) have to know where the -file \verb+ msbm10.pfb+ (or \verb+ msbm10.pfa+) resides. Use -\verb+ {/MSBM10 \175}+ to produce \verb+ \hslash+ which is a "h" -superimposed by a sloped bar. The standard \verb+ \hbar+ (horizontal -bar) has the octal code 176. Please note that h-bar exists only as an -italic type. - -\subsection{What if I need the Solar mass symbol?} - -As with Planck's constant, the most straightforward way is to use a -UTF-8 font, and type in the $\odot$ character -(Unicode {\verb&\U+2299&} ; "circled dot operator") -directly. The very similar glyph at (Unicode code point {\verb&\U+2609&} ; "sun") -may be even better, but not many fonts provide it. - -\subsection{How to use Greek letters or other special symbols?} - -The old-style way is to use enhanced text mode to switch to a specialize font, -e.g. the Adobe "Symbol" font, that maps the characters you want onto ascii -letters 'a', 'b', etc. This may still be necessary for PostScript output. -However a much simpler way is to select UTF-8 encoding and enter the -special characters just as you would any other text. -This obviates the need to change fonts and gives you access to all unicode -code points including CJK character sets. To actually print or view the -files produced by \gnuplot you still need appropriate fonts installed on -your computer or output device. \Gnuplot itself does not provide fonts. - -The various \LaTeX{} terminal types (\textit{latex, epslatex, tikz, context, cairolatex}) -hand off text generation to \LaTeX{}. In this case you can use normal \LaTeX{} -markup like \verb+$\alpha_{3}$+ . - -\subsection{How do I include accented characters?} - -If you are stuck using a non-utf8 encoding you should use -8-bit character codes together with the appropriate encoding option -to obtain accented characters like \"u or \^n in your labels. -You can represent the 8-bit code with an escape sequence. -See the following example: - -\small -\begin{verbatim} -gnuplot> set encoding iso_8859_1 -gnuplot> set title "M\374nchner Bierverbrauch \374ber die Jahre" -gnuplot> plot "bier.dat" u 1:2 -\end{verbatim} -\normalsize - -Everyone else should use UTF-8, where these are normal characters. - -\subsection{Can I put different text sizes into my plots?} - -Most terminal types allow you to specify a starting font face and size. -The "enhanced text" mode allows you to change fonts, text sizes, bold and -italic styles within a plot. - - - -\section{Miscellaneous} - -\subsection{Does \gnuplot support a driver for graphics format XXX?} - -To see a list of the available graphic drivers for your installation of -\gnuplot, type {\em set term}. - -Some graphics drivers are included in the source distribution -but are not built by default. If you want to use them, you'll -have to recompile from source. - -\subsection{I've found a bug, what do I do?} - -First, try to see whether it actually is a bug, or whether it -is a feature you can turn off with some obscure {\em set} command. - -Next, see whether you have an old version of \gnuplot; if so, -chances are the bug has been fixed in a newer release. - -Before submitting a bug report, please check whether the bug in question -has already been fixed in the upstream source since the release of the -current version. These are marked "pending-fixed" on the bug tracker. - -If, after checking these things, you still are convinced that there is a -bug please report it using the bug-tracker at -\http{sourceforge.net/p/gnuplot/bugs}. -Be sure to include the version of \gnuplot (including patchlevel) and -the operating system you are running it on. -It helps a lot if you can provide a simple script that reproduces the error. - -The tracker on sourceforge is for reporting bugs and collecting bug fixes -that will appear in a subsequent release. -The various online forums are better places to ask about -work arounds or actually solving \gnuplot related problems. - -\subsection{Can I do heavy-duty data processing with \gnuplot? or -What is beyond \gnuplot?} - -\gnuplot by itself is not very well suited for heavy numerical computation. -On the other hand it can easily handle very large data sets (millions of points). -If you have a specific application where the limitation is gnuplot's speed in -evaluating a non-trivial function, it might be worth coding this function in -C or C++ and making it a loadable plugin that gnuplot can call. - -Programs you might look into if you need intensive numerical computation: - -\textbf{octave} (\http{www.octave.org}) -is a high-level language primarily intended for numerical computations. -Octave is licensed under GPL, and in principle, it is a free Matlab clone. -It provides a convenient command line interface for solving linear and nonlinear problems -numerically. By the way, octave uses \gnuplot as its plotting -engine, so you get a data-processing program on top of \gnuplot. - -\textbf{scilab} (\http{www.scilab.org}) is another open source alternative to \textbf{matlab}. - -\textbf{julia + Gaston} (\http{github.com/mbaz/Gaston.jl}) -The Julia language is designed for numerical analysis and computational science. -Gaston is a julia package that provides an interface to gnuplot for graphical output. - -\subsection{What if I need special function that gnuplot doesn't have?} - -See above. You may have to use another program or write a custom plugin. - - -\subsection{How to use hotkeys in my interactive terminals} - -Most of the interactive terminals support both pre-defined and user-defined -hotkeys to replot, toggle plot elements, change axis scaling, and so on. -Hit \textit{h} in an active gnuplot plot window to get list of hotkeys. -Read \textit{help mouse} and \textit{help bind} for more information. - - -\subsection{I want to help in developing the next version of \gnuplot. -What can I do?} - -Join the \gnuplot beta test mailing list by sending a mail -containing the line -\verb+subscribe gnuplot-beta+ -in the body (not the subject) of the mail to -\mailto{Majordomo@lists.sourceforge.net}. - - -\section{Common problems} - - -\subsection{Help! None of my fonts work.} - -Gnuplot does not do font handling by itself; it must necessarily leave -that to the individual device support libraries. Unfortunately, this -means that different terminal types need different help in finding -fonts. Here are some quick hints. For more detailed information please -see the gnuplot documentation for the specific terminal type you are -having problems with. - -\begin{description} -\item [{png/jpeg/gif}] These terminal types use the libgd support library, which -searches for fonts in the directories given in the environmental variable -GDFONTPATH. Once you get libgd fontpaths sorted out, you will probably -want to set a default font for gnuplot. -For example: \verb+setenv GNUPLOT_DEFAULT_GDFONT verdana+ -\item [{post}] PostScript font names are not resolved until the document -is printed. Gnuplot does not know what fonts are available to your -printer, so it will accept any font name you give it. However, it -is possible to bundle a font with the gnuplot output; please see the -instructions given by gnuplot's internal command {}``help set term -post fontfile''. -\item [{svg}] Font handling is viewer-dependent. -\item [{x11}] The x11 terminal uses the normal x11 font server mechanism. -The only tricky bit is that in order to use multi-byte fonts you must -explicitly say so: -\small\begin{verbatim} -set term x11 font "mbfont:sazanami mincho,vera,20" -\end{verbatim}\normalsize -\item [{win}] Select "Choose font..." from the "Options" pull-down menu -in the toolbar. -\item [{wxt, qt}] On linux systems these terminals rely on fonts provided -by the system's \textit{fontconfig} utility. -\end{description} - -\subsection{The first plot in a qt terminal session fails or has bad layout} - -You may also get an error message about "slow font initialization". -This is because qt relies on a shared system font cache. -If you request a font that no one else is using, it takes a while to -update the cache. This mostly happens on Windows or OSX, because other -programs on those systems tend to use a different font mechanism so the -relevant font cache may be empty. -Try invoking gnuplot with command line option {\em -\@-slow}. - -\subsection{Pm3d splot from a datafile does not draw anything} - -You do {\em set pm3d; splot 'a.dat'} and no plot but colorbox appears. -Perhaps there is no blank line in between two subsequent scans (isolines) in -the data file? Add blank lines! If you are curious what this means, then don't -hesitate to look to files like {\em demo/glass.dat} or {\em demo/triangle.dat} -in the gnuplot demo directory. - -You can find useful the following awk script (call it e.g. {\em addblanks.awk}) -which adds blank lines to a data file whenever number in the first column -changes: -\small -\begin{verbatim} -/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #) -NF < 3 {next} # ignore lines which don't have at least 3 columns -$1 != prev {printf "\n"; prev=$1} # print blank line -{print} # print the line -\end{verbatim} -\normalsize - -Then, either preprocess your data file by command -{\em awk -f addblanks.awk <a.dat} -or plot the datafile under a unixish platform by\\ -{\em gnuplot > splot "<awk -f addblanks.awk a.dat"}. - -\subsection{Why does \gnuplot ignore my very small numbers?} - -For some purposes \Gnuplot{} treats numbers less than 1.e-08 as being zero. -Thus if you are trying to plot a collection of very small numbers, -they may be plotted as zero. Worse, if you're plotting -on a log scale, they will be off scale. Or, if the whole set of -numbers is "zero", your range may be considered empty: - -\small -\begin{verbatim} -gnuplot> plot 'test1' -Warning: empty y range [4.047e-19:3e-11], adjusting to [-1:1] -gnuplot> set yrange [4e-19 : 3e-11] -gnuplot> plot 'test1' - ^ -y range is less than `zero` -\end{verbatim} -\normalsize - -The solution is to change gnuplot's idea of "zero": -\small -\begin{verbatim} -gnuplot> set zero 1e-20 -\end{verbatim} -\normalsize - -For more information, type {\em help set zero}. - -\subsection{When I {\em replot} or {\em resize} a multiplot I get only a fragment} - -\Gnuplot only retains enough information to regenerate the most recent -{\em plot} or {\em splot} command. -In order to reproduce the entire multiplot you need to save the complete -sequence of commands that generated it into a script file. -Then you can {\em load} that script into \gnuplot as many times as you need -for replotting the drawing to different terminals or output files. - -The same problem arises when you resize a multiplot displayed in an interactive -terminal window, because the resize event normally triggers a replot. -The {\em qt} and {\em wxt} terminals provide a toggle in the toolbox widget -that suppresses this replot on resize. The {\em x11} terminal provides a -terminal option {\em set term x11 noreplotonresize}. - -\subsection{My formulas (like 1/3) are giving me nonsense results! What's going on?} - -\Gnuplot{} does integer, and not floating point, arithmetic on -integer expressions. For example, the expression 1/3 evaluates -to zero. If you want floating point expressions, supply -trailing dots for your floating point numbers. Example: - - -\small -\begin{verbatim} -gnuplot> print 1/3 - 0 -gnuplot> print 1./3. - 0.333333 -\end{verbatim} -\normalsize - -This way of evaluating integer expressions is shared by both C and Fortran. - - -\subsection{My output files are incomplete!} - -You may need to flush the output and close the file with -{\em set output} or {\em unset output}). - -Some output formats (postscript, pdf, latex, ...) can include several -pages of plots in a single output file. For these output modes, gnuplot -leaves the file open after each plot so that you can add additional plots -to it. The file is not completed and made available to external applications -until you issue a {\em set} or {\em unset output} command, -select a different terminal type ({\em set term}), or exit gnuplot. - - -\subsection{Calling gnuplot in a pipe or from a script doesn't show a plot on my screen!} - -One common cause is that \gnuplot exits immediately after drawing, -the plot window closes when gnuplot exits, and it all happens too fast -for you see the plot. -There are several solutions to this: -\begin{itemize} -\item Use the gnuplot command line option {\em -persist}. - This leaves the plot window open after gnuplot itself exits. -\item Interactive terminals also accept {\em persist} as an option to {\em set term}. -\item Send a {\em pause mouse close} command to gnuplot before closing the pipe. - This will tell gnuplot not to exit until the plot window is closed by - some other action. -\item Have the script close the pipe only when it is sure you don't need - gnuplot and its plot window any more. -\end{itemize} - -Here is a short Perl-script showing two of these fixes: -\small -\begin{verbatim} -#!/usr/local/bin/perl -w -open (GP, "|/usr/local/bin/gnuplot -persist") or die "no gnuplot"; -# force buffer to flush after each write -use FileHandle; -GP->autoflush(1); -print GP,"set term x11; plot sin(x) with lines\n"; -print GP,"pause mouse close\n"; -close GP -\end{verbatim} -\normalsize - - -\section{Credits} - -This FAQ was initially compiled by John Fletcher with contributions -from Russell Lang, John Campbell, David Kotz, Rob Cunningham, Daniel -Lewart and Alex Woo. Reworked by Thomas Koenig from a draft -by Alex Woo, with corrections and additions from Alex Woo, John -Campbell, Russell Lang, David Kotz and many corrections from Daniel Lewart. -Again reworked for \gnuplot 3.7 by Alexander Mai and Juergen v.Hagen -with corrections by Lars Hecking, Hans-Bernhard Broecker and others. -Revised for \gnuplot version 4 by Petr Mikul\'{\i}k and Ethan Merritt. -Revised for \gnuplot version 5 by Ethan Merritt. - -\end{document} -%% diff --git a/faq/htlatex.cfg b/faq/htlatex.cfg deleted file mode 100644 index 4e273b0b4..000000000 --- a/faq/htlatex.cfg +++ /dev/null @@ -1,12 +0,0 @@ -\Preamble{html} -\Css {body {margin-top: 10px; - margin-right: 75px; - margin-bottom: 25px; - margin-left: 75px; - } - div.tableofcontents {line-height:27px;} - } - -\begin{document} -\EndPreamble - diff --git a/faq/pdf-icon.png b/faq/pdf-icon.png deleted file mode 100644 index 629df20c2..000000000 Binary files a/faq/pdf-icon.png and /dev/null differ diff --git a/m4/pkg.m4 b/m4/pkg.m4 index 0c7f2276f..25284212f 100644 --- a/m4/pkg.m4 +++ b/m4/pkg.m4 @@ -200,8 +200,7 @@ if test $pkg_failed = yes; then echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_WARN(dnl -[ -Package requirements ($2) were not met: +[Package requirements ($2) were not met: $$1_PKG_ERRORS diff --git a/man/Makefile.am b/man/Makefile.am index e7acce723..962383871 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,7 +1,9 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- AUTOMAKE_OPTIONS = foreign -man_MANS = gnuplot.1 gnuplot-ja_JP.eucJP gnuplot-ja_JP.UTF-8 +SUBDIRS = ja + +man_MANS = man1/gnuplot.1 EXTRA_DIST = $(man_MANS) diff --git a/man/gnuplot-ja_JP.eucJP b/man/gnuplot-ja_JP.eucJP deleted file mode 100644 index d56e637d6..000000000 --- a/man/gnuplot-ja_JP.eucJP +++ /dev/null @@ -1,262 +0,0 @@ -.\" dummy line -.\" ܸ: Shigeharu TAKENO <shige@iee.niit.ac.jp> (2020-02-25) -.\" -.\" .TH GNUPLOT 1 "February 2020" -.TH GNUPLOT 1 " 2020 ǯ 2 1 " -.UC 4 -.\" .SH NAME -.SH ̾ -.\" gnuplot \- an interactive plotting program -gnuplot \- ÷ץ -.\" .SH SYNOPSIS -.SH -.B gnuplot -[X11 options] [options] [file ...] -.br -.\" .SH DESCRIPTION -.SH ǽ -.\" .B Gnuplot -.\" is a command-driven interactive plotting program. -.B gnuplot -ϡޥŪץǤ -.PP -.\" If file names are given on the command line, -.\" gnuplot loads and executes each file in the order specified, -.\" and exits after the last file is processed. -.\" If no files are given, \fBgnuplot\fP prompts for interactive commands. -ޥɥ饤󤫤ʣΥե̾Ϳȡ -gnuplot ϳƥեꤷ֤ɤ߹ߡ¹Ԥ -ƺǸΥե齪λޤ -եꤷʤäϡ -\fBgnuplot\fP ÷ǥޥɤϤ¥ޤ -.PP -.\" Here are some of its features: -gnuplot ϰʲΤ褦ħޤ: -.PP -.\" Plots any number of functions, built up of C operators, C math library -.\" functions, and some things C doesn't have like **, sgn(), etc. -C α黻Ҥ C οإ饤֥ؿ - ** sgn() ʤɤΤ褦 C ˤϤʤ褦ʤΤѤɽ줿 -ǤոĿδؿ衣 -.PP -.\" User-defined constants and functions. -桼桼ؿ -.PP -.\" All computations performed in the complex domain. Just the real part is -.\" plotted by default, but functions like imag() and abs() and arg() are -.\" available to override this. -ʣǿϰϤǤΤ٤Ƥη׻ǥեȤǤϼ¿ʬΤߤ褵ޤ -ѹ뤿 imag() abs(), arg() Τ褦ʴؿѰդƤޤ -.PP -.\" Many presentation styles for plotting user data from files, including -.\" surface-fitting, error bars, boxplots, histograms, heat maps, and simple -.\" manipulation of image data. There is an on-line demo collection at -եΥ桼ǡѤ¿ɽ󵢶̡ - (errorbars)ȢҤʬ (boxplots)ҥȥ (histograms) -ʬۡǡδñʽǽʤɤäƤޤ -ʲ Web ˡǥ򽸤᤿Τ֤Ƥޤ: -.br -.I http://gnuplot.info/demo -.PP -.\" Nonlinear least-squares fitting. -κǾˡ -.PP -.\" 2D and 3D plots with mouse-controlled zooming, rotation, and hypertext. -2 3 ȥޥˤ硢ž桢ϥѡƥȡ -.PP -.\" Shell escapes and command line substitution. -륳ޥɤμ¹Ԥȥޥɥ饤ִ -.PP -.\" Load and save capability. -load save -.PP -.\" Support for a huge variety of output devices and file formats. -ˤ¿μνϥǥХϥեΥݡȡ -.\" .SH OPTIONS -.SH ץ -.PP -.\" \fB\-p, \-\-persist\fP lets plot windows survive after main gnuplot program exits. -\fB\-p, \-\-persist\fP ϡ -gnuplot ץबλ襦ɥĤޤ -.PP -.\" \fB\-c scriptname ARG1 ARG2 ..., load script using gnuplot's "call" mechanism and pass it the remainder of the command line as arguments -\fB\-c scriptname ARG1 ARG2 ... ϡ -gnuplot "call" λȤߤǥץ scriptname ɤ߹ߡ -ޥɥ饤λĤϤؤΰȤϤޤ -.PP -.\" \fB\-d, \-\-default\fP settings. Do not read from gnuplotrc, ~/.gnuplot, and $XDG_DATA_HOME/gnuplot/gnuplotrc on entry. -\fB\-d, \-\-default\fP ϡ -ǥեȤǵưޤ -ϡgnuplotrc ~/.gnuplot, $XDG_DATA_HOME/gnuplot/gnuplotrc -ưˤɤ߹ߤޤ -.PP -.\" \fB\-e "command list"\fP executes the requested commands before loading the next input file. -\fB\-e "command list"\fP ϡ -ϥեɤ߹˻ꤷޥɤ¹Ԥޤ -.PP -.\" \fB\-s, \-\-slow\fP wait for slow font initialization rather than continuing with an error. -\fB\-s, \-\-slow\fP ϡ -٤եȤνԤ顼Фޤ³Ԥ뤳Ȥ򤱤ޤ -.PP -.\" \fB\-h, \-\-help\fP print summary of usage -\fB\-h, \-\-help\fP ϡˡɽޤ -.PP -.\" \fB\-V\fP show current version -\fB\-V\fP ϡߤΥСɽޤ -.\" .SH X11 OPTIONS -.SH X11 ץ -.\" For terminal type x11, \fIgnuplot\fP -.\" accepts the standard X Toolkit options and resources such as geometry, font, -.\" and background. See the X(1) man page for a description of common options. -x11 Ϸ˴ؤƤϡ\fIgnuplot\fP geometry եȡ -طʿʤɤ̾ X Toolkit ץ꥽λĤޤ -̾ΥץˤĤƤϡX(1) Υޥ˥奢ڡ򻲾ȤƤ -.\" For additional X options specific to gnuplot, type \fIhelp x11\fP on the -.\" gnuplot command line. These options have no effect on other terminal types. -gnuplot ͭɲä X ΥץˤĤƤϡ -gnuplot Υޥɥ饤 \fIhelp x11\fP ȤƳǧƤ -Υץϡ¾νϷǤϲ⤷ޤ -.\" .SH ENVIRONMENT -.SH Ķѿ -.\" A number of shell environment variables are understood by -.\" gnuplot. None of these are required. -gnuplot ¿ΥĶѿǧޤɬܤΤΤϤޤ -.TP -.B GNUTERM -.\" The name of the terminal type to be used by default. This can be -.\" overridden by the gnuplotrc, .gnuplot, or $XDG_DATA_HOME/gnuplot/gnuplotrc -.\" start-up files and, of course, by later explicit "set terminal" commands. -ǥեȤǻѤϷ (terminal) ̾ -ϡgnuplotrc .gnuplot, $XDG_DATA_HOME/gnuplot/gnuplotrc -ե䡢 -Ƥ󤽤θ˥ޥ "set terminal" -Ū˻ꤷΤͥ褵ޤ -.TP -.B GNUHELP -.\" The pathname of the HELP file (gnuplot.gih). -إץե (gnuplot.gih) Υѥ̾ -.TP -.B HOME -.\" The name of a directory to search for a .gnuplot file. -ե .gnuplot 򸡺ǥ쥯ȥꡣ -.TP -.B PAGER -.\" An output filter for help messages. -إץåνѤΥե륿 -.TP -.B SHELL -.\" The program used for the "shell" command. -"shell" ޥɤκݤ˻Ȥץࡣ -.TP -.B FIT_SCRIPT -.\" Specifies a gnuplot command to be executed when a -.\" fit is interrupted---see "help fit". -ƤϤ (fit) Ǥ줿Ȥ˼¹Ԥ gnuplot ޥɤλ -("help fit" ) -.TP -.B FIT_LOG -.\" The name of the logfile maintained by fit. -ƤϤ (fit) λѤե̾ -.TP -.B GNUPLOT_LIB -.\" Additional search directories for data and command files. The variable -.\" may contain a single directory name, or a list of directories -.\" separated by ':'. The contents of GNUPLOT_LIB are appended to the -.\" "loadpath" variable, but not saved with the "save" and "save set" -.\" commands. -ǡ䥳ޥɥեθǥ쥯ȥɲѿϡ -ĤΥǥ쥯ȥ̾ޤ ':' ڤʣΥǥ쥯ȥ̾ -Ĥʤƽ񤤤ΤǤGNUPLOT_LIB ͤѿ "loadpath" ɲäޤ - "save" "save set" ޥɤǤ¸ޤ -.TP -.B GDFONTPATH -.\" Several gnuplot terminal drivers access TrueType fonts via the gd library. -.\" This variable gives the font search path for these drivers. -Ϸˤ gd 饤֥ͳ TrueType եȤ򰷤Τ -ĤޤѿϤνϷФեȤ -ѥͿޤ -.TP -.B GNUPLOT_DEFAULT_GDFONT -.\" The default font for the terminal drivers that access TrueType fonts -.\" via the gd library. -gd 饤֥ͳ TrueType եȤ򰷤ϷΥǥեȥեȡ -.TP -.B GNUPLOT_FONTPATH -.\" The font search path used by the postscript terminal. The format is -.\" the same as for GNUPLOT_LIB. The contents of GNUPLOT_FONTPATH are -.\" appended to the "fontpath" variable, but not saved with the "save" and -.\" "save set" commands. -postscript ϷѤեȸѥ -񼰤 GNUPLOT_LIB ƱǤ -GNUPLOT_FONTPATH ͤѿ "fontpath" ɲäޤ - "save" "save set" ޥɤǤ¸ޤ -.TP -.B GNUPLOT_PS_DIR -.\" Used by the postscript driver to locate external prologue -.\" files. Depending on the build process, gnuplot contains either a -.\" builtin copy of those files or simply a default hardcoded path. Use -.\" this variable to test the postscript terminal with custom prologue -.\" files. See "help postscript prologue". -postscript Ϸõ (prologue) ե֤ꡣ -󥹥ȡκȤˤꡢgnuplot ˤϤΥեΥԡ -Ȥ߹ޤƤ뤫ޤñˤΥեΤǥեȤΥѥ -ޤ뤫Ѥޤޥե postscript Ϥ -ƥȤϡδĶѿȤäƤ"help postscript prologue" -ȡ -.\" .SH FILES -.SH ե -.TP -.I gnuplotrc -.\" When gnuplot is run, it first looks for a system-wide initialization -.\" file named gnuplotrc. The standard location of this file expected by -.\" the program is reported by the "show loadpath" command. -gnuplot ϡư gnuplotrc ȤƥѤ -եõޤ -ΥեΡgnuplot õȤɸŪ֤ϡ -ޥ "show loadpath" Ǹ뤳ȤǤޤ -.TP -.I .gnuplot -.\" After loading the system-wide initialization file, if any, -.\" Gnuplot looks for a private initialization file in the HOME directory. -.\" It may contain any legal gnuplot commands, but typically they are -.\" limited to setting the preferred terminal and line types -.\" and defining frequently-used functions or variables. -ƥѤνեɤ߹ǡ -gnuplot ϸĿѤνե -Υۡǥ쥯ȥ (HOME) õޤ -ˤϡ gnuplot ޥɤʤ鲿񤤤Ƥ⤤ΤǤ -Ūˤϡ褯ȤϷλ䡢ꡢ -褯Ȥؿѿꤹ٤ޤƤޤ -.TP -.I $XDG_CONFIG_HOME/gnuplot/gnuplotrc -.\" After loading the other initialization files, Gnuplot will check -.\" if there is a file named gnuplotrc in the gnuplot subdirectory -.\" in $XDG_CONFIG_HOME (default ~/.config). The same restrictions -.\" as for .gnuplot apply. -¾νեɤ߹ǡgnuplot $XDG_CONFIG_HOME -(ǥեȤ ~/.config) Υ֥ǥ쥯ȥ gnuplot gnuplotrc -Ȥ̾Υե뤬뤫ɤåޤ -.gnuplot Ʊ¤ŬѤޤ -.TP -.I fit.log -.\" The default name of the logfile output by the "fit" command. -ޥ "fit" ˤäƽϤեΥǥեȤ̾ -.\" .SH AUTHORS -.SH -.\" Original authors: Thomas Williams and Colin Kelley. -.\" Starting with gnuplot version 3.8, the project source is cooperatively -.\" maintained on SourceForge by a large number of contributors. -κ: Thomas Williams, Colin Kelley -gnuplot С 3.8 ʹߡ켰ϡSourceForge ǡ -ȤƤ¿δͿԤˤäƶƱݼ餵Ƥޤ -.\" .SH BUGS -.SH Х -.\" Please report bugs using the project bug tracker on SourceForge. -ХСSouceForge bug tracker ץȤȤä𤷤Ƥ -.\" .SH SEE ALSO -.SH -.\" See the printed manual or the on-line help for details on specific commands. -ġΥޥɤξܺ٤ˤĤƤϡ줿ޥ˥奢䥪饤إפ򻲾ȡ -.br -.\" Project web site at http://gnuplot.info -ץ Web : http://gnuplot.info diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am new file mode 100644 index 000000000..7935da14d --- /dev/null +++ b/man/ja/Makefile.am @@ -0,0 +1,11 @@ + +AUTOMAKE_OPTIONS = foreign + +mandir = @mandir@/ja + +man_MANS = man1/gnuplot.1 + +EXTRA_DIST = $(man_MANS) + +uninstall-local: + @$(NORMAL_UNINSTALL) diff --git a/man/gnuplot-ja_JP.UTF-8 b/man/ja/man1/gnuplot.1 similarity index 87% rename from man/gnuplot-ja_JP.UTF-8 rename to man/ja/man1/gnuplot.1 index 0a9a9dfe5..9194c27a3 100644 --- a/man/gnuplot-ja_JP.UTF-8 +++ b/man/ja/man1/gnuplot.1 @@ -1,8 +1,8 @@ .\" dummy line -.\" 日本語訳: Shigeharu TAKENO <shige@iee.niit.ac.jp> +.\" 日本語訳: Shigeharu TAKENO <shige@iee.niit.ac.jp> (2023-07-24) .\" -.\" .TH GNUPLOT 1 "7 February 2020" -.TH GNUPLOT 1 " 2020 年 2 月 7 日" +.\" .TH GNUPLOT 1 "February 2020" +.TH GNUPLOT 1 " 2020 年 2 月 1 日" .UC 4 .\" .SH NAME .SH 名前 @@ -84,24 +84,26 @@ gnuplot プログラムが終了した後も描画ウィンドウを残します gnuplot の "call" の仕組みでスクリプト scriptname を読み込み、 コマンドラインの残りはそれへの引数として渡します。 .PP -.\" \fB\-d, \-\-default\fP settings. Do not read from gnuplotrc or ~/.gnuplot on entry. -\fB\-d, \-\-default\fP は、 -デフォルトの設定で起動します。 -これは、gnuplotrc や ~/.gnuplot を起動時には読み込みません。 +.\" \fB\-d, \-\-default-settings\fP do not read from gnuplotrc, ~/.gnuplot, and $XDG_DATA_HOME/gnuplot/gnuplotrc on entry. +\fB\-d, \-\-default-settings\fP は、デフォルトの設定で起動します。 +これは、gnuplotrc や ~/.gnuplot, $XDG_DATA_HOME/gnuplot/gnuplotrc を +起動時には読み込みません。 .PP .\" \fB\-e "command list"\fP executes the requested commands before loading the next input file. \fB\-e "command list"\fP は、 次の入力ファイルを読み込む前に指定したコマンドを実行します。 .PP +.\" \fB\-s, \-\-slow\fP wait for slow font initialization rather than continuing with an error. +\fB\-s, \-\-slow\fP は、 +遅いフォントの初期化を待ち、エラーを出したまま続行することを避けます。 +.PP .\" \fB\-h, \-\-help\fP print summary of usage \fB\-h, \-\-help\fP は、使用法の要約を表示します。 .PP -.\" \fB\-V\fP show current version -\fB\-V\fP は、現在のバージョンを表示します。 +.\" \fB\-V, \-\-version\fP show current version +\fB\-V, \-\-version\fP は、現在のバージョンを表示します。 .\" .SH X11 OPTIONS .SH X11 オプション -.\" .B Gnuplot -.\" shige -> 不要 ? .\" For terminal type x11, \fIgnuplot\fP .\" accepts the standard X Toolkit options and resources such as geometry, font, .\" and background. See the X(1) man page for a description of common options. @@ -121,10 +123,11 @@ gnuplot は多くのシェル環境変数を認識します。必須のものは .TP .B GNUTERM .\" The name of the terminal type to be used by default. This can be -.\" overridden by the gnuplotrc or .gnuplot start-up files and, -.\" of course, by later explicit "set terminal" commands. +.\" overridden by the gnuplotrc, .gnuplot, or $XDG_DATA_HOME/gnuplot/gnuplotrc +.\" start-up files and, of course, by later explicit "set terminal" commands. デフォルトで使用される出力形式 (terminal) の名前。 -これは、gnuplotrc や .gnuplot 等の初期化ファイルや、 +これは、gnuplotrc や .gnuplot, $XDG_DATA_HOME/gnuplot/gnuplotrc 等の +初期化ファイルや、 そしてもちろんその後にコマンド "set terminal" で 明示的に指定したものの方が優先されます。 .TP @@ -223,6 +226,16 @@ gnuplot は個人用の初期化ファイルを ここには、正しい gnuplot コマンドなら何を書いてもいいのですが、 一般的には、よく使う出力形式の指定や、線種の設定、 よく使う関数や変数の定義を設定する程度に抑えておきます。 +.TP +.I $XDG_CONFIG_HOME/gnuplot/gnuplotrc +.\" After loading the other initialization files, Gnuplot will check +.\" if there is a file named gnuplotrc in the gnuplot subdirectory +.\" in $XDG_CONFIG_HOME (default ~/.config). The same restrictions +.\" as for .gnuplot apply. +他の初期化ファイルを読み込んだ後で、gnuplot は $XDG_CONFIG_HOME +(デフォルトは ~/.config) のサブディレクトリ gnuplot 内に gnuplotrc +という名前のファイルがあるかどうかをチェックします。 +.gnuplot と同じ制限を適用します。 .TP .I fit.log .\" The default name of the logfile output by the "fit" command. diff --git a/man/gnuplot.1 b/man/man1/gnuplot.1 similarity index 97% rename from man/gnuplot.1 rename to man/man1/gnuplot.1 index 9b81df586..9cf83b57a 100644 --- a/man/gnuplot.1 +++ b/man/man1/gnuplot.1 @@ -48,7 +48,7 @@ Support for a huge variety of output devices and file formats. .PP \fB\-c scriptname ARG1 ARG2 ..., load script using gnuplot's "call" mechanism and pass it the remainder of the command line as arguments .PP -\fB\-d, \-\-default\fP settings. Do not read from gnuplotrc, ~/.gnuplot, and $XDG_CONFIG_HOME/gnuplot/gnuplotrc on entry. +\fB\-d, \-\-default-settings\fP do not read from gnuplotrc, ~/.gnuplot, and $XDG_CONFIG_HOME/gnuplot/gnuplotrc on entry. .PP \fB\-e "command list"\fP executes the requested commands before loading the next input file. .PP @@ -56,7 +56,7 @@ Support for a huge variety of output devices and file formats. .PP \fB\-h, \-\-help\fP print summary of usage .PP -\fB\-V\fP show current version +\fB\-V, \-\-version\fP show current version .SH X11 OPTIONS For terminal type x11, \fIgnuplot\fP accepts the standard X Toolkit options and resources such as geometry, font, diff --git a/prepare b/prepare index f77e3959c..b837bf904 100755 --- a/prepare +++ b/prepare @@ -23,7 +23,6 @@ if ${ACLOCAL} -I m4 && ${AUTOHEADER} \ && (cd demo && make -f Makefile.am.in Makefile.am ) \ && (cd m4 && make -f Makefile.am.in Makefile.am ) \ && (cd term && make -f Makefile.am.in Makefile.am ) \ - && (cd tutorial && make -f Makefile.am.in Makefile.am ) \ && ${AUTOMAKE} -a -c \ && sed 's/noinst_PROGRAMS = bf_test$(EXEEXT) @GNUPLOT_X11@/noinst_PROGRAMS = bf_test$(EXEEXT) @GNUPLOT_X11@$(EXEEXT)/' \ <src/Makefile.in >src/Makefile.in2 \ diff --git a/src/Makefile.am b/src/Makefile.am index 90eaf22fb..5f91b8a28 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -126,7 +126,7 @@ if BUILD_QT GNUPLOT_QT = `echo gnuplot_qt | sed '$(transform)'`$(EXEEXT) -AM_CPPFLAGS += -DGNUPLOT_QT=\"$(GNUPLOT_QT)\" +AM_CPPFLAGS += $(QT_CFLAGS) -DGNUPLOT_QT=\"$(GNUPLOT_QT)\" # Call the moc preprocessor qtterminal/moc_%.cpp : qtterminal/%.h diff --git a/src/axis.c b/src/axis.c index 784d9f9b3..6c749da17 100644 --- a/src/axis.c +++ b/src/axis.c @@ -609,7 +609,6 @@ copy_or_invent_formatstring(struct axis *this_axis) double axmax = this_axis->max; int precision = ceil(-log10(GPMIN(fabs(axmax-axmin),fabs(axmin)))); /* FIXME: Does horrible things for large value of precision */ - /* FIXME: Didn't I have a better patch for this? */ if ((axmin*axmax > 0) && 4 < precision && precision < 10) sprintf(tempfmt, "%%.%df", precision); } @@ -746,7 +745,7 @@ make_tics(struct axis *this_axis, int guide) if (xr >= VERYLARGE) { int_warn(NO_CARET, "%s axis range undefined or overflow, resetting to [0:0]", axis_name(this_axis->index)); - /* FIXME: this used to be int_error but there were false positives + /* This used to be int_error but there were false positives * (bad range on unused axis). However letting +/-VERYLARGE through * can overrun data structures for time conversions. min = max avoids this. */ @@ -882,9 +881,6 @@ round_outward( if (this_axis->tictype == DT_TIMEDATE) { double ontime = time_tic_just(this_axis->timelevel, result); - - /* FIXME: how certain is it that we don't want to *always* - * return 'ontime'? */ if ((upwards && (ontime > result)) || (!upwards && (ontime < result))) return ontime; @@ -1059,7 +1055,7 @@ gen_tics(struct axis *this, tic_callback callback) /* string constant that contains no format keys */ ticlabel = mark->label; } else if (this->index >= PARALLEL_AXES) { - /* FIXME: needed because axis->ticfmt is not maintained for parallel axes */ + /* Needed because axis->ticfmt is not maintained for parallel axes */ gprintf(label, sizeof(label), mark->label ? mark->label : this->formatstring, log10_base, mark->position); @@ -1229,7 +1225,6 @@ gen_tics(struct axis *this, tic_callback callback) miniend = step; } } else if (nonlinear(this) && this->ticdef.logscaling) { - /* FIXME: Not sure this works for all values of step */ ministart = ministep = step / (this->base - 1); miniend = step; } else if (this->tictype == DT_TIMEDATE) { diff --git a/src/bitmap.c b/src/bitmap.c index c0827cb39..8e855977c 100644 --- a/src/bitmap.c +++ b/src/bitmap.c @@ -746,10 +746,10 @@ static unsigned char fill_pattern_bitmaps[fill_pattern_num][8] ={ ,{ 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82, 0x01 } /* cross-hatch (1) */ ,{ 0x88, 0x55, 0x22, 0x55, 0x88, 0x55, 0x22, 0x55 } /* double crosshatch(2) */ ,{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } /* solid fill (3) */ - ,{ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 } /* diagonal stripes (4) */ - ,{ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 } /* diagonal stripes (5) */ - ,{ 0x11, 0x11, 0x22, 0x22, 0x44, 0x44, 0x88, 0x88 } /* diagonal stripes (6) */ - ,{ 0x88, 0x88, 0x44, 0x44, 0x22, 0x22, 0x11, 0x11 } /* diagonal stripes (7) */ + ,{ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 } /* diagonal stripes (4) */ + ,{ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 } /* diagonal stripes (5) */ + ,{ 0x88, 0x88, 0x44, 0x44, 0x22, 0x22, 0x11, 0x11 } /* diagonal stripes (6) */ + ,{ 0x11, 0x11, 0x22, 0x22, 0x44, 0x44, 0x88, 0x88 } /* diagonal stripes (7) */ #if (0) ,{ 0x03, 0x0C, 0x30, 0xC0, 0x03, 0x0C, 0x30, 0xC0 } /* diagonal stripes (8) */ ,{ 0xC0, 0x30, 0x0C, 0x03, 0xC0, 0x30, 0x0C, 0x03 } /* diagonal stripes (9) */ @@ -1029,7 +1029,7 @@ b_wline(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2) } for (i = 1; i <= wh; i++) { x = xplot - wh2; - // for (x = (int) xplot - (int) wh2; dx <= ((int) xplot - (int) wh2 + wh); x++) + /* for (x = (int) xplot - (int) wh2; dx <= ((int) xplot - (int) wh2 + wh); x++) */ b_setpixel(x, yplot - wh2 + i, b_value); } } @@ -1044,7 +1044,7 @@ b_wline(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2) } for (i = 1; i <= wh; i++) { x = xplot - wh2; - // for (x = (int) xplot - (int) wh2; dx <= ((int) xplot - (int) wh2 + wh); x++) + /* for (x = (int) xplot - (int) wh2; dx <= ((int) xplot - (int) wh2 + wh); x++) */ b_setpixel(x, yplot - wh2 + i, b_value); } } @@ -1256,7 +1256,7 @@ b_boxfill( switch (style & 0xf) { case FS_TRANSPARENT_SOLID: transparent = TRUE; - // fall-through + /* fall-through */ case FS_SOLID: /* use halftone fill pattern according to filldensity */ /* filldensity is from 0..100 percent */ @@ -1270,7 +1270,7 @@ b_boxfill( break; case FS_TRANSPARENT_PATTERN: transparent = TRUE; - // fall-through + /* fall-through */ case FS_PATTERN: /* use fill pattern according to fillpattern */ idx = (style >> 4); /* fillpattern is enumerated */ @@ -1323,7 +1323,7 @@ b_filled_polygon(int points, gpiPoint *corners) switch (style & 0xf) { case FS_TRANSPARENT_SOLID: transparent = TRUE; - // fall-through + /* fall-through */ case FS_SOLID: /* use halftone fill pattern according to filldensity */ /* filldensity is from 0..100 percent */ @@ -1335,7 +1335,7 @@ b_filled_polygon(int points, gpiPoint *corners) break; case FS_TRANSPARENT_PATTERN: transparent = TRUE; - // fall-through + /* fall-through */ case FS_PATTERN: /* use fill pattern according to fillpattern */ idx = GPMAX((style >> 4), 0); /* fillpattern is enumerated */ diff --git a/src/boundary.c b/src/boundary.c index a66dd89b4..dd40b0271 100644 --- a/src/boundary.c +++ b/src/boundary.c @@ -234,7 +234,7 @@ boundary(struct curve_points *plots, int count) /* Polar (theta) tic labels need space at top and bottom of plot */ if (THETA_AXIS.ticmode) { - /* FIXME: Really 5% of polar grid radius, but we don't know that yet */ + /* Really wants to be 5% of polar grid radius, but we don't know that yet */ ttic_textheight = 2. * t->v_char; } @@ -940,12 +940,6 @@ do_key_bounds(legend_key *key) } else { int x, y; - /* FIXME!!! - * pm 22.1.2002: if key->user_pos.scalex or scaley == first_axes or second_axes, - * then the graph scaling is not yet known and the box is positioned incorrectly; - * you must do "replot" to avoid the wrong plot ... bad luck if output does not - * go to screen - */ map_position(&key->user_pos, &x, &y, "key"); /* Here top, bottom, left, right refer to the alignment with respect to point. */ @@ -1014,10 +1008,10 @@ do_key_layout(legend_key *key) (void) estimate_strlen(key->title.text, &est_height); key_title_height = est_height * t->v_char; key_title_ypos = (key_title_height/2); - if (key->title.font) - t->set_font(""); /* FIXME: empirical tweak. I don't know why this is needed */ key_title_ypos -= (est_lines-1) * t->v_char/2; + if (key->title.font) + t->set_font((key->font) ? key->font : ""); } if (key->reverse) { @@ -1313,6 +1307,13 @@ do_key_sample( } else if (this_plot->plot_style == SURFACEGRID) { (*t->fillbox)(style,x,y,w,h); + } else if (this_plot->plot_style == SECTORS && w > 0) { + do_sector(xl + key_point_offset, yl-key_sample_height, (3)*key_sample_height/4.0, (3+2)*key_sample_height/4.0, 120.0*DEG2RAD, 60.0*DEG2RAD, 1.0, style, FALSE); + /* Retrace the border if the style requests it */ + if (need_fill_border(fs)) { + do_sector(xl + key_point_offset, yl-key_sample_height, (3)*key_sample_height/4.0, (3+2)*key_sample_height/4.0, 120.0*DEG2RAD, 60.0*DEG2RAD, 1.0, 0, FALSE); + } + } else if (w > 0) { /* All other plot types with fill */ if (style != FS_EMPTY) (*t->fillbox)(style,x,y,w,h); @@ -1320,7 +1321,7 @@ do_key_sample( /* need_fill_border will set the border linetype, but candlesticks don't want it */ if ((this_plot->plot_style == CANDLESTICKS && fs->border_color.type == TC_LT && fs->border_color.lt == LT_NODRAW) - || style == FS_EMPTY + || (style == FS_EMPTY && this_plot->plot_style != POLYGONS) || need_fill_border(fs)) { newpath(); draw_clip_line( xl + key_sample_left, yl - key_sample_height/4, @@ -1404,6 +1405,7 @@ do_key_sample_point( struct termentry *t = term; int xl_save = xl; int yl_save = yl; + int interval = this_plot->lp_properties.p_interval; /* If the plot this title belongs to specified a non-standard place * for the key sample to appear, use that to override xl, yl. @@ -1418,13 +1420,16 @@ do_key_sample_point( (t->layer)(TERM_LAYER_BEGIN_KEYSAMPLE); - if (this_plot->plot_style == LINESPOINTS - && this_plot->lp_properties.p_interval < 0) { + if ((this_plot->plot_style == LINESPOINTS && interval < 0) + || (this_plot->plot_style & PLOT_STYLE_HAS_ERRORBAR)) { t_colorspec background_fill = BACKGROUND_COLORSPEC; - (*t->set_color)(&background_fill); - (*t->pointsize)(pointsize * pointintervalbox); - (*t->point)(xl + key_point_offset, yl, 6); - term_apply_lp_properties(&this_plot->lp_properties); + if ((this_plot->lp_properties.p_type != -1) + && (pointintervalbox != 0)) { + (*t->set_color)(&background_fill); + (*t->pointsize)(pointsize * pointintervalbox); + (*t->point)(xl + key_point_offset, yl, 6); + term_apply_lp_properties(&this_plot->lp_properties); + } } if (this_plot->plot_style == BOXPLOT) { diff --git a/src/color.c b/src/color.c index b0e9fa09b..5f63097e1 100644 --- a/src/color.c +++ b/src/color.c @@ -152,7 +152,8 @@ make_palette() if (CHECK_SMPAL_IS_DISCRETE_GRADIENT) { sm_palette.colors = sm_palette.gradient_num; } else if (sm_palette.use_maxcolors > 0) { - if (sm_palette.colorMode == SMPAL_COLOR_MODE_GRADIENT) + if (sm_palette.colorMode == SMPAL_COLOR_MODE_GRADIENT + || sm_palette.colorMode == SMPAL_COLOR_MODE_VIRIDIS) sm_palette.colors = i; /* EAM Sep 2010 - could this be a constant? */ else if (i > sm_palette.use_maxcolors) sm_palette.colors = sm_palette.use_maxcolors; @@ -213,16 +214,19 @@ invalidate_palette() Set the colour on the terminal Each terminal takes care of remembering the current colour, so there is not much to do here. - FIXME: NaN could alternatively map to LT_NODRAW or TC_RGB full transparency */ void set_color(double gray) { t_colorspec color; - color.value = gray; - color.lt = LT_BACKGROUND; - color.type = (isnan(gray)) ? TC_LT : TC_FRAC; - term->set_color(&color); + + if (isnan(gray)) { + term->linetype(LT_NODRAW); + } else { + color.type = TC_FRAC; + color.value = gray; + term->set_color(&color); + } } void @@ -334,6 +338,84 @@ draw_inside_color_smooth_box_postscript() } +static int +colorbox_steps() +{ + if ( sm_palette.use_maxcolors != 0 ) + return sm_palette.use_maxcolors; + if ( sm_palette.gradient_num > 128 ) + return sm_palette.gradient_num; + + /* I think that nobody can distinguish more colours drawn in the palette */ + return 128; +} + + +static void +colorbox_bounds( // out + gpiPoint* corners, + int* xy_from, + int* xy_to, + double* xy_step, + // in + const int steps) +{ + if (color_box.rotation == 'v') { + corners[0].x = corners[3].x = color_box.bounds.xleft; + corners[1].x = corners[2].x = color_box.bounds.xright; + *xy_from = color_box.bounds.ybot; + *xy_to = color_box.bounds.ytop; + + if(xy_step) + *xy_step = (color_box.bounds.ytop - color_box.bounds.ybot) / (double)steps; + } else { + corners[0].y = corners[1].y = color_box.bounds.ybot; + corners[2].y = corners[3].y = color_box.bounds.ytop; + *xy_from = color_box.bounds.xleft; + *xy_to = color_box.bounds.xright; + if(xy_step) + *xy_step = (color_box.bounds.xright - color_box.bounds.xleft) / (double)steps; + } +} + +static void +colorbox_draw_polygon(// output + gpiPoint* corners, + // input + const int xy, + const int xy2, + const int xy_to) +{ + if (color_box.rotation == 'v') { + corners[0].y = corners[1].y = xy; + corners[2].y = corners[3].y = GPMIN(xy_to,xy2+1); + } else { + corners[0].x = corners[3].x = xy; + corners[1].x = corners[2].x = GPMIN(xy_to,xy2+1); + } + + /* print the rectangle with the given colour */ + if (default_fillstyle.fillstyle == FS_EMPTY) + corners->style = FS_OPAQUE; + else + corners->style = style_from_fill(&default_fillstyle); + term->filled_polygon(4, corners); +} + + +static void colorbox_next_step(// output + int* xy, + int* xy2, + // input + const int xy_from, + const int i, + const double xy_step) +{ + /* Start from one pixel beyond the previous box */ + *xy = *xy2; + *xy2 = xy_from + (int) (xy_step * (i + 1)); +} + /* plot a colour smooth box bounded by the terminal's integer coordinates [x_from,y_from] to [x_to,y_to]. This routine is for non-postscript files and for the Mixed color gradient type @@ -341,41 +423,27 @@ draw_inside_color_smooth_box_postscript() static void draw_inside_colorbox_bitmap_mixed() { - int steps; int i, j, xy, xy2, xy_from, xy_to; int jmin = 0; double xy_step, gray, range; gpiPoint corners[4]; - steps = 128; /* I think that nobody can distinguish more colours drawn in the palette */ + const int steps = colorbox_steps(); - if ( sm_palette.use_maxcolors != 0 ) { - steps = sm_palette.use_maxcolors; - } else if ( sm_palette.gradient_num > 128 ) { - steps = sm_palette.gradient_num; - } - - if (color_box.rotation == 'v') { - corners[0].x = corners[3].x = color_box.bounds.xleft; - corners[1].x = corners[2].x = color_box.bounds.xright; - xy_from = color_box.bounds.ybot; - xy_to = color_box.bounds.ytop; - xy_step = (color_box.bounds.ytop - color_box.bounds.ybot) / (double)steps; - } else { - corners[0].y = corners[1].y = color_box.bounds.ybot; - corners[2].y = corners[3].y = color_box.bounds.ytop; - xy_from = color_box.bounds.xleft; - xy_to = color_box.bounds.xright; - xy_step = (color_box.bounds.xright - color_box.bounds.xleft) / (double)steps; - } + colorbox_bounds( // out + corners, + &xy_from, + &xy_to, + &xy_step, + // in + steps); range = (xy_to - xy_from); for (i = 0, xy2 = xy_from; i < steps; i++) { - /* Start from one pixel beyond the previous box */ - xy = xy2; - xy2 = xy_from + (int) (xy_step * (i + 1)); + colorbox_next_step(&xy,&xy2, + xy_from,i,xy_step); /* Set the colour for the next range increment */ /* FIXME - The "1 +" seems wrong, yet it improves the placement in gd */ @@ -403,19 +471,8 @@ draw_inside_colorbox_bitmap_mixed() break; } - if (color_box.rotation == 'v') { - corners[0].y = corners[1].y = xy; - corners[2].y = corners[3].y = GPMIN(xy_to,xy2+1); - } else { - corners[0].x = corners[3].x = xy; - corners[1].x = corners[2].x = GPMIN(xy_to,xy2+1); - } - /* print the rectangle with the given colour */ - if (default_fillstyle.fillstyle == FS_EMPTY) - corners->style = FS_OPAQUE; - else - corners->style = style_from_fill(&default_fillstyle); - term->filled_polygon(4, corners); + colorbox_draw_polygon(corners, + xy,xy2,xy_to); } } @@ -432,18 +489,14 @@ draw_inside_colorbox_bitmap_discrete () gpiPoint corners[4]; steps = sm_palette.gradient_num; + colorbox_bounds( // out + corners, + &xy_from, + &xy_to, + NULL, + // in + steps); - if (color_box.rotation == 'v') { - corners[0].x = corners[3].x = color_box.bounds.xleft; - corners[1].x = corners[2].x = color_box.bounds.xright; - xy_from = color_box.bounds.ybot; - xy_to = color_box.bounds.ytop; - } else { - corners[0].y = corners[1].y = color_box.bounds.ybot; - corners[2].y = corners[3].y = color_box.bounds.ytop; - xy_from = color_box.bounds.xleft; - xy_to = color_box.bounds.xright; - } range = (xy_to - xy_from); for (i = 0; i < steps-1; i++) { @@ -466,62 +519,36 @@ draw_inside_colorbox_bitmap_discrete () gray = sm_palette.gradient[i1].pos; set_color(gray); - if (color_box.rotation == 'v') { - corners[0].y = corners[1].y = xy; - corners[2].y = corners[3].y = GPMIN(xy_to,xy2+1); - } else { - corners[0].x = corners[3].x = xy; - corners[1].x = corners[2].x = GPMIN(xy_to,xy2+1); - } - /* print the rectangle with the given colour */ - if (default_fillstyle.fillstyle == FS_EMPTY) - corners->style = FS_OPAQUE; - else - corners->style = style_from_fill(&default_fillstyle); - term->filled_polygon(4, corners); + colorbox_draw_polygon(corners, + xy,xy2,xy_to); } } -/* plot a colour smooth box bounded by the terminal's integer coordinates - [x_from,y_from] to [x_to,y_to]. - This routine is for non-postscript files and for the Smooth color gradient type +/* plot a single gradient to the colorbox at [x_from,y_from] to [x_to,y_to]. + * This routine is for non-postscript files and for the Smooth color gradient type. + * It uses term->filled_polygon() to build the gradient, one box per color segment. */ static void -draw_inside_colorbox_bitmap_smooth() +draw_inside_colorbox_bitmap_smooth__filled_polygon() { - int steps; int i, xy, xy2, xy_from, xy_to; double xy_step, gray; gpiPoint corners[4]; - /* Determins the steps for rectangles boxes from palette's color number specification. */ - - steps = 128; /* I think that nobody can distinguish more colours drawn in the palette */ - - if ( sm_palette.use_maxcolors != 0 ) { - steps = sm_palette.use_maxcolors; - } else if ( sm_palette.gradient_num > 128 ) { - steps = sm_palette.gradient_num; - } + const int steps = colorbox_steps(); - if (color_box.rotation == 'v') { - corners[0].x = corners[3].x = color_box.bounds.xleft; - corners[1].x = corners[2].x = color_box.bounds.xright; - xy_from = color_box.bounds.ybot; - xy_to = color_box.bounds.ytop; - xy_step = (color_box.bounds.ytop - color_box.bounds.ybot) / (double)steps; - } else { - corners[0].y = corners[1].y = color_box.bounds.ybot; - corners[2].y = corners[3].y = color_box.bounds.ytop; - xy_from = color_box.bounds.xleft; - xy_to = color_box.bounds.xright; - xy_step = (color_box.bounds.xright - color_box.bounds.xleft) / (double)steps; - } + colorbox_bounds( // out + corners, + &xy_from, + &xy_to, + &xy_step, + // in + steps); for (i = 0, xy2 = xy_from; i < steps; i++) { - xy = xy2; - xy2 = xy_from + (int) (xy_step * (i + 1)); + colorbox_next_step(&xy,&xy2, + xy_from,i,xy_step); gray = i / (double)steps; @@ -532,22 +559,75 @@ draw_inside_colorbox_bitmap_smooth() gray = 1 - gray; set_color(gray); - if (color_box.rotation == 'v') { - corners[0].y = corners[1].y = xy; - corners[2].y = corners[3].y = GPMIN(xy_to,xy2+1); - } else { - corners[0].x = corners[3].x = xy; - corners[1].x = corners[2].x = GPMIN(xy_to,xy2+1); - } - /* print the rectangle with the given colour */ - if (default_fillstyle.fillstyle == FS_EMPTY) - corners->style = FS_OPAQUE; - else - corners->style = style_from_fill(&default_fillstyle); - term->filled_polygon(4, corners); + colorbox_draw_polygon(corners, xy,xy2,xy_to); } } +/* plot a single gradient to the colorbox at [x_from,y_from] to [x_to,y_to]. + * This routine is for non-postscript files and for the Smooth color gradient type. + * It uses term->image() render the gradient, one pixel per color segment. + */ +static void +draw_inside_colorbox_bitmap_smooth__image() +{ + gpiPoint corners[4] = { + {.x = color_box.bounds.xleft, .y = color_box.bounds.ytop}, + {.x = color_box.bounds.xright, .y = color_box.bounds.ybot}, + {.x = color_box.bounds.xleft, .y = color_box.bounds.ytop}, + {.x = color_box.bounds.xright, .y = color_box.bounds.ybot} + }; + coordval *image; + int steps; + + if (0 < sm_palette.use_maxcolors && sm_palette.use_maxcolors <= 128) + steps = floor(1000.0/sm_palette.use_maxcolors) * sm_palette.use_maxcolors; + else + steps = colorbox_steps(); + + image = gp_alloc(sizeof(coordval)*3*steps, "colorbox"); + + FPRINTF((stderr, "...using draw_inside_colorbox_bitmap_smooth__image\n")); + + for (int i = 0; i < steps; i++) { + rgb_color rgb1; + double gray = (double)i / (double)(steps-1); + + if ( sm_palette.use_maxcolors != 0 ) + gray = quantize_gray(gray); + if (sm_palette.positive == SMPAL_NEGATIVE) + gray = 1 - gray; + + /* y axis terminal coordinates run top-to-bottom */ + if (color_box.rotation == 'v') + gray = 1 - gray; + + rgb1maxcolors_from_gray( gray, &rgb1 ); + image[3*i + 0] = rgb1.r; + image[3*i + 1] = rgb1.g; + image[3*i + 2] = rgb1.b; + } + + if (color_box.rotation == 'v') + term->image(1, steps, image, corners, IC_RGB); + else + term->image(steps, 1, image, corners, IC_RGB); + + free(image); +} + +static void +draw_inside_colorbox_bitmap_smooth() +{ + /* The primary beneficiary of the image variant is cairo + pdf, + * since it avoids banding artifacts in the filled_polygon variant. + */ + if ((term->flags & TERM_COLORBOX_IMAGE)) + draw_inside_colorbox_bitmap_smooth__image(); + else + draw_inside_colorbox_bitmap_smooth__filled_polygon(); +} + + static void cbtick_callback( struct axis *this_axis, @@ -594,18 +674,12 @@ cbtick_callback( term_apply_lp_properties(&border_lp); /* border linetype */ } - /* draw tic */ if (len != 0) { - int lt = color_box.cbtics_lt_tag; - if (lt <= 0) - lt = color_box.border_lt_tag; - if (lt > 0) { - lp_style_type lp = border_lp; - lp_use_properties(&lp, lt); - term_apply_lp_properties(&lp); - } + /* draw tic */ (*term->move) (x1, y1); (*term->vector) (x2, y2); + + /* draw mirrored tic */ if (this_axis->ticmode & TICS_MIRROR) { if (color_box.rotation == 'h') { y1 = color_box.bounds.ytop; @@ -617,8 +691,6 @@ cbtick_callback( (*term->move) (x1, y1); (*term->vector) (x2, y2); } - if (lt != 0) - term_apply_lp_properties(&border_lp); } /* draw label */ @@ -673,6 +745,7 @@ cbtick_callback( } term_apply_lp_properties(&border_lp); /* border linetype */ } + } /* @@ -771,20 +844,14 @@ draw_color_smooth_box(int plot_mode) if (sm_palette.gradient_type == SMPAL_GRADIENT_TYPE_DISCRETE) { draw_inside_colorbox_bitmap_discrete(); - } - else { + } else { /* The PostScript terminal has an Optimized version */ - if ((term->flags & TERM_IS_POSTSCRIPT) != 0) { + if ((term->flags & TERM_IS_POSTSCRIPT) != 0) draw_inside_color_smooth_box_postscript(); - } - else { - if (sm_palette.gradient_type == SMPAL_GRADIENT_TYPE_SMOOTH) { - draw_inside_colorbox_bitmap_smooth(); - } - else { - draw_inside_colorbox_bitmap_mixed(); - } - } + else if (sm_palette.gradient_type == SMPAL_GRADIENT_TYPE_SMOOTH) + draw_inside_colorbox_bitmap_smooth(); + else + draw_inside_colorbox_bitmap_mixed(); } term->layer(TERM_LAYER_END_COLORBOX); @@ -904,7 +971,6 @@ f_palette(union argument *arg) { struct value result; double z; - rgb255_color color; unsigned int rgb; pop(&result); @@ -912,8 +978,7 @@ f_palette(union argument *arg) if (((CB_AXIS.set_autoscale & AUTOSCALE_BOTH) != 0) && (fabs(CB_AXIS.min) >= VERYLARGE || fabs(CB_AXIS.max) >= VERYLARGE)) int_error(NO_CARET, "palette(z) requires known cbrange"); - rgb255maxcolors_from_gray(cb2gray(z), &color); - rgb = (unsigned int)color.r << 16 | (unsigned int)color.g << 8 | (unsigned int)color.b; + rgb = rgb_from_gray(cb2gray(z)); push(Ginteger(&result, rgb)); } @@ -941,6 +1006,13 @@ f_rgbcolor(union argument *arg) push(Ginteger(&a, rgb)); } +unsigned int +rgb_from_gray( double gray ) +{ + rgb255_color color; + rgb255maxcolors_from_gray( gray, &color ); + return (unsigned int)color.r << 16 | (unsigned int)color.g << 8 | (unsigned int)color.b; +} /* * A colormap can have specific min/max stored internally, @@ -994,7 +1066,6 @@ unsigned int rgb_from_colorspec(struct t_colorspec *tc) { double cbval; - rgb255_color color; switch (tc->type) { case TC_DEFAULT: @@ -1018,8 +1089,7 @@ rgb_from_colorspec(struct t_colorspec *tc) return 0; } - rgb255maxcolors_from_gray( cbval, &color ); - return (unsigned int)color.r << 16 | (unsigned int)color.g << 8 | (unsigned int)color.b; + return rgb_from_gray(cbval); } /* @@ -1513,9 +1583,9 @@ set_palette() case S_PALETTE_VIRIDIS: { CHECK_TRANSFORM; set_palette_by_name(VIRIDIS); - sm_palette.colorMode = SMPAL_COLOR_MODE_GRADIENT; + sm_palette.colorMode = SMPAL_COLOR_MODE_VIRIDIS; sm_palette.gradient_type = SMPAL_GRADIENT_TYPE_SMOOTH; - pm3d_last_set_palette_mode = SMPAL_COLOR_MODE_GRADIENT; + pm3d_last_set_palette_mode = SMPAL_COLOR_MODE_VIRIDIS; continue; } case S_PALETTE_COLORMAP: { /* colormap */ diff --git a/src/color.h b/src/color.h index a7b5175c1..d94b61ea4 100644 --- a/src/color.h +++ b/src/color.h @@ -70,7 +70,8 @@ typedef enum { SMPAL_COLOR_MODE_FUNCTIONS = 'f', /* user defined transforms */ SMPAL_COLOR_MODE_GRADIENT = 'd', /* interpolated table: * explicitly defined or read from file */ - SMPAL_COLOR_MODE_CUBEHELIX = 'c' + SMPAL_COLOR_MODE_CUBEHELIX = 'c', + SMPAL_COLOR_MODE_VIRIDIS = 'v' } palette_color_mode; /* @@ -264,6 +265,7 @@ void f_palette(union argument *); * miscellaneous color conversions */ unsigned int rgb_from_colorspec(struct t_colorspec *tc); +unsigned int rgb_from_gray( double gray ); /* * Support for colormaps (named palettes) diff --git a/src/command.c b/src/command.c index 4789e0aeb..140aec330 100644 --- a/src/command.c +++ b/src/command.c @@ -170,9 +170,16 @@ char *replot_line = NULL; int plot_token = 0; /* start of 'plot' command */ /* flag to disable `replot` when some data are sent through stdin; - * used by mouse/hotkey capable terminals */ + * used by mouse/hotkey capable terminals + */ TBOOLEAN replot_disabled = FALSE; +/* flag to show we are inside a plot/splot/replot/refresh/stats + * command and therefore should not allow starting another one + * e.g. from a function block + */ +TBOOLEAN inside_plot_command = FALSE; + /* output file for the print command */ FILE *print_out = NULL; struct udvt_entry *print_out_var = NULL; @@ -441,9 +448,12 @@ do_line() } /* Leading '!' indicates a shell command that bypasses normal gnuplot - * tokenization and parsing. This doesn't work inside a bracketed clause. + * tokenization and parsing. + * This doesn't work inside a bracketed clause or in a function block. */ if (is_system(*gp_input_line)) { + if (evaluate_inside_functionblock) + int_error(NO_CARET, "bare shell commands not accepted in a function block"); do_system(gp_input_line + 1); return (0); } @@ -469,7 +479,6 @@ do_line() if (lf_head && lf_head->depth > 0) { /* This catches the case that we are inside a "load foo" operation * and therefore requesting interactive input is not an option. - * FIXME: or is it? */ int_error(NO_CARET, "Syntax error: missing block terminator }"); } @@ -850,6 +859,7 @@ lower_command(void) * Arrays are declared using the syntax * array A[size] { = [ element, element, ... ] } * array A = [ .., .. ] + * array A = <expression> (only valid if <expression> returns an array) * where size is an integer and space is reserved for elements A[1] through A[size] * The size itself is stored in A[0].v.int_val.A * The list of initial values is optional. @@ -889,7 +899,20 @@ array_command() break; } nsize = est_size; + } else if (equals(c_token, "=")) { + /* array A = <expression> */ + struct value a; + int save_token = ++c_token; + const_express(&a); + if (a.type != ARRAY) { + free_value(&a); + int_error(save_token, "not an array expression"); + } + make_array_permanent(&a); + array->udv_value = a; + return; } + if (nsize > 0) init_array(array, nsize); else @@ -1624,7 +1647,7 @@ link_command() return; else secondary_axis->linked_to_primary = NULL; - /* FIXME: could return here except for the need to free link_udf->at */ + /* can't return yet because we need to free link_udf->at */ linked = FALSE; } else { linked = TRUE; @@ -1907,9 +1930,6 @@ pause_command() sleep_time = -1; c_token++; -/* EAM FIXME - This is not the correct test; what we really want */ -/* to know is whether or not the terminal supports mouse feedback */ -/* if (term_initialised) { */ if (mouse_setting.on && term) { struct udvt_entry *current; int end_condition = 0; @@ -1949,8 +1969,10 @@ pause_command() Ginteger(¤t->udv_value,-1); current = add_udv_by_name("MOUSE_BUTTON"); Ginteger(¤t->udv_value,-1); - } else + } else { int_warn(NO_CARET, "Mousing not active"); + while (!END_OF_COMMAND) c_token++; + } } else #endif sleep_time = real_expression(); @@ -2053,8 +2075,9 @@ pause_command() #else /* !(_WIN32 || OS2) */ # ifdef USE_MOUSE if (term && term->waitforinput) { - /* It does _not_ work to do EAT_INPUT_WITH(term->waitforinput()) */ - term->waitforinput(0); + int terminating_char = term->waitforinput(0); + if (isalnum(terminating_char)) + ungetc(terminating_char, stdin); } else # endif /* USE_MOUSE */ # ifdef MSDOS @@ -2111,10 +2134,14 @@ plot_command() add_udv_by_name("MOUSE_ALT")->udv_value.type = NOTDEFINED; add_udv_by_name("MOUSE_CTRL")->udv_value.type = NOTDEFINED; #endif + if (evaluate_inside_functionblock && inside_plot_command) + int_error(NO_CARET, "plot command not available in this context"); + inside_plot_command = TRUE; plotrequest(); /* Clear "hidden" flag for any plots that may have been toggled off */ if (term->modify_plots) term->modify_plots(MODPLOTS_SET_VISIBLE, -1); + inside_plot_command = FALSE; SET_CURSOR_ARROW; } @@ -2351,7 +2378,9 @@ print_command() } while (!END_OF_COMMAND && equals(c_token, ",")); - if (dataline != NULL) { + if (dataline) { + if (print_out_var == NULL) + int_error(NO_CARET, "print destination was clobbered"); append_multiline_to_datablock(&print_out_var->udv_value, dataline); } else { putc('\n', print_out); @@ -2392,6 +2421,9 @@ void refresh_request() { AXIS_INDEX axis; + if (evaluate_inside_functionblock && inside_plot_command) + int_error(NO_CARET, "refresh command not available in this context"); + inside_plot_command = TRUE; if ( ((first_plot == NULL) && (refresh_ok == E_REFRESH_OK_2D)) || ((first_3dplot == NULL) && (refresh_ok == E_REFRESH_OK_3D)) @@ -2445,6 +2477,7 @@ refresh_request() } else int_error(NO_CARET, "Internal error - refresh of unknown plot type"); + inside_plot_command = FALSE; } /* process the 'replot' command */ @@ -2486,7 +2519,8 @@ void reread_command() { FILE *fp = lf_top(); - + if (evaluate_inside_functionblock) + int_error(NO_CARET, "reread command not possible in a function block"); if (fp != (FILE *) NULL) rewind(fp); c_token++; @@ -2625,7 +2659,7 @@ void shell_command() { if (evaluate_inside_functionblock) - int_error(NO_CARET, "functionblocks are not permitted to spawn a shell"); + int_error(NO_CARET, "bare shell commands not accepted in a function block"); do_shell(); } @@ -2646,10 +2680,14 @@ splot_command() add_udv_by_name("MOUSE_Y2")->udv_value.type = NOTDEFINED; add_udv_by_name("MOUSE_BUTTON")->udv_value.type = NOTDEFINED; #endif + if (evaluate_inside_functionblock && inside_plot_command) + int_error(NO_CARET, "splot command not available in this context"); + inside_plot_command = TRUE; plot3drequest(); /* Clear "hidden" flag for any plots that may have been toggled off */ if (term->modify_plots) term->modify_plots(MODPLOTS_SET_VISIBLE, -1); + inside_plot_command = FALSE; SET_CURSOR_ARROW; } @@ -2658,7 +2696,11 @@ void stats_command() { #ifdef USE_STATS + if (evaluate_inside_functionblock && inside_plot_command) + int_error(NO_CARET, "stats command not available in this context"); + inside_plot_command = TRUE; statsrequest(); + inside_plot_command = FALSE; #else int_error(NO_CARET,"This copy of gnuplot was not configured with support for the stats command"); #endif diff --git a/src/command.h b/src/command.h index 770eb45d7..0ede93318 100644 --- a/src/command.h +++ b/src/command.h @@ -59,9 +59,16 @@ extern int plot_token; extern char *replot_line; /* flag to disable `replot` when some data are sent through stdin; - * used by mouse/hotkey capable terminals */ + * used by mouse/hotkey capable terminals + */ extern TBOOLEAN replot_disabled; +/* flag to show we are inside a plot/splot/replot/refresh/stats + * command and therefore should not allow starting another one + * e.g. from a function block + */ +extern TBOOLEAN inside_plot_command; + #ifdef USE_MOUSE extern int paused_for_mouse; /* Flag the end condition we are paused until */ #define PAUSE_BUTTON1 001 /* Mouse button 1 */ diff --git a/src/contour.c b/src/contour.c index 540de23b8..282d1899c 100644 --- a/src/contour.c +++ b/src/contour.c @@ -70,8 +70,7 @@ typedef enum en_edge_position { } t_edge_position; -/* FIXME HBB 2000052: yet another local copy of 'epsilon'. Why? */ -#define EPSILON 1e-5 /* Used to decide if two float are equal. */ +#define EPSILON 1.e-5 /* Used to decide if two floats are equal. */ #ifndef TRUE #define TRUE -1 @@ -109,14 +108,12 @@ static double contour_level = 0.0; /* Linear, Cubic interp., Bspline: */ static t_contour_kind interp_kind = CONTOUR_KIND_LINEAR; -static double x_min, y_min, z_min; /* Minimum values of x, y, and z */ -static double x_max, y_max, z_max; /* Maximum values of x, y, and z */ +static double z_min, z_max; /* Coordinate limits */ +static double unit_x, unit_y; /* Normalization to coord limits */ static void add_cntr_point(double x, double y); static void end_crnt_cntr(void); -static void gen_contours(edge_struct *p_edges, double z_level, - double xx_min, double xx_max, - double yy_min, double yy_max); +static void gen_contours(edge_struct *p_edges, double z_level); static int update_all_edges(edge_struct *p_edges, double z_level); static cntr_struct *gen_one_contour(edge_struct *p_edges, double z_level, @@ -134,12 +131,7 @@ static void gen_triangle(int num_isolines, struct iso_curve *iso_lines, poly_struct **p_polys, edge_struct **p_edges); -static void calc_min_max(int num_isolines, - struct iso_curve *iso_lines, - double *xx_min, double *yy_min, - double *zz_min, - double *xx_max, double *yy_max, - double *zz_max); +static void calc_min_max(int num_isolines, struct iso_curve *iso_lines); static edge_struct *add_edge(struct coordinate *point0, struct coordinate *point1, edge_struct @@ -152,14 +144,10 @@ static poly_struct *add_poly(edge_struct *edge0, poly_struct **pp_tail); static void put_contour(cntr_struct *p_cntr, - double xx_min, double xx_max, - double yy_min, double yy_max, TBOOLEAN contr_isclosed); static void put_contour_nothing(cntr_struct *p_cntr); static int chk_contour_kind(cntr_struct *p_cntr, TBOOLEAN contr_isclosed); static void put_contour_cubic(cntr_struct *p_cntr, - double xx_min, double xx_max, - double yy_min, double yy_max, TBOOLEAN contr_isclosed); static void put_contour_bspline(cntr_struct *p_cntr, TBOOLEAN contr_isclosed); static void free_contour(cntr_struct *p_cntr); @@ -167,8 +155,7 @@ static int count_contour(cntr_struct *p_cntr); static int gen_cubic_spline(int num_pts, cntr_struct *p_cntr, double d2x[], double d2y[], double delta_t[], - TBOOLEAN contr_isclosed, - double unit_x, double unit_y); + TBOOLEAN contr_isclosed); static void intp_cubic_spline(int n, cntr_struct *p_cntr, double d2x[], double d2y[], double delta_t[], int n_intpol); @@ -214,9 +201,6 @@ contour(int num_isolines, struct iso_curve *iso_lines) double dz = 0; struct gnuplot_contours *save_contour_list; - /* HBB FIXME 20050804: The number of contour_levels as set by 'set - * cnrparam lev inc a,b,c' is almost certainly wrong if z axis is - * logarithmic */ num_of_z_levels = contour_levels; interp_kind = contour_kind; @@ -225,8 +209,7 @@ contour(int num_isolines, struct iso_curve *iso_lines) /* * Calculate min/max values : */ - calc_min_max(num_isolines, iso_lines, - &x_min, &y_min, &z_min, &x_max, &y_max, &z_max); + calc_min_max(num_isolines, iso_lines); /* * Generate list of edges (p_edges) and list of triangles (p_polys): @@ -283,7 +266,7 @@ contour(int num_isolines, struct iso_curve *iso_lines) z = zlist[i]; contour_level = z; save_contour_list = contour_list; - gen_contours(p_edges, z, x_min, x_max, y_min, y_max); + gen_contours(p_edges, z); if (contour_list != save_contour_list) { contour_list->isNewLevel = 1; /* Nov-2011 Use gprintf rather than sprintf so that LC_NUMERIC is used */ @@ -363,9 +346,7 @@ end_crnt_cntr() static void gen_contours( edge_struct *p_edges, - double z_level, - double xx_min, double xx_max, - double yy_min, double yy_max) + double z_level) { int num_active; /* Number of edges marked ACTIVE. */ TBOOLEAN contr_isclosed; /* Is this contour a closed line? */ @@ -379,7 +360,7 @@ gen_contours( /* Generate One contour (and update NumActive as needed): */ p_cntr = gen_one_contour(p_edges, z_level, &contr_isclosed, &num_active); /* Emit it in requested format: */ - put_contour(p_cntr, xx_min, xx_max, yy_min, yy_max, contr_isclosed); + put_contour(p_cntr, contr_isclosed); } } @@ -562,16 +543,36 @@ update_cntr_pt(edge_struct *p_edge, double z_level) return p_cntr; } -/* Simple routine to decide if two contour points are equal by - * calculating the relative error (< EPSILON). */ +/* Determine if two contour points are effectively on top of each other. + * Rewritten for version 6 to handle nonlinear coordinates. + */ static int fuzzy_equal(cntr_struct *p_cntr1, cntr_struct *p_cntr2) { - double unit_x, unit_y; - unit_x = fabs(x_max - x_min); /* reference */ - unit_y = fabs(y_max - y_min); - return ((fabs(p_cntr1->X - p_cntr2->X) < unit_x * EPSILON) - && (fabs(p_cntr1->Y - p_cntr2->Y) < unit_y * EPSILON)); + double x1 = p_cntr1->X; + double x2 = p_cntr2->X; + double y1 = p_cntr1->Y; + double y2 = p_cntr2->Y; + + if (nonlinear(&X_AXIS)) { + x1 = eval_link_function(X_AXIS.linked_to_primary, x1); + x2 = eval_link_function(X_AXIS.linked_to_primary, x2); + } else { + x1 /= unit_x; + x2 /= unit_x; + } + if (nonlinear(&Y_AXIS)) { + y1 = eval_link_function(Y_AXIS.linked_to_primary, y1); + y2 = eval_link_function(Y_AXIS.linked_to_primary, y2); + } else { + y1 /= unit_y; + y2 /= unit_y; + } + + if (fabs(x1-x2) < EPSILON && fabs(y1-y2) < EPSILON) + return TRUE; + else + return FALSE; } /* @@ -723,17 +724,18 @@ gen_triangle( static void calc_min_max( int num_isolines, /* number of iso-lines input */ - struct iso_curve *iso_lines, /* iso-lines input */ - double *xx_min, double *yy_min, double *zz_min, - double *xx_max, double *yy_max, double *zz_max) /* min/max values in/out */ + struct iso_curve *iso_lines) /* iso-lines input */ { int i, j, grid_x_max; struct coordinate *vertex; + /* These used to be static to the file but no one else is using them */ + double x_min, x_max, y_min, y_max; + grid_x_max = iso_lines->p_count; /* number of vertices per iso_line */ - (*xx_min) = (*yy_min) = (*zz_min) = VERYLARGE; /* clear min/max values */ - (*xx_max) = (*yy_max) = (*zz_max) = -VERYLARGE; + x_min = y_min = z_min = VERYLARGE; /* clear min/max values */ + x_max = y_max = z_max = -VERYLARGE; for (j = 0; j < num_isolines; j++) { @@ -741,28 +743,30 @@ calc_min_max( for (i = 0; i < grid_x_max; i++) { if (vertex[i].type != UNDEFINED) { - if (vertex[i].x > (*xx_max)) - (*xx_max) = vertex[i].x; - if (vertex[i].y > (*yy_max)) - (*yy_max) = vertex[i].y; - if (vertex[i].z > (*zz_max)) - (*zz_max) = vertex[i].z; - if (vertex[i].x < (*xx_min)) - (*xx_min) = vertex[i].x; - if (vertex[i].y < (*yy_min)) - (*yy_min) = vertex[i].y; - if (vertex[i].z < (*zz_min)) - (*zz_min) = vertex[i].z; + if (vertex[i].x > x_max) + x_max = vertex[i].x; + if (vertex[i].y > y_max) + y_max = vertex[i].y; + if (vertex[i].z > z_max) + z_max = vertex[i].z; + if (vertex[i].x < x_min) + x_min = vertex[i].x; + if (vertex[i].y < y_min) + y_min = vertex[i].y; + if (vertex[i].z < z_min) + z_min = vertex[i].z; } } iso_lines = iso_lines->next; } - /* - * fprintf(stderr," x: %g, %g\n", (*xx_min), (*xx_max)); - * fprintf(stderr," y: %g, %g\n", (*yy_min), (*yy_max)); - * fprintf(stderr," z: %g, %g\n", (*zz_min), (*zz_max)); - */ + /* Width and height of the grid is used as a unit length (2d-norm) */ + unit_x = x_max - x_min; + unit_y = y_max - y_min; + /* FIXME HBB 20010121: 'zero' should not be used as an absolute + * figure to compare to data */ + unit_x = (unit_x > zero ? unit_x : zero); /* should not be zero */ + unit_y = (unit_y > zero ? unit_y : zero); } /* @@ -864,8 +868,6 @@ add_poly( static void put_contour( cntr_struct *p_cntr, /* contour structure input */ - double xx_min, double xx_max, - double yy_min, double yy_max, /* minimum/maximum values input */ TBOOLEAN contr_isclosed) /* contour line closed? (input) */ { @@ -877,7 +879,7 @@ put_contour( put_contour_nothing(p_cntr); break; case CONTOUR_KIND_CUBIC_SPL: /* Cubic spline interpolation. */ - put_contour_cubic(p_cntr, xx_min, xx_max, yy_min, yy_max, + put_contour_cubic(p_cntr, chk_contour_kind(p_cntr, contr_isclosed)); break; @@ -938,12 +940,9 @@ chk_contour_kind(cntr_struct *p_cntr, TBOOLEAN contr_isclosed) static void put_contour_cubic( cntr_struct *p_cntr, - double xx_min, double xx_max, - double yy_min, double yy_max, TBOOLEAN contr_isclosed) { int num_pts, num_intpol; - double unit_x, unit_y; /* To define norm (x,y)-plane */ double *delta_t; /* Interval length t_{i+1}-t_i */ double *d2x, *d2y; /* Second derivatives x''(t_i), y''(t_i) */ cntr_struct *pc_tail; @@ -965,20 +964,13 @@ put_contour_cubic( d2x = gp_alloc(num_pts * sizeof(double), "contour d2x"); d2y = gp_alloc(num_pts * sizeof(double), "contour d2y"); - /* Width and height of the grid is used as a unit length (2d-norm) */ - unit_x = xx_max - xx_min; - unit_y = yy_max - yy_min; - /* FIXME HBB 20010121: 'zero' should not be used as an absolute - * figure to compare to data */ - unit_x = (unit_x > zero ? unit_x : zero); /* should not be zero */ - unit_y = (unit_y > zero ? unit_y : zero); if (num_pts > 2) { /* * Calculate second derivatives d2x[], d2y[] and interval lengths delta_t[]: */ if (!gen_cubic_spline(num_pts, p_cntr, d2x, d2y, delta_t, - contr_isclosed, unit_x, unit_y)) { + contr_isclosed)) { free(delta_t); free(d2x); free(d2y); @@ -1084,8 +1076,7 @@ gen_cubic_spline( cntr_struct *p_cntr, /* List of points (x(t_i),y(t_i)), input */ double d2x[], double d2y[], /* Second derivatives (x''(t_i),y''(t_i)), output */ double delta_t[], /* List of interval lengths t_{i+1}-t_{i}, output */ - TBOOLEAN contr_isclosed, /* Closed or open contour?, input */ - double unit_x, double unit_y) /* Unit length in x and y (norm=1), input */ + TBOOLEAN contr_isclosed) /* Closed or open contour?, input */ { int n, i; double norm; diff --git a/src/datablock.c b/src/datablock.c index 1722c1ddf..73245e457 100644 --- a/src/datablock.c +++ b/src/datablock.c @@ -134,6 +134,9 @@ new_block( enum DATA_TYPES type ) if (!isletter(c_token+1)) int_error(c_token, "illegal block name"); + if (!equals(num_tokens-2, "<<") || !isletter(num_tokens-1)) + int_error(c_token, "block definition line must end with << EODmarker"); + /* Create or recycle a datablock with the requested name */ name = parse_datablock_name(); datablock = add_udv_by_name(name); @@ -157,16 +160,15 @@ new_block( enum DATA_TYPES type ) int_error(c_token, "expecting ')'"); c_token++; } - } else { - /* Must be a datablock */ + } else { /* Must be a datablock */ datablock->udv_value.type = DATABLOCK; datablock->udv_value.v.data_array = NULL; } - if (!equals(c_token, "<<") || !isletter(c_token+1)) - int_error(c_token, "block definition line must end with << EODmarker"); + if (c_token != num_tokens-2) + int_error(c_token, "garbage preceding << EODmarker"); c_token++; - eod = (char *) gp_alloc(token[c_token].length +2, "datablock"); + eod = (char *) gp_alloc(token[c_token].length + 2, "datablock"); copy_str(&eod[0], c_token, token[c_token].length + 2); c_token++; diff --git a/src/datafile.c b/src/datafile.c index 70fddeeaa..cd5be1737 100644 --- a/src/datafile.c +++ b/src/datafile.c @@ -134,7 +134,7 @@ enum COLUMN_TYPE { CT_DEFAULT, CT_STRING, CT_KEYLABEL, CT_MUST_HAVE, CT_XTICLABEL, CT_X2TICLABEL, CT_YTICLABEL, CT_Y2TICLABEL, - CT_ZTICLABEL, CT_CBTICLABEL }; + CT_ZTICLABEL }; /*{{{ static fns */ static int check_missing(char *s); @@ -828,7 +828,7 @@ df_tokenise(char *s) } /* skip to 1st character in the next field */ - if (df_separators != NULL) { + if (df_separators != NULL && !df_array) { /* skip to next separator or end of line */ while ((*s != '\0') && (*s != '\n') && NOTSEP) ++s; @@ -842,6 +842,7 @@ df_tokenise(char *s) if ((*s == '\0') || (*s == '\n')) { /* Last field is empty */ df_column[df_no_cols].good = DF_MISSING; df_column[df_no_cols].datum = not_a_number(); + df_column[df_no_cols].position = NULL; ++df_no_cols; break; } @@ -1155,6 +1156,12 @@ df_open(const char *cmd_filename, int max_using, struct curve_points *plot) parse_1st_row_as_headers = TRUE; else parse_1st_row_as_headers = FALSE; + /* Pseudofiles '+' and '++' can never have column headers */ + if (df_pseudodata > 0) + parse_1st_row_as_headers = FALSE; + /* Data pulled from an array also cannot have column headers */ + if (df_array) + parse_1st_row_as_headers = FALSE; if (!cmd_filename) int_error(c_token, "missing filename"); @@ -1328,7 +1335,8 @@ df_open(const char *cmd_filename, int max_using, struct curve_points *plot) /* zsort filter will be applied to this data */ if (equals(c_token, "zsort")) { c_token++; - plot->plot_filter = FILTER_ZSORT; + if (plot) + plot->plot_filter = FILTER_ZSORT; continue; } @@ -1760,8 +1768,6 @@ plot_option_using(int max_using) plot_ticlabel_using(CT_Y2TICLABEL); } else if (almost_equals(c_token, "ztic$labels")) { plot_ticlabel_using(CT_ZTICLABEL); - } else if (almost_equals(c_token, "cbtic$labels")) { - plot_ticlabel_using(CT_CBTICLABEL); } else if (almost_equals(c_token, "key")) { plot_ticlabel_using(CT_KEYLABEL); @@ -2093,9 +2099,9 @@ df_readascii(double v[], int max) /* Always save the contents of the first row in case it is needed for * later access via column("header"). However, unless we know for certain that * it contains headers only, e.g. via parse_1st_row_as_headers or - * (column_for_key_title > 0), also treat it as a data row. + * (column_for_key_title > 0), keep going to also treat it as a data row. */ - if (df_datum == 0 && !df_already_got_headers) { + if (df_datum == 0 && !df_already_got_headers && !df_array) { int j; FPRINTF((stderr, "datafile.c:%d processing %d column headers\n", __LINE__, df_no_cols)); for (j=0; j<df_no_cols; j++) { @@ -3161,10 +3167,13 @@ df_parse_string_field(char *field) int length; if (!field) { - return NULL; + /* treat missing string as empty string */ + return strdup(""); } else if (*field == '"') { field++; length = strcspn(field, "\""); + } else if (df_array) { + length = strcspn(field," "); } else if (df_separators != NULL) { length = strcspn(field, df_separators); if (length > strcspn(field, "\"")) /* Why? */ @@ -3506,6 +3515,7 @@ df_bin_default_columns default_style_cols[] = { {RGBIMAGE, 3, 2}, {RGBA_IMAGE, 4, 2}, {CIRCLES, 2, 1}, + {SECTORS, 4, 2}, {ELLIPSES, 2, 3}, {TABLESTYLE, 0, 0} }; @@ -5854,13 +5864,6 @@ axcol_for_ticlabel(enum COLUMN_TYPE type, int *axis) *axis = FIRST_Z_AXIS; axcol = 2; break; - case CT_CBTICLABEL: - *axis = COLOR_AXIS; - if (df_axis[2] == FIRST_Z_AXIS) - axcol = 2; - else - axcol = df_no_use_specs - 1; - break; } return axcol; diff --git a/src/eval.c b/src/eval.c index 3ce6defc8..077c49efd 100644 --- a/src/eval.c +++ b/src/eval.c @@ -325,7 +325,7 @@ real(struct value *val) return ((double) val->v.int_val); case CMPLX: return (val->v.cmplx_val.real); - case STRING: /* FIXME is this ever used? */ + case STRING: return (atof(val->v.string_val)); case NOTDEFINED: return not_a_number(); diff --git a/src/external.c b/src/external.c index 92891d9d8..5883230a5 100644 --- a/src/external.c +++ b/src/external.c @@ -59,6 +59,7 @@ ]*/ #include "external.h" +#include "version.h" #ifdef HAVE_EXTERNAL_FUNCTIONS @@ -75,6 +76,7 @@ typedef struct value (*exfn_t)(int, struct value *, void *); typedef void * (*infn_t)(exfn_t); typedef void (*fifn_t)(void *); +typedef double (*vfn_t)(void); struct exft_entry { exfn_t exfn; @@ -108,11 +110,18 @@ dll_open_w(const char *f) /* - Parse the string argument for a dll filename and function. Create a - one-item action list that calls a plugin function. Call the _init, - if present. _init may return a pointer to private data that is - handed over to the external function for each call. -*/ + * 1) Parse the string argument for a dll filename and function. + * 2) Create a one-item action list that calls a plugin function. + * 3) Check the gnuplot version number reported by the plugin. + * 4) Call the _init function if present; this is exported by the + * plugin as gnuplot_init(). + * This function may return a pointer to private data that is + * handed over to the external function for each call. + * 5) Save the destructor function if present; this is exported by + * the plugin as gnuplot_fini(). This function is called + * if and when the user function name associated with the + * plugin function is reassign to something else. + */ struct at_type * external_at(const char *func_name) @@ -123,6 +132,7 @@ external_at(const char *func_name) exfn_t exfn; infn_t infn; fifn_t fifn; + vfn_t vfn; struct at_type *at = NULL; if (!isstring(c_token)) @@ -168,6 +178,7 @@ external_at(const char *func_name) strcat(nfile, DLL_EXT); /* 2nd try: "file.so" */ dl = DLL_OPEN(nfile); + err = DLL_ERROR(dl); } #endif #ifdef DLL_PATHSEP @@ -176,11 +187,13 @@ external_at(const char *func_name) strcat(nfile, file); /* 3rd try: "./file" */ dl = DLL_OPEN(nfile); + err = DLL_ERROR(dl); #ifdef DLL_EXT if (!dl && no_ext) { strcat(nfile, DLL_EXT); /* 4th try: "./file.so" */ dl = DLL_OPEN(nfile); + err = DLL_ERROR(dl); } #endif } @@ -208,6 +221,7 @@ external_at(const char *func_name) infn = (infn_t)DLL_SYM(dl, "gnuplot_init"); fifn = (fifn_t)DLL_SYM(dl, "gnuplot_fini"); + vfn = (vfn_t)DLL_SYM(dl, "gnuplot_version"); if (!(at = gp_alloc(sizeof(struct at_type), "external_at"))) goto bailout; @@ -231,6 +245,15 @@ external_at(const char *func_name) at->actions[0].arg.exf_arg->private = 0x0; else at->actions[0].arg.exf_arg->private = (*infn)(exfn); + + /* Check for version compatibility */ + if (!vfn) + int_warn(NO_CARET, "plugin provides no version information"); + else { + double plugin_version = (*vfn)(); + if (plugin_version != gnuplot_ver) + int_warn(NO_CARET, "plugin built for version %.1f", plugin_version); + } bailout: c_token++; diff --git a/src/filters.c b/src/filters.c index 0df39f9b9..e502699a0 100644 --- a/src/filters.c +++ b/src/filters.c @@ -1,7 +1,7 @@ /* GNUPLOT - filters.c */ /*[ - * Copyright Ethan A Merritt 2013 - 2022 + * Copyright Ethan A Merritt 2013 - 2023 * All code in this file is dual-licensed. * * Gnuplot license: @@ -62,20 +62,31 @@ #include "filters.h" #include "interpol.h" #include "alloc.h" +#include "datafile.h" /* for blank_data_line */ #include "plot2d.h" /* for cp_extend() */ #include "watch.h" /* for bisect_target() */ -/* local prototypes */ +/* + * local prototypes + */ static int do_curve_cleanup(struct coordinate *point, int npoints); -static void winnow_interior_points (struct curve_points *plot); +static void winnow_interior_points (struct curve_points *plot, t_cluster *cluster); static double fpp_SG5(struct coordinate *p); -/* - * EXPERIMENTAL - * find outliers (distance from centroid > FOO * rmsd) in a cluster of points +static void cluster_stats(struct coordinate *points, t_cluster *cluster); + +/* Variables related to clustering + * These really belong somewhere else, but the only routines so + * far that use cluster properties are the hull routines, + * so keep them together for now. + * cluster_outlier_threshold sets criterion for finding outliers + * not currently settable + * chi_shape_default_fraction sets the default choice of chi_length to + * chi_shape_default_fraction * max(edgelengths) + * currently controlled by "set chi_shape fraction <value>" */ -static int find_cluster_outliers (struct coordinate *points, t_cluster *cluster); - +double cluster_outlier_threshold = 0.0; +double chi_shape_default_fraction = 0.6; /* * EAM December 2013 @@ -107,7 +118,7 @@ mcs_interp(struct curve_points *plot) for ( ; i<Ntot; i++) new_points[i].x = xstart + (i-N)*xstep; /* Sort output x coords */ - qsort(new_points, Ntot, sizeof(struct coordinate), compare_x); + gp_qsort(new_points, Ntot, sizeof(struct coordinate), compare_x); /* Displace any collisions */ for (i=1; i<Ntot-1; i++) { double delta = new_points[i].x - new_points[i-1].x; @@ -191,7 +202,6 @@ mcs_interp(struct curve_points *plot) new_points[i].type = INRANGE; else new_points[i].type = OUTRANGE; - /* FIXME: simpler test for outrange would be sufficient */ y_axis = plot->y_axis; store_and_update_range(&new_points[i].y, y, &new_points[i].type, &Y_AXIS, plot->noautoscale); @@ -312,7 +322,7 @@ make_bins(struct curve_points *plot, int nbins, * new z = number of points in the bin */ plot->p_count = nbins; - plot->points = gp_realloc( plot->points, nbins * sizeof(struct coordinate), "curve_points"); + cp_extend(plot, nbins); for (i=0; i<nbins; i++) { double bincent = bottom + (0.5 + (double)i) * binwidth; double ybin = bin[i]; @@ -575,8 +585,8 @@ gen_2d_path_splines( struct curve_points *plot ) int curves = num_curves(plot); /* Allocate space to hold the interpolated points */ - splined_points = gp_alloc( (samples_1 * curves) * sizeof(struct coordinate), NULL ); - memset( splined_points, 0, (samples_1 * curves) * sizeof(struct coordinate)); + splined_points = gp_alloc( (plot->p_count + samples_1 * curves) * sizeof(struct coordinate), NULL ); + memset( splined_points, 0, (plot->p_count + samples_1 * curves) * sizeof(struct coordinate)); first_point = 0; for (ic = 0; ic < curves; ic++) { @@ -751,16 +761,13 @@ do_curve_cleanup( struct coordinate *point, int npoints ) /* * convex_hull() replaces the original set of points with a subset that * delimits the convex hull of the original points. + * The hull is found using Graham's algorithm + * RL Graham (1972), Information Processing Letters 1: 132–133. * winnow_interior_points() is a helper routine that can greatly reduce * processing time for large data sets but is otherwise not necessary. - * expand_hull() pushes the hull points away from the centroid for the - * purpose of drawing a smooth bounding curve. + * expand_hull() pushes the hull segments away from the interior to + * produce a bounding curve exterior to all points. * - Ethan A Merritt 2021 - * - * find_cluster_outliers() calculates the centroid of plot->points, - * and if cluster_outlier_threshold > 0 calculates the rmsd distance - * of all points to the centroid so that outliers can be flagged. - * - Ethan A Merritt 2022 */ #define CROSS(p1,p2,p3) \ ( ((p2)->x - (p1)->x) * ((p3)->y - (p2)->y) \ @@ -775,43 +782,30 @@ convex_hull(struct curve_points *plot) int np = plot->p_count; int ntop; + /* cluster is used to hold x/y ranges and centroid */ + t_cluster cluster; + cluster.npoints = plot->p_count; + /* Special cases */ if (np < 3) return; if (np == 3) { - points = gp_realloc( points, 4*sizeof(struct coordinate), "HULL" ); - points[3] = points[0]; - plot->points = points; + cp_extend(plot, 4); + plot->points[3] = plot->points[0]; plot->p_count = 4; return; } - /* Find centroid (used by "smooth convexhull"). - * Flag and remove outliers. - */ - if (plot->plot_filter == FILTER_CONVEX_HULL) { - t_cluster cluster; - int outliers = 0; - /* FIXME: Needs a set option or a plot keyword to choose threshold */ - if (debug) - cluster.threshold = 3.0; - else - cluster.threshold = 0.0; - cluster.npoints = plot->p_count; - do { - outliers = find_cluster_outliers(plot->points, &cluster); - plot->filledcurves_options.at = cluster.cx; - plot->filledcurves_options.aty = cluster.cy; - } while (outliers > 0); - } + /* Find x and y limits of points in the cluster. */ + cluster_stats(plot->points, &cluster); /* This is not strictly necessary, but greatly reduces the number * of points to be sorted and tested for the hull boundary. */ - winnow_interior_points(plot); + winnow_interior_points(plot, &cluster); /* Sort the remaining points (probably only need to sort on x?) */ - qsort(plot->points, plot->p_count, + gp_qsort(plot->points, plot->p_count, sizeof(struct coordinate), compare_xyz); /* Find hull points using a variant of Graham's algorithm. @@ -841,12 +835,12 @@ convex_hull(struct curve_points *plot) points = gp_alloc( np * sizeof(struct coordinate), "Hull" ); for (i=0; i<np; i++) points[i] = *(stack[i]); - free(plot->points); + cp_extend(plot, 0); free(stack); plot->points = points; plot->p_count = np; + plot->p_max = np; } -#undef CROSS /* * winnow_interior_points() is an optional helper routine for convex_hull. @@ -854,28 +848,22 @@ convex_hull(struct curve_points *plot) * points in a quadrilateral bounded by the four points with max/min x/y. */ static void -winnow_interior_points (struct curve_points *plot) +winnow_interior_points (struct curve_points *plot, t_cluster *cluster) { #define TOLERANCE -1.e-10 struct coordinate *p, *pp1, *pp2, *pp3, *pp4; - double xmin = VERYLARGE, xmax = -VERYLARGE; - double ymin = VERYLARGE, ymax = -VERYLARGE; struct coordinate *points = plot->points; double area; int i, np; - /* Find maximal extent on x and y, centroid */ + /* Find points defining maximal extent on x and y */ pp1 = pp2 = pp3 = pp4 = plot->points; for (p = plot->points; p < &(plot->points[plot->p_count]); p++) { - if (p->type == UNDEFINED) - continue; - if (p->type == EXCLUDEDRANGE) /* e.g. outlier or category mismatch */ - continue; - if (p->x < xmin) { xmin = p->x; pp1 = p; } - if (p->x > xmax) { xmax = p->x; pp3 = p; } - if (p->y < ymin) { ymin = p->y; pp4 = p; } - if (p->y > ymax) { ymax = p->y; pp2 = p; } + if (p->x == cluster->xmin) pp1 = p; + if (p->x == cluster->xmax) pp2 = p; + if (p->y == cluster->ymin) pp3 = p; + if (p->y == cluster->ymax) pp4 = p; } /* Ignore any points that lie inside the clockwise triangle bounded by pp1 pp2 pp3 */ @@ -919,88 +907,130 @@ winnow_interior_points (struct curve_points *plot) } /* - * expand_hull() "inflates" a smooth convex hull by pushing each - * perimeter point further away from the centroid of the bounded points. - * FIXME: The expansion value is currently interpreted as a scale - * factor; i.e. 1.0 is no expansion. It might be better to - * instead accept a fixed value in user coordinates. + * expand_hull() "inflates" a convex or concave hull by displacing + * each edge away from the interior along its normal vector + * by requested distance d. */ void expand_hull(struct curve_points *plot) { + struct coordinate *newpoints = NULL; struct coordinate *points = plot->points; - double xcent = plot->filledcurves_options.at; - double ycent = plot->filledcurves_options.aty; double scale = plot->smooth_parameter; - int i; + double d = fabs(scale); + int N = plot->p_count; - if (scale <=0 || scale == 1.0) - return; + struct coordinate *v1, *v2, *v3; + t_cluster cluster; + double winding; /* +1 for clockwise -1 for anticlockwise */ + int ni; - for (i=0; i<plot->p_count; i++) { - points[i].x = xcent + scale * (points[i].x - xcent); - points[i].y = ycent + scale * (points[i].y - ycent); + /* Determine whether the hull points are ordered clockwise or + * anticlockwise. This allows easy determination of the interior + * side of each edge and the concave/convex status of each vertex. + */ + cluster.npoints = N; + cluster_stats(points, &cluster); + v1 = &points[ (cluster.pin == 0) ? N-2 : cluster.pin-1 ]; + v2 = &points[cluster.pin]; + v3 = &points[cluster.pin + 1]; + + if (CROSS(v2,v1,v3) > 0) + winding = 1.0; + else + winding = -1.0; + + /* Each edge of the hull is displaced outward by a constant amount d. + * At each convex vertex this replaces the original point with two + * points that are the vertices of a beveled join. + * At each concave vertex this displaces the original point toward + * the mouth of the concavity. + */ + newpoints = gp_alloc(2*N * sizeof(struct coordinate), "expand hull"); + ni = 0; + for (int i = 0; i < N; i++) { + double m1, m2, d2norm; + double dx1, dy1, dx2, dy2; + + v1 = &points[ (i == 0) ? N-2 : i-1 ]; + v2 = &points[i]; + v3 = &points[ (i == N-1) ? 1 : i+1 ]; + + m1 = (v2->y - v1->y) / (v2->x - v1->x); /* slope of v1v2 */ + d2norm = d*d / (1/(m1*m1) + 1); + dx1 = copysign( sqrt(d2norm), -winding * (v2->y - v1->y) ); + dy1 = copysign( sqrt(d*d - d2norm), winding * (v2->x - v1->x) ); + m2 = (v3->y - v2->y) / (v3->x - v2->x); /* slope of v2v3 */ + d2norm = d*d / (1/(m2*m2) + 1); + dx2 = copysign( sqrt(d2norm), -winding * (v3->y - v2->y) ); + dy2 = copysign( sqrt(d*d - d2norm), winding * (v3->x - v2->x) ); + + /* convex vertex */ + if (winding * CROSS(v1,v2,v3) < 0) { + newpoints[ni] = points[i]; + newpoints[ni].x = v2->x + dx1; + newpoints[ni].y = v2->y + dy1; + ni++; + newpoints[ni] = points[i]; + newpoints[ni].x = v2->x + dx2; + newpoints[ni].y = v2->y + dy2; + ni++; + + /* concave vertex (over-emphasizes steep holes) */ + } else { + double dnorm = d / sqrt((dx1+dx2)*(dx1+dx2) + (dy1+dy2)*(dy1+dy2)); + newpoints[ni] = points[i]; + newpoints[ni].x = v2->x + dnorm * (dx1 + dx2); + newpoints[ni].y = v2->y + dnorm * (dy1 + dy2); + ni++; + } } + /* Replace original point list with the new one */ + cp_extend(plot, 0); + plot->points = newpoints; + plot->p_count = ni; + plot->p_max = 2*N; } /* - * Find center of mass of plot->points. + * Find min, max, center of mass points in cluster held in plot->points. * All points not marked EXCLUDEDRANGE are assumed to be in a single cluster. - * If a threshold has been set for cluster outlier detection, then flag - * any points whose distance from the center of mass is greater than - * threshold * cluster.rmsd. - * Return the number of outliers found. */ -static int -find_cluster_outliers( struct coordinate *points, t_cluster *cluster ) +static void +cluster_stats( struct coordinate *points, t_cluster *cluster ) { double xsum = 0; double ysum = 0; - double d2 = 0; - int i; - int outliers = 0; int excluded = 0; - for (i = 0; i < cluster->npoints; i++) { + cluster->xmin = cluster->ymin = VERYLARGE; + cluster->xmax = cluster->ymax = -VERYLARGE; + cluster->pin = -1; + + for (int i = 0; i < cluster->npoints; i++) { if (points[i].type == EXCLUDEDRANGE || points[i].type == UNDEFINED) { excluded++; - } else { - xsum += points[i].x; - ysum += points[i].y; + continue; } + xsum += points[i].x; + ysum += points[i].y; + if ((cluster->xmin == points[i].x) + && (points[i].y > points[cluster->pin].y)) + cluster->pin = i; + if (cluster->xmin > points[i].x) { + cluster->xmin = points[i].x; + cluster->pin = i; + } + if (cluster->ymin > points[i].y) + cluster->ymin = points[i].y; + if (cluster->xmax < points[i].x) + cluster->xmax = points[i].x; + if (cluster->ymax < points[i].y) + cluster->ymax = points[i].y; } cluster->cx = xsum / (cluster->npoints - excluded); cluster->cy = ysum / (cluster->npoints - excluded); - - if (cluster->threshold <= 0) - return 0; - - for (i = 0; i < cluster->npoints; i++) { - if (points[i].type == UNDEFINED) - continue; - if (points[i].type == EXCLUDEDRANGE) - continue; - d2 += (points[i].x - cluster->cx) * (points[i].x - cluster->cx) - + (points[i].y - cluster->cy) * (points[i].y - cluster->cy); - } - cluster->rmsd = sqrt(d2 / cluster->npoints); - for (i = 0; i < cluster->npoints; i++) { - if (points[i].type == UNDEFINED) - continue; - if (points[i].type == EXCLUDEDRANGE) - continue; - d2 = (points[i].x - cluster->cx) *(points[i].x - cluster->cx) - + (points[i].y - cluster->cy) *(points[i].y - cluster->cy); - if (sqrt(d2) > cluster->rmsd * cluster->threshold) { - points[i].type = EXCLUDEDRANGE; - outliers++; - } - } - - FPRINTF((stderr, "find_cluster_outliers: rmsd = %g, %d outliers\n", - cluster->rmsd, outliers)); - return outliers; } /* @@ -1047,9 +1077,7 @@ sharpen(struct curve_points *plot) cp_extend(plot, 1.5 * plot->p_count); p = plot->points; - /* DEBUG FIXME - * A more general solution is needed! - * We expect that sharpened peaks may go to +/- Infinity + /* We expect that sharpened peaks may go to +/- Infinity * and in fact the plot may already contain such points. * Because these were tagged UNDEFINED in store_and_update_range() * they will be lost when the points are sorted. @@ -1104,7 +1132,7 @@ sharpen(struct curve_points *plot) newcount++; } } - + /* Equivalent search for maxima */ for (int i = 4; i < plot->p_count-4; i++) { TBOOLEAN criterion = FALSE; @@ -1138,7 +1166,7 @@ sharpen(struct curve_points *plot) /* Move new points into proper order */ if (newcount > plot->p_count) { plot->p_count = newcount; - qsort(plot->points, newcount, sizeof(struct coordinate), compare_x); + gp_qsort(plot->points, newcount, sizeof(struct coordinate), compare_x); } } @@ -1157,6 +1185,633 @@ fpp_SG5( struct coordinate *p ) return 0; fpp = 2.0 * (p-2)->y - (p-1)->y - 2.0 * p->y - (p+1)->y + 2.0 * (p+2)->y; fpp /= 7.0; - + return fpp; } + + +#ifdef WITH_CHI_SHAPES + +/* + * The routines in this section support the generation of concave hulls. + * Copyright Ethan A Merritt 2022 + * + * Delaunay triangulation uses the Bowyer-Watson algorithm + * A Bowyer (1981) Computer Journal 24:162. + * DF Watson (1981) Computer Journal 24:167. + * + * Generation of χ-shapes follows the description in + * M Duckham, L Kulik, M Worboys, and A Galton (2008) + * Pattern Recognition 41: 3224_3236. + * + * Corresponding routines called as filter operations from plot2d.c + * delaunay_triangulation( plot ) + * concave_hull( plot ) + */ + +typedef struct triangle { + int v1, v2, v3; /* indices of vertices in array points[] */ + double cx, cy; /* center of circumcircle */ + double r; /* radius of circumcircle */ + struct triangle *next; +} triangle; + +typedef struct t_edge { + int v1, v2; /* indices of the endpoints in array points[] */ + double length; /* used for χ-shapes */ +} t_edge; + +/* + * local prototypes for helper routines + */ +static triangle *insert_new_triangle( struct coordinate *points, int v1, int v2, int v3 ); +static void find_circumcircle( struct coordinate *points, triangle *t); +static TBOOLEAN in_circumcircle( triangle *t, double x, double y ); +static void invalidate_triangle( triangle *prev, triangle *this ); +static void freeze_triangle( triangle *prev, triangle *this ); +static void delete_triangles( triangle *list_head ); +static int compare_edges(SORTFUNC_ARGS arg1, SORTFUNC_ARGS arg2); +static double edge_length( t_edge *edge, struct coordinate *p ); +static void chi_reduction( struct curve_points *plot, double l_chi ); +static TBOOLEAN dig_one_hole( struct curve_points *plot, double l_chi ); + +#define HULL_POINT 1 + +/* List heads + * The lists these point to are freed and reinitialized on each call to + * delaunay_triangulation(). The constituent vertices of each triangle + * are stored as indices for the points array of the current plot. + * Therefore the lists are useful only in the context of the current plot, + * and only so long as the points are not overwritten, as indeed they + * are when replaced by a hull in concave_hull(). + */ +static triangle good_triangles = { .next = NULL }; +static triangle bad_triangles = { .next = NULL }; +static triangle frozen_triangles = { .next = NULL }; + +/* Similarly for an array containing line segments making up the + * perimeter of the triangulation. + */ +static t_edge *bounding_edges = NULL; +static int n_bounding_edges = 0; +static int max_bounding_edges = 0; + +/* + * Free local storage (called also from global reset command) + */ +void +reset_hulls( TBOOLEAN reset ) +{ + delete_triangles(&good_triangles); + delete_triangles(&bad_triangles); + delete_triangles(&frozen_triangles); + free(bounding_edges); + bounding_edges = NULL; + n_bounding_edges = 0; + max_bounding_edges = 0; + if (reset) { + chi_shape_default_fraction = 0.6; + del_udv_by_name("chi_length", FALSE); + } +} + +/* + * Delaunay triangulation of a set of N points. + * The points are taken from the current plot structure. + * This is a filter operation; i.e. it is called from a gnuplot "plot" + * command after reading in data but before smoothing or plot generation. + * The resulting triangles are stored in a list with head good_triangles. + * The edges making up the convex hull are stored in array bounding_edges[]. + * All points that lie on the hull are flagged by setting + * point->extra = HULL_POINT + */ +void +delaunay_triangulation( struct curve_points *plot ) +{ + struct coordinate *points; + int N = plot->p_count; + + t_edge *edges = NULL; + int nedges; + coordinate *p; + triangle *t, *prev; + triangle *frozen_tail = NULL; + int i; + + /* Clear out any previous storage */ + reset_hulls(FALSE); + + /* Pull color out of the varcolor array and copy it into point.CRD_COLOR + * so that it isn't lost during sort. + */ + if (plot->varcolor) + for (i = 0; i < plot->p_count; i++) + plot->points[i].CRD_COLOR = plot->varcolor[i]; + + /* Sort the points on x. + * This allows us to reduce the time required from O(N^2) to + * approximately O(NlogN). + */ + gp_qsort(plot->points, N, sizeof(struct coordinate), compare_xyz); + + /* Construct a triangle "sufficiently big" to enclose the set of points. + * That means each bounding vertex must be far enough away from the data + * points that a circumcircle does not catch extra data points. + * It turns out this is easier to guarantee if we start with two triangles. + */ + { + double xmin = VERYLARGE, xmax = -VERYLARGE; + double ymin = VERYLARGE, ymax = -VERYLARGE; + double xdelta, ydelta, gap; + + /* Allocate 4 additional points for the two triangles */ + cp_extend(plot, N+4); + points = plot->points; + + for (p = points; p < &points[N]; p++) { + if (p->type == UNDEFINED) + continue; + if (p->x < xmin) xmin = p->x; + if (p->x > xmax) xmax = p->x; + if (p->y < ymin) ymin = p->y; + if (p->y > ymax) ymax = p->y; + } + xdelta = xmax - xmin; + ydelta = ymax - ymin; + /* Is 100 "sufficiently big"??? */ + gap = 100. * GPMAX(xdelta,ydelta); + + points[N].x = xmin - gap; + points[N+1].x = xmax + gap; + points[N+2].x = xmin - gap; + points[N+3].x = xmax + gap; + points[N].y = ymin - gap; + points[N+1].y = ymin - gap; + points[N+2].y = ymax + gap; + points[N+3].y = ymax + gap; + t = insert_new_triangle( points, N, N+1, N+2 ); + find_circumcircle(points, t); + t = insert_new_triangle( points, N+1, N+2, N+3 ); + find_circumcircle(points, t); + } + + /* Add points one by one */ + for (p = points; p < &points[N]; p++) { + + /* Ignore undefined points. */ + if (p->type == UNDEFINED) + continue; + + /* Also ignore duplicate points */ + if (p->x == (p+1)->x && p->y == (p+1)->y) + continue; + + /* First step is to move all triangles for which the new point + * violates the criterion "no other points in bounding circle" + * to a separate list bad_triangles. + */ + delete_triangles(&bad_triangles); + prev = &good_triangles; + for (t = prev->next; t; t = prev->next) { + if (in_circumcircle(t, p->x, p->y)) + invalidate_triangle(prev, t); + + /* Points are sorted on x, so if the circumcircle of this + * triangle is entirely to the left of the current point + * we needn't check it for subsequent points either. + */ + else if ((t->cx + t->r) < p->x) { + freeze_triangle(prev, t); + if (frozen_tail == NULL) + frozen_tail = t; + } else + prev = t; + } + + /* I think this only happens if there is a duplicate point */ + if (bad_triangles.next == NULL) + continue; + + /* Second step is to find the edges forming the perimeter + * of the bad triangles. An edge cannot appear twice. + * If it does, flag both copies as -1. + */ + for (i = 0, t = bad_triangles.next; t; t = t->next) + i++; + edges = gp_realloc(edges, 3*i * sizeof(t_edge), "delaunay edges"); + for (i = 0, t = bad_triangles.next; t; t = t->next) { + edges[i].v1 = (t->v1 > t->v2) ? t->v2 : t->v1; + edges[i].v2 = (t->v1 > t->v2) ? t->v1 : t->v2; + i++; + edges[i].v1 = (t->v2 > t->v3) ? t->v3 : t->v2; + edges[i].v2 = (t->v2 > t->v3) ? t->v2 : t->v3; + i++; + edges[i].v1 = (t->v3 > t->v1) ? t->v1 : t->v3; + edges[i].v2 = (t->v3 > t->v1) ? t->v3 : t->v1; + i++; + } + nedges = i; + gp_qsort(edges, nedges, sizeof(t_edge), compare_edges); + for (i = 0; i < nedges-1; i++) { + if (edges[i].v1 == edges[i+1].v1 && edges[i].v2 == edges[i+1].v2) + edges[i].v1 = edges[i+1].v1 = -1; + } + + /* For each edge on the perimeter construct a new triangle + * containing the new point as its third vertex. + */ + for (i = 0; i < nedges; i++) { + if (edges[i].v1 >= 0) { + t = insert_new_triangle( points, edges[i].v1, edges[i].v2, p - points); + find_circumcircle(points, t); + } + } + } + + /* Merge frozen triangles back into the good triangle list */ + if (frozen_tail) { + frozen_tail->next = good_triangles.next; + good_triangles.next = frozen_triangles.next; + frozen_triangles.next = NULL; + frozen_tail = NULL; + } + + /* Remove any triangles that contain a vertex of the original "big triangle". + * The perimeter of the resulting tesselation can be found later by + * collecting one edge from each of the triangles left in the bad_triangles list. + */ + delete_triangles(&bad_triangles); + prev = &good_triangles; + for (t = prev->next; t; t = prev->next) { + if ( (t->v1 >= N) || (t->v2 >= N) || (t->v3 >= N) ) + invalidate_triangle(prev, t); + else + prev = t; + } + + /* Flag the original points that lie on the bounding hull. + * The edges making up the hull remain in bounding_edges[] + * for use by a subsequent call to concave_hull(). + */ + for (i = 0; i < N; i++) + points[i].extra = 0; + for (i = 0, t = bad_triangles.next; t; t = t->next) + i++; + edges = gp_realloc(edges, 3*i * sizeof(t_edge), "delaunay edges"); + max_bounding_edges = 3*i; + nedges = 0; + for (t = bad_triangles.next; t; t = t->next) { + int v1, v2; + v1 = (t->v1 >= N) ? t->v3 : t->v1; + v2 = (t->v2 >= N) ? t->v3 : t->v2; + if ((v1 == v2) || (v1 >= N) || (v2 >= N)) + continue; + edges[nedges].v1 = v1; + edges[nedges].v2 = v2; + points[v1].extra = HULL_POINT; + points[v2].extra = HULL_POINT; + edges[nedges].length = edge_length( &edges[nedges], plot->points ); + nedges++; + } + bounding_edges = edges; + n_bounding_edges = nedges; + +} + +static void +invalidate_triangle( triangle *prev, triangle *this ) +{ + prev->next = this->next; + this->next = bad_triangles.next; + bad_triangles.next = this; +} + +static void +freeze_triangle( triangle *prev, triangle *this ) +{ + prev->next = this->next; + this->next = frozen_triangles.next; + frozen_triangles.next = this; +} + +static int +compare_edges(SORTFUNC_ARGS e1, SORTFUNC_ARGS e2) +{ + t_edge *t1 = (t_edge *)e1; + t_edge *t2 = (t_edge *)e2; + + if (t1->v1 > t2->v1) + return 1; + if (t1->v1 < t2->v1) + return -1; + if (t1->v2 > t2->v2) + return 1; + if (t1->v2 < t2->v2) + return -1; + return 0; +} + +static triangle * +insert_new_triangle( struct coordinate *points, int v1, int v2, int v3 ) +{ + triangle *t = gp_alloc( sizeof(triangle), "triangle" ); + + if (v1 < v2 && v1 < v3) { + t->v1 = v1; + t->v2 = (v2 < v3) ? v2 : v3; + t->v3 = (v2 < v3) ? v3 : v2; + } else if (v2 < v1 && v2 < v3) { + t->v1 = v2; + t->v2 = (v1 < v3) ? v1 : v3; + t->v3 = (v1 < v3) ? v3 : v1; + } else { + t->v1 = v3; + t->v2 = (v1 < v2) ? v1 : v2; + t->v3 = (v1 < v2) ? v2 : v1; + } + + t->next = good_triangles.next; + good_triangles.next = t; + + return t; +} + +static void +find_circumcircle( struct coordinate *points, triangle *t) +{ + double BB_x, BB_y, CC_x, CC_y, DD; + double cent_x, cent_y; + + BB_x = points[t->v2].x - points[t->v1].x; + BB_y = points[t->v2].y - points[t->v1].y; + CC_x = points[t->v3].x - points[t->v1].x; + CC_y = points[t->v3].y - points[t->v1].y; + + DD = 2. * (BB_x * CC_y - BB_y * CC_x); + cent_x = CC_y * (BB_x*BB_x + BB_y*BB_y) - BB_y * (CC_x*CC_x + CC_y*CC_y); + cent_x /= DD; + cent_y = BB_x * (CC_x*CC_x + CC_y*CC_y) - CC_x * (BB_x*BB_x + BB_y*BB_y); + cent_y /= DD; + + t->r = sqrt( cent_x * cent_x + cent_y * cent_y ); + t->cx = cent_x + points[t->v1].x; + t->cy = cent_y + points[t->v1].y; +} + +static TBOOLEAN +in_circumcircle( triangle *t, double x, double y ) +{ + if ((t->cx - x)*(t->cx - x) + (t->cy - y)*(t->cy - y) < (t->r * t->r)) + return TRUE; + else + return FALSE; +} + +static void +delete_triangles( triangle *list_head ) +{ + triangle *next; + triangle *t = list_head->next; + + while (t) { + next = t->next; + free(t); + t = next; + } + list_head->next = NULL; +} + +static int +compare_edgelength(SORTFUNC_ARGS e1, SORTFUNC_ARGS e2) +{ + if (((t_edge *)e1)->length > ((t_edge *)e2)->length) + return -1; + if (((t_edge *)e1)->length < ((t_edge *)e2)->length) + return 1; + return 0; +} + +/* Adjust current perimeter of triangulated points by incrementally + * removing single edges to reveal a portion of the interior. + * Assume + * plot->points contains the data points + * bounding_edges[] contains the convex hull + * l_chi is the characteristic length determining how far we trim + * Iterative algorithm + * Sort bounding edges by length, i.e. bounding_edges[0] is the longest + * If there is no removable edge with length > l_chi, stop. + * Check whether longest edge belongs to a triangle with 3 exterior points + * If so + * mark edge as non-removable and continue + * If not + * Remove it to expose two new edges + * Add the two newly exposed edges to the perimeter. + * Remove triangle from good_triangles list. + * Note + * On exit some lengths in bounding_edges have been overwritten with -1 + */ +static void +chi_reduction( struct curve_points *plot, double l_chi ) +{ + /* Each edge removed exposes two others. We will increase max as necessary. */ + bounding_edges = gp_realloc( bounding_edges, 2*n_bounding_edges*sizeof(t_edge), + "bounding_edges"); + max_bounding_edges = 2*n_bounding_edges; + + gp_qsort(bounding_edges, n_bounding_edges, sizeof(t_edge), compare_edgelength); + while (dig_one_hole( plot, l_chi )) { + gp_qsort(bounding_edges, n_bounding_edges, sizeof(t_edge), compare_edgelength); + } + +} + +static double +edge_length( t_edge *edge, struct coordinate *p ) +{ + double dx = p[edge->v1].x - p[edge->v2].x; + double dy = p[edge->v1].y - p[edge->v2].y; + return sqrt(dx*dx + dy*dy); +} + +static void +keep_edge( int i, int v1, int v2, struct coordinate *points) +{ + bounding_edges[i].v1 = v1; + bounding_edges[i].v2 = v2; + bounding_edges[i].length = edge_length(&bounding_edges[i], points); +} + +static TBOOLEAN +dig_one_hole( struct curve_points *plot, double l_chi ) +{ + struct coordinate *p = plot->points; + triangle *t, *prev; + + if (bounding_edges[0].length <= l_chi) + return FALSE; + + /* Find the triangle this edge belongs to */ + prev = &good_triangles; + for (t = prev->next; t; t = t->next) { + TBOOLEAN hit = FALSE; + if (bounding_edges[0].v1 == t->v1) { + if (bounding_edges[0].v2 == t->v2) { + hit = TRUE; + if (p[t->v3].extra == HULL_POINT) { + bounding_edges[0].length = -1; /* Flag edge as not removeable */ + } else { + p[t->v3].extra = HULL_POINT; /* Mark uncovered point exterior */ + keep_edge(0, t->v1, t->v3, p); + keep_edge(n_bounding_edges, t->v2, t->v3, p); + n_bounding_edges++; + invalidate_triangle(prev, t); + } + } else if (bounding_edges[0].v2 == t->v3) { + hit = TRUE; + if (p[t->v2].extra == HULL_POINT) { + bounding_edges[0].length = -1; /* Flag edge as not removeable */ + } else { + p[t->v2].extra = HULL_POINT; /* Mark uncovered point exterior */ + keep_edge(0, bounding_edges[0].v1, t->v2, p); + keep_edge( n_bounding_edges, t->v2, t->v3, p); + n_bounding_edges++; + invalidate_triangle(prev, t); + } + } + } else if (bounding_edges[0].v1 == t->v2) { + if (bounding_edges[0].v2 == t->v3) { + hit = TRUE; + if (p[t->v1].extra == HULL_POINT) { + bounding_edges[0].length = -1; /* Flag edge as not removeable */ + } else { + p[t->v1].extra = HULL_POINT; /* Mark uncovered point exterior */ + keep_edge(0, t->v1, t->v2, p); + keep_edge(n_bounding_edges, t->v1, t->v3, p); + n_bounding_edges++; + invalidate_triangle(prev, t); + } + } + } + + /* Replaced old perimeter segment with two new ones */ + if (hit) { + if (n_bounding_edges >= max_bounding_edges) { + max_bounding_edges *= 2; + bounding_edges = gp_realloc(bounding_edges, max_bounding_edges * sizeof(t_edge), + "bounding_edges"); + } + return(TRUE); + } + /* Otherwise continue to search for triangle containing this edge */ + prev = t; + } + + return(FALSE); +} + + +void +concave_hull( struct curve_points *plot ) +{ + udvt_entry *udv; + int prev; + struct coordinate *newpoints; + double chi_length = 0.0; + + /* Construct χ-shape */ + udv = get_udv_by_name("chi_length"); + if (udv && udv->udv_value.type == CMPLX) + chi_length = real(&(udv->udv_value)); + + /* No chi_length given, make a guesstimate */ + if (chi_length <= 0) { + for (int ie = 0; ie < n_bounding_edges; ie++) { + if (chi_length < bounding_edges[ie].length) + chi_length = bounding_edges[ie].length; + } + chi_length *= chi_shape_default_fraction; + } + + chi_reduction( plot, chi_length ); + fill_gpval_float("GPVAL_CHI_LENGTH", chi_length); + + /* Replace original points with perimeter points as a closed curve. + * This wipes out bounding_edges as it goes. + */ + newpoints = gp_alloc((n_bounding_edges + 1) * sizeof(struct coordinate), "concave hull"); + newpoints[0] = plot->points[ bounding_edges[0].v1 ]; + newpoints[1] = plot->points[ bounding_edges[0].v2 ]; + prev = bounding_edges[0].v2; + bounding_edges[0].v1 = bounding_edges[0].v2 = -1; + for (int n = 2; n < n_bounding_edges; n++) { + for (int i = 1; i < n_bounding_edges; i++) { + if (prev == bounding_edges[i].v1) + prev = bounding_edges[i].v2; + else if (prev == bounding_edges[i].v2) + prev = bounding_edges[i].v1; + else /* Not a match; keep looking */ + continue; + newpoints[n] = plot->points[prev]; + bounding_edges[i].v1 = bounding_edges[i].v2 = -1; + break; + } + } + newpoints[n_bounding_edges] = newpoints[0]; + + cp_extend(plot, 0); + plot->p_max = n_bounding_edges+1; + plot->p_count = n_bounding_edges+1; + plot->points = newpoints; +} + +/* + * filter option "delaunay" + * plot POINTS using 1:2 delaunay with polygons fs empty + * Replace original list of points with a polygon representation + * of the individual triangles. + * + * This routine was written to help debug implementation of χ-shapes + * to generate a concave hull. See "concave_hull.dem". + * It is currently undocumented as a separate filter option. + */ +void +save_delaunay_triangles( struct curve_points *plot ) +{ + struct coordinate *point = plot->points; + struct coordinate *newpoints = NULL; + double *newcolor = NULL; + triangle *t; + int outp; + + /* Reserve space to store each triangle as three points + * plus one "empty" spacer. + */ + for (outp = 0, t = good_triangles.next; t; t = t->next) + outp++; + newpoints = gp_alloc( 5 * outp * sizeof(struct coordinate), "delaunay filter" ); + + /* Copy full original point so that it retains any extra fields */ + for (outp = 0, t = good_triangles.next; t; t = t->next) { + newpoints[outp++] = point[t->v1]; + newpoints[outp++] = point[t->v2]; + newpoints[outp++] = point[t->v3]; + newpoints[outp++] = point[t->v1]; + newpoints[outp++] = blank_data_line; + } + + /* Make a new separate list of colors */ + if (plot->varcolor) { + newcolor = gp_alloc( 5 * outp * sizeof(double), "delaunay colors" ); + for (int i = 0; i < outp; i++) + newcolor[i] = newpoints[i].CRD_COLOR; + } + + /* Replace original point list with the new one */ + cp_extend(plot, 0); + plot->points = newpoints; + plot->varcolor = newcolor; + plot->p_count = outp; + plot->p_max = outp; +} + +#endif /* WITH_CHI_SHAPES */ diff --git a/src/filters.h b/src/filters.h index feb2080d6..39cb5a2c6 100644 --- a/src/filters.h +++ b/src/filters.h @@ -11,14 +11,17 @@ /* If gnuplot ever gets a subsystem to do clustering, this would belong there. * As of now, however, the only clustering operations are outlier detection - * and finding a convex hull, for which the code is in filters.c. + * and finding a convex or concave hull, for which the code is in filters.c. */ typedef struct cluster { int npoints; + double xmin; + double xmax; + double ymin; + double ymax; double cx; /* x coordinate of center-of-mass */ double cy; /* y coordinate of center-of-mass */ - double rmsd; /* root mean square distance from center of mass */ - double threshold; /* criterion for outlier detection */ + int pin; /* index of point with minimum x */ } t_cluster; /* Exported functions */ @@ -32,4 +35,15 @@ void convex_hull(struct curve_points *plot); void expand_hull(struct curve_points *plot); void sharpen(struct curve_points *plot); +#ifdef WITH_CHI_SHAPES +void delaunay_triangulation( struct curve_points *plot ); +void save_delaunay_triangles( struct curve_points *plot ); +void concave_hull( struct curve_points *plot ); +void reset_hulls( TBOOLEAN reset ); + +extern double chi_shape_default_fraction; /* This is fraction of longest edge */ +#else +#define reset_hulls(foo) /* NOOP */ +#endif /* WITH_CHI_SHAPES */ + #endif /* GNUPLOT_FILTERS_H */ diff --git a/src/fit.c b/src/fit.c index ada374321..3e90768dc 100644 --- a/src/fit.c +++ b/src/fit.c @@ -291,6 +291,12 @@ static char *get_next_word(char **s, char *subst); void fit_command() { + static JMP_BUF fit_jumppoint; + + if (evaluate_inside_functionblock && inside_plot_command) + int_error(NO_CARET, "fit command not possible in this context"); + inside_plot_command = TRUE; + /* Set up an exception handler for errors that occur during "fit". * Normally these would return to the top level command parser via * a longjmp from int_error() and bail_to_command_line(). @@ -298,7 +304,6 @@ fit_command() * always returns to the call point regardless of success or error. * The caller must then check for success. */ - static JMP_BUF fit_jumppoint; fit_env = &fit_jumppoint; if (SETJMP(*fit_env,1)) { fit_env = NULL; @@ -308,12 +313,14 @@ fit_command() while (!END_OF_COMMAND) c_token++; Ginteger( &(add_udv_by_name("FIT_ERROR")->udv_value), 1); + inside_plot_command = FALSE; return; } fit_main(); fit_env = NULL; Ginteger( &(add_udv_by_name("FIT_ERROR")->udv_value), 0); + inside_plot_command = FALSE; } /***************************************************************** diff --git a/src/gadgets.c b/src/gadgets.c index 1c1106ea2..fe6d6dab7 100644 --- a/src/gadgets.c +++ b/src/gadgets.c @@ -51,7 +51,7 @@ legend_key keyT; /* Description of the color box associated with CB_AXIS */ color_box_struct color_box; /* initialized in init_color() */ -color_box_struct default_color_box = {SMCOLOR_BOX_DEFAULT, 'v', 1, -1, 0, LAYER_FRONT, 0, +color_box_struct default_color_box = {SMCOLOR_BOX_DEFAULT, 'v', 1, LT_BLACK, LAYER_FRONT, 0, {screen, screen, screen, 0.90, 0.2, 0.0}, {screen, screen, screen, 0.05, 0.6, 0.0}, FALSE, {0,0,0,0} }; @@ -555,16 +555,22 @@ vertex_is_inside(gpiPoint test_vertex, gpiPoint *clip_boundary) void intersect_polyedge_with_boundary(gpiPoint first, gpiPoint second, gpiPoint *intersect, gpiPoint *clip_boundary) { - /* this routine is called only if one point is outside and the other - is inside, which implies that clipping is needed at a horizontal - boundary, that second.y is different from first.y and no division - by zero occurs. Same for vertical boundary and x coordinates. */ + /* This routine is called only if one point is outside and the other + * is inside, which implies that clipping is needed at a horizontal + * boundary, that second.y is different from first.y and no division + * by zero occurs. Same for vertical boundary and x coordinates. + * Conversion to double is needed to prevent integer overflow. + */ + double dx = (second.x - first.x); + double dy = (second.y - first.y); if (clip_boundary[0].y == clip_boundary[1].y) { /* horizontal */ (*intersect).y = clip_boundary[0].y; - (*intersect).x = first.x + (clip_boundary[0].y - first.y) * (second.x - first.x)/(second.y - first.y); + (*intersect).x = first.x + + (double)(clip_boundary[0].y - first.y) * dx/dy; } else { /* vertical */ (*intersect).x = clip_boundary[0].x; - (*intersect).y = first.y + (clip_boundary[0].x - first.x) * (second.y - first.y)/(second.x - first.x); + (*intersect).y = first.y + + (double)(clip_boundary[0].x - first.x) * dy/dx; } } @@ -782,12 +788,14 @@ apply_pm3dcolor(struct t_colorspec *tc) return; } if (tc->type == TC_RGB) { - /* FIXME: several plausible ways for monochrome terminals to handle color request + /* There are several plausible ways monochrome terminals might handle color request * (1) Allow all color requests despite the label "monochrome" * (2) Choose any color you want so long as it is black * (3) Convert colors to gray scale (NTSC?) + * + * We go for a modified (1): + * Monochrome terminals are still allowed to display rgb variable colors. */ - /* Monochrome terminals are still allowed to display rgb variable colors */ if (monochrome_terminal && tc->value >= 0) t->set_color(&black); else @@ -870,9 +878,16 @@ apply_head_properties(struct arrow_style_type *arrow_properties) double effective_aspect_ratio(void) { #ifdef _WIN32 - if (strcmp(term->name, "windows") == 0) - return 1.0; + if (strcmp(term->name, "windows") == 0) { + double xscale = (axis_array[FIRST_X_AXIS].term_upper - axis_array[FIRST_X_AXIS].term_lower) + / (axis_array[FIRST_X_AXIS].max - axis_array[FIRST_X_AXIS].min); + double yscale = (axis_array[FIRST_Y_AXIS].term_upper - axis_array[FIRST_Y_AXIS].term_lower) + / (axis_array[FIRST_Y_AXIS].max - axis_array[FIRST_Y_AXIS].min); + double aspect_ratio = fabs(yscale/xscale); + return aspect_ratio; + } #endif + return (double)term->v_tic / (double)term->h_tic; } @@ -985,18 +1000,23 @@ write_label(int x, int y, struct text_label *this_label) if (textbox->opaque) { apply_pm3dcolor(&textbox->fillcolor); (*term->boxed_text)(0,0, TEXTBOX_BACKGROUNDFILL); - apply_pm3dcolor(&(this_label->textcolor)); - /* Init for each of fill and border */ - if (!textbox->noborder) - (*term->boxed_text)(x + htic, y + vtic, TEXTBOX_INIT); - if (this_label->rotate && (*term->text_angle) (this_label->rotate)) { - write_multiline(x + htic, y + vtic, this_label->text, - this_label->pos, justify, this_label->rotate, - this_label->font); - (*term->text_angle) (0); - } else { - write_multiline(x + htic, y + vtic, this_label->text, - this_label->pos, justify, 0, this_label->font); + /* The epslatex/cairolatex terminals reuse a previously saved textbox + * so explicitly re-writing it here is at best redundant. + */ + if ((term->flags & TERM_REUSES_BOXTEXT) == 0) { + apply_pm3dcolor(&(this_label->textcolor)); + /* Init for each of fill and border */ + if (!textbox->noborder) + (*term->boxed_text)(x + htic, y + vtic, TEXTBOX_INIT); + if (this_label->rotate && (*term->text_angle) (this_label->rotate)) { + write_multiline(x + htic, y + vtic, this_label->text, + this_label->pos, justify, this_label->rotate, + this_label->font); + (*term->text_angle) (0); + } else { + write_multiline(x + htic, y + vtic, this_label->text, + this_label->pos, justify, 0, this_label->font); + } } } diff --git a/src/gadgets.h b/src/gadgets.h index dfac5c1a7..6db90d77b 100644 --- a/src/gadgets.h +++ b/src/gadgets.h @@ -424,7 +424,6 @@ typedef struct { char rotation; /* 'v' or 'h' vertical or horizontal box */ char border; /* if non-null, a border will be drawn around the box (default) */ int border_lt_tag; - int cbtics_lt_tag; int layer; /* front or back */ int xoffset; /* To adjust left or right, e.g. for y2tics */ struct position origin; @@ -611,18 +610,18 @@ extern struct object default_rectangle; extern struct object default_circle; #define DEFAULT_CIRCLE_STYLE { NULL, -1, 0, OBJ_CIRCLE, OBJ_CLIP, \ - {FS_SOLID, 100, 0, BLACK_COLORSPEC}, \ - {0, LT_BACKGROUND, 0, DASHTYPE_SOLID, 0, 0, 1.0, 0.0, DEFAULT_P_CHAR, BACKGROUND_COLORSPEC, DEFAULT_DASHPATTERN}, \ + {FS_EMPTY, 100, 0, {TC_DEFAULT, -2, 0}}, \ + {0, LT_BACKGROUND, 0, DASHTYPE_SOLID, 0, 0, 1.0, 0.0, DEFAULT_P_CHAR, BLACK_COLORSPEC, DEFAULT_DASHPATTERN}, \ {.circle = {1, {0,0,0,0.,0.,0.}, {graph,0,0,0.02,0.,0.}, 0., 360., TRUE }} } extern struct object default_ellipse; #define DEFAULT_ELLIPSE_STYLE { NULL, -1, 0, OBJ_ELLIPSE, OBJ_CLIP, \ - {FS_SOLID, 100, 0, BLACK_COLORSPEC}, \ - {0, LT_BACKGROUND, 0, DASHTYPE_SOLID, 0, 0, 1.0, 0.0, DEFAULT_P_CHAR, BACKGROUND_COLORSPEC, DEFAULT_DASHPATTERN}, \ + {FS_EMPTY, 100, 0, {TC_DEFAULT, -2, 0}}, \ + {0, LT_BACKGROUND, 0, DASHTYPE_SOLID, 0, 0, 1.0, 0.0, DEFAULT_P_CHAR, BLACK_COLORSPEC, DEFAULT_DASHPATTERN}, \ {.ellipse = {ELLIPSEAXES_XY, {0,0,0,0.,0.,0.}, {graph,graph,0,0.05,0.03,0.}, 0. }} } #define DEFAULT_POLYGON_STYLE { NULL, -1, 0, OBJ_POLYGON, OBJ_CLIP, \ - {FS_SOLID, 100, 0, BLACK_COLORSPEC}, \ + {FS_EMPTY, 100, 0, {TC_DEFAULT, -2, 0}}, \ {0, LT_BLACK, 0, DASHTYPE_SOLID, 0, 0, 1.0, 0.0, DEFAULT_P_CHAR, BLACK_COLORSPEC, DEFAULT_DASHPATTERN}, \ {.polygon = {0, NULL} } } diff --git a/src/getcolor.c b/src/getcolor.c index 24d342e7f..abad3e0d3 100644 --- a/src/getcolor.c +++ b/src/getcolor.c @@ -79,12 +79,10 @@ palettes_differ(t_sm_palette *p1, t_sm_palette *p2) if (strcmp(p1->Cfunc.definition, p2->Cfunc.definition)) return 1; break; - case SMPAL_COLOR_MODE_GRADIENT: { - int i=0; - + case SMPAL_COLOR_MODE_GRADIENT: if (p1->gradient_num != p2->gradient_num) return 1; - for (i=0; i<p1->gradient_num; ++i) { + for (int i=0; i<p1->gradient_num; ++i) { if (p1->gradient[i].pos != p2->gradient[i].pos) return 1; if (p1->gradient[i].col.r != p2->gradient[i].col.r) @@ -96,9 +94,9 @@ palettes_differ(t_sm_palette *p1, t_sm_palette *p2) } break; case SMPAL_COLOR_MODE_CUBEHELIX: + case SMPAL_COLOR_MODE_VIRIDIS: return 1; break; - } /* case GRADIENT */ } /* switch() */ return 0; /* no real difference found */ @@ -240,6 +238,7 @@ color_components_from_gray(double gray, rgb_color *color) color->b = GetColorValueFromFormula(sm_palette.formulaB, gray); break; case SMPAL_COLOR_MODE_GRADIENT: + case SMPAL_COLOR_MODE_VIRIDIS: interpolate_color_from_gray(gray, color); break; #ifndef GPLT_X11_MODE diff --git a/src/gp_types.h b/src/gp_types.h index b75255288..47ed81e89 100644 --- a/src/gp_types.h +++ b/src/gp_types.h @@ -126,6 +126,7 @@ typedef enum PLOT_STYLE { SPIDERPLOT = 37*PLOT_STYLE_BITS + PLOT_STYLE_HAS_FILL + PLOT_STYLE_HAS_POINT, POLYGONS = 38*PLOT_STYLE_BITS + PLOT_STYLE_HAS_FILL, POLYGONMASK = 39*PLOT_STYLE_BITS, + SECTORS = 40*PLOT_STYLE_BITS + PLOT_STYLE_HAS_LINE + PLOT_STYLE_HAS_FILL, PLOT_STYLE_NONE = -1 } PLOT_STYLE; @@ -153,6 +154,8 @@ typedef enum PLOT_FILTER { FILTER_NONE = 0, FILTER_BINS, FILTER_CONVEX_HULL, + FILTER_CONCAVE_HULL, + FILTER_DELAUNAY, FILTER_MASK, FILTER_ZSORT, FILTER_SHARPEN @@ -220,7 +223,11 @@ typedef enum coord_type { * If the C compiler pads struct coordinate to an 8-byte boundary * (true for all the compilers I have tested) then there is a hole * that we might as well use to hold an extra coordinate property. + * The Delaunay triangulation code needs this extra storage. */ +#if defined(WITH_CHI_SHAPES) && !(defined(WITH_EXTRA_COORDINATE)) + #define WITH_EXTRA_COORDINATE +#endif #ifdef WITH_EXTRA_COORDINATE #define EXTRA_COORDINATE int extra; #else diff --git a/src/gplt_x11.c b/src/gplt_x11.c index 3ff6318b0..47755cd17 100644 --- a/src/gplt_x11.c +++ b/src/gplt_x11.c @@ -4747,7 +4747,7 @@ process_event(XEvent *event) #endif /* DISABLE_SPACE_RAISES_CONSOLE */ case 'm': /* Toggle mouse display, but only if we control the window here */ - if (((plot != current_plot) && (!modifier_mask)) + if ((plot && (plot != current_plot) && (!modifier_mask)) #ifdef PIPE_IPC || pipe_died #endif @@ -4783,7 +4783,7 @@ process_event(XEvent *event) gp_exec_event(GE_keypress, \ (int)RevX(event->xkey.x), (int)RevY(event->xkey.y), \ gp_keysym, 0, plot->plot_number); \ - } else { \ + } else if (plot) { \ gp_exec_event(GE_keypress_old, \ (int)RevX(event->xkey.x), (int)RevY(event->xkey.y), \ gp_keysym, 0, plot->plot_number); \ diff --git a/src/graph3d.c b/src/graph3d.c index 8ca5f3a4c..b808b822d 100644 --- a/src/graph3d.c +++ b/src/graph3d.c @@ -72,6 +72,7 @@ static int key_title_extra; /* allow room for subscript/superscript */ static int key_title_width; static int key_width; static int key_height; +static int key_font_hchar; /* is contouring wanted ? */ t_contour_placement draw_contour = CONTOUR_NONE; @@ -334,13 +335,22 @@ boundary3d(struct surface_points *plots, int count) key_entry_height = t->v_char * key->vert_factor; } + /* string lengths for internal key layout (other than the title) + * use the key font. Save it for later use. + */ + if (key->font) + t->set_font(key->font); + key_font_hchar = t->h_char; + if (key->font) + t->set_font(""); + /* Approximate width of titles is used to determine number of rows, cols * The actual widths will be recalculated later */ max_ptitl_len = find_maxl_keys3d(plots, count, &ptitl_cnt); key_title_width = label_width(key->title.text, &i) * t->h_char; ktitle_lines = i; - key_col_wth = (max_ptitl_len + 4) * t->h_char + key_sample_width; + key_col_wth = (max_ptitl_len + 4) * key_font_hchar + key_sample_width; if (lmargin.scalex == screen) plot_bounds.xleft = lmargin.x * (double)t->xmax + 0.5; @@ -377,7 +387,7 @@ boundary3d(struct surface_points *plots, int count) if (ptitl_cnt > 0) { /* calculate max no cols, limited by label-length */ key_cols = (plot_bounds.xright - plot_bounds.xleft) - / ((max_ptitl_len + 4) * t->h_char + key_sample_width); + / ((max_ptitl_len + 4) * key_font_hchar + key_sample_width); if (key_cols == 0) key_cols = 1; key_rows = ((ptitl_cnt - 1)/ key_cols) + 1; @@ -471,7 +481,7 @@ boundary3d(struct surface_points *plots, int count) plot_bounds.xleft += key_width; } - /* Make room for the colorbar to the right of the plot */ + /* Make room for the colorbox to the right of the plot */ if (splot_map && is_plot_with_colorbox() && rmargin.scalex != screen) { if ((color_box.where != SMCOLOR_BOX_NO) && (color_box.where != SMCOLOR_BOX_USER)) plot_bounds.xright -= 0.1 * (plot_bounds.xright-plot_bounds.xleft); @@ -1139,23 +1149,6 @@ do_3dplot( } } - if (lkey - && (!this_plot->title_position || this_plot->title_position->scalex != character)) { - char *title = this_plot->title; - - if (this_plot->title_is_automated && (term->flags & TERM_IS_LATEX)) - title = texify_title(title, this_plot->plot_type); - - if (key->textcolor.type != TC_DEFAULT) - /* Draw key text in same color as key title */ - apply_pm3dcolor(&key->textcolor); - else - /* Draw key text in black */ - (*t->linetype)(LT_BLACK); - ignore_enhanced(this_plot->title_no_enhanced); - key_text(xl, yl, title); - ignore_enhanced(FALSE); - } term_apply_lp_properties(&(this_plot->lp_properties)); /* Voxel data is a special case. @@ -1298,6 +1291,7 @@ do_3dplot( case CANDLESTICKS: case BOXPLOT: case FINANCEBARS: + case SECTORS: /* These should have been caught in plot3d */ int_error(NO_CARET, "plot style not supported in 3D"); break; @@ -1316,100 +1310,125 @@ do_3dplot( /* Next draw the key sample */ if (lkey - && (!this_plot->title_position || this_plot->title_position->scalex != character)) - switch (this_plot->plot_style) { - case FILLEDCURVES: - case IMPULSES: - if (!(hidden3d && draw_this_surface)) - key_sample_line(xl, yl); - break; - case STEPS: /* HBB: I think these should be here */ - case FILLSTEPS: - case FSTEPS: - case HISTEPS: - case SURFACEGRID: - case LINES: - /* Normal case (surface) */ - if (draw_this_surface) - key_sample_line_pm3d(this_plot, xl, yl); - /* Contour plot with no surface, all contours use the same linetype */ - else if (this_plot->contours != NULL && clabel_onecolor) { - key_sample_line(xl, yl); - } - break; - case YERRORLINES: /* ignored; treat like points */ - case XERRORLINES: /* ignored; treat like points */ - case XYERRORLINES: /* ignored; treat like points */ - case YERRORBARS: /* ignored; treat like points */ - case XERRORBARS: /* ignored; treat like points */ - case XYERRORBARS: /* ignored; treat like points */ - case BOXXYERROR: /* HBB: ignore these as well */ - case BOXERROR: - case CANDLESTICKS: /* HBB: ditto */ - case BOXPLOT: - case FINANCEBARS: - case ELLIPSES: - case POINTSTYLE: - if (this_plot->plot_type == VOXELDATA) { - if (this_plot->lp_properties.pm3d_color.type == TC_Z) - set_color(0.5); - key_sample_point(this_plot, xl, yl, this_plot->lp_properties.p_type); - } else - - if (draw_this_surface) - key_sample_point_pm3d(this_plot, xl, yl, this_plot->lp_properties.p_type); - break; + && (!this_plot->title_position || this_plot->title_position->scalex != character)) { + char *title = this_plot->title; + term->layer(TERM_LAYER_BEGIN_KEYSAMPLE); - case LABELPOINTS: - if ((this_plot->labels->lp_properties.flags & LP_SHOW_POINTS)) { - term_apply_lp_properties(&this_plot->labels->lp_properties); - key_sample_point(this_plot, xl, yl, this_plot->labels->lp_properties.p_type); - } - break; + /* Key title text */ + if (this_plot->title_is_automated && (term->flags & TERM_IS_LATEX)) + title = texify_title(title, this_plot->plot_type); - case LINESPOINTS: - if (draw_this_surface) { - if (this_plot->lp_properties.l_type != LT_NODRAW) + if (key->textcolor.type != TC_DEFAULT) + /* Draw key text in same color as key title */ + apply_pm3dcolor(&key->textcolor); + else + /* Draw key text in black */ + (*t->linetype)(LT_BLACK); + ignore_enhanced(this_plot->title_no_enhanced); + key_text(xl, yl, title); + ignore_enhanced(FALSE); + + /* Draw sample in same style and color as the corresponding plot */ + term_apply_lp_properties(&this_plot->lp_properties); + + switch (this_plot->plot_style) { + case FILLEDCURVES: + case IMPULSES: + if (!(hidden3d && draw_this_surface)) + key_sample_line(xl, yl); + break; + case STEPS: /* HBB: I think these should be here */ + case FILLSTEPS: + case FSTEPS: + case HISTEPS: + case SURFACEGRID: + case LINES: + /* Normal case (surface) */ + if (draw_this_surface) key_sample_line_pm3d(this_plot, xl, yl); - key_sample_point_pm3d(this_plot, xl, yl, this_plot->lp_properties.p_type); - } - break; + /* Contour plot with no surface, all contours use the same linetype */ + else if (this_plot->contours != NULL && clabel_onecolor) { + key_sample_line(xl, yl); + } + break; + case YERRORLINES: /* ignored; treat like points */ + case XERRORLINES: /* ignored; treat like points */ + case XYERRORLINES: /* ignored; treat like points */ + case YERRORBARS: /* ignored; treat like points */ + case XERRORBARS: /* ignored; treat like points */ + case XYERRORBARS: /* ignored; treat like points */ + case BOXXYERROR: /* HBB: ignore these as well */ + case BOXERROR: + case CANDLESTICKS: /* HBB: ditto */ + case BOXPLOT: + case FINANCEBARS: + case ELLIPSES: + case POINTSTYLE: + if (this_plot->plot_type == VOXELDATA) { + if (this_plot->lp_properties.pm3d_color.type == TC_Z) + set_color(0.5); + key_sample_point(this_plot, xl, yl, this_plot->lp_properties.p_type); + } else + + if (draw_this_surface) + key_sample_point_pm3d(this_plot, xl, yl, this_plot->lp_properties.p_type); + break; - case DOTS: - if (draw_this_surface) - key_sample_point_pm3d(this_plot, xl, yl, -1); - break; + case LABELPOINTS: + if ((this_plot->labels->lp_properties.flags & LP_SHOW_POINTS)) { + term_apply_lp_properties(&this_plot->labels->lp_properties); + key_sample_point(this_plot, xl, yl, this_plot->labels->lp_properties.p_type); + } + break; - case VECTOR: - key_sample_line_pm3d(this_plot, xl, yl); - break; + case LINESPOINTS: + if (draw_this_surface) { + if (this_plot->lp_properties.l_type != LT_NODRAW) + key_sample_line_pm3d(this_plot, xl, yl); + key_sample_point_pm3d(this_plot, xl, yl, this_plot->lp_properties.p_type); + } + break; - case ZERRORFILL: - apply_pm3dcolor(&this_plot->fill_properties.border_color); - key_sample_fill(xl, yl, this_plot); - term_apply_lp_properties(&this_plot->lp_properties); - key_sample_line(xl, yl); - break; + case DOTS: + if (draw_this_surface) + key_sample_point_pm3d(this_plot, xl, yl, -1); + break; - case BOXES: - case CIRCLES: - apply_pm3dcolor(&this_plot->lp_properties.pm3d_color); - if (this_plot->iso_crvs) - check3d_for_variable_color(this_plot, this_plot->iso_crvs->points); - key_sample_fill(xl, yl, this_plot); - break; + case VECTOR: + key_sample_line_pm3d(this_plot, xl, yl); + break; - case ISOSURFACE: - apply_pm3dcolor(&this_plot->fill_properties.border_color); - key_sample_fill(xl, yl, this_plot); - break; + case ZERRORFILL: + /* zerrorfill colors are weird (as in "backwards") */ + apply_pm3dcolor(&this_plot->lp_properties.pm3d_color); + key_sample_fill(xl, yl, this_plot); + term_apply_lp_properties(&this_plot->lp_properties); + apply_pm3dcolor(&this_plot->fill_properties.border_color); + key_sample_line(xl, yl); + break; - case PLOT_STYLE_NONE: - /* cannot happen */ - default: - break; + case BOXES: + case CIRCLES: + apply_pm3dcolor(&this_plot->lp_properties.pm3d_color); + if (this_plot->iso_crvs) + check3d_for_variable_color(this_plot, this_plot->iso_crvs->points); + key_sample_fill(xl, yl, this_plot); + break; + + case ISOSURFACE: + apply_pm3dcolor(&this_plot->fill_properties.border_color); + key_sample_fill(xl, yl, this_plot); + break; + + case PLOT_STYLE_NONE: + /* cannot happen */ + default: + break; - } /* switch(plot-style) key sample */ + } /* switch(plot-style) key sample */ + + term->layer(TERM_LAYER_END_KEYSAMPLE); + } /* If the title went somewhere other than the key, * restore the previous key position. @@ -1434,11 +1453,7 @@ do_3dplot( while (cntrs) { if (!clabel_onecolor && cntrs->isNewLevel) { - if (key->visible && !this_plot->title_is_suppressed - && this_plot->plot_style != LABELPOINTS) { - (*t->linetype)(LT_BLACK); - key_text(xl, yl, cntrs->label); - } + if (thiscontour_lp_properties.pm3d_color.type == TC_Z) set_color( cb2gray(cntrs->z) ); else { @@ -1464,12 +1479,23 @@ do_3dplot( * this_plot->lp_properties.l_width; thiscontour_lp_properties.d_type = ls.d_type; thiscontour_lp_properties.custom_dash_pattern = ls.custom_dash_pattern; - term_apply_lp_properties(&thiscontour_lp_properties); +// term_apply_lp_properties(&thiscontour_lp_properties); } + /* Key entry */ if (key->visible && !this_plot->title_is_suppressed && !(this_plot->plot_style == LABELPOINTS)) { + term->layer(TERM_LAYER_BEGIN_KEYSAMPLE); + + /* Contour label always black; restore color afterwards */ + (*t->linetype)(LT_BLACK); + key_text(xl, yl, cntrs->label); + if (thiscontour_lp_properties.pm3d_color.type == TC_Z) + set_color( cb2gray(cntrs->z) ); + else + term_apply_lp_properties(&thiscontour_lp_properties); + switch (this_plot->plot_style) { case IMPULSES: case LINES: @@ -1492,9 +1518,16 @@ do_3dplot( break; } /* switch */ + term->layer(TERM_LAYER_END_KEYSAMPLE); + NEXT_KEY_LINE(); - } /* key */ + } else /* No key entry */ { + if (thiscontour_lp_properties.pm3d_color.type == TC_Z) + set_color( cb2gray(cntrs->z) ); + else + term_apply_lp_properties(&thiscontour_lp_properties); + } } /* clabel_onecolor */ /* now draw the contour */ @@ -3453,10 +3486,12 @@ map3d_getposition( plot_coords = TRUE; break; case screen: - screen_coords = TRUE; + if (!splot_map) + screen_coords = TRUE; break; case character: - char_coords = TRUE; + if (!splot_map) + char_coords = TRUE; break; } @@ -3565,7 +3600,6 @@ key_text(int xl, int yl, char *text) if (key->invert) INVERT_KEY(); - (term->layer)(TERM_LAYER_BEGIN_KEYSAMPLE); if (key->just == GPKEY_LEFT) { write_multiline(xl + key_text_left, yl, text, LEFT, JUST_TOP, 0, key->font); } else { @@ -3576,7 +3610,6 @@ key_text(int xl, int yl, char *text) write_multiline(x, yl, text, LEFT, JUST_TOP, 0, key->font); } } - (term->layer)(TERM_LAYER_END_KEYSAMPLE); } static void @@ -3594,10 +3627,7 @@ key_sample_line(int xl, int yl) if (key->invert) INVERT_KEY(); - (term->layer)(TERM_LAYER_BEGIN_KEYSAMPLE); draw_clip_line(xl + key_sample_left, yl, xl + key_sample_right, yl); - (term->layer)(TERM_LAYER_END_KEYSAMPLE); - clip_area = clip_save; } @@ -3617,7 +3647,6 @@ key_sample_point(struct surface_points *this_plot, int xl, int yl, int pointtype if (key->invert) INVERT_KEY(); - (term->layer)(TERM_LAYER_BEGIN_KEYSAMPLE); if (!clip_point(xl + key_point_offset, yl)) { if (pointtype == PT_CHARACTER && this_plot) { apply_pm3dcolor(&(this_plot->labels->textcolor)); @@ -3628,8 +3657,6 @@ key_sample_point(struct surface_points *this_plot, int xl, int yl, int pointtype (*term->point) (xl + key_point_offset, yl, pointtype); } } - (term->layer)(TERM_LAYER_END_KEYSAMPLE); - clip_area = clip_save; } @@ -3651,7 +3678,6 @@ key_sample_fill(int xl, int yl, struct surface_points *this_plot) if (!(term->fillbox)) return; - (term->layer)(TERM_LAYER_BEGIN_KEYSAMPLE); if (this_plot->plot_style == CIRCLES) { do_arc(x+w/2, yl, key_entry_height/4, 0., 360., style, FALSE); @@ -3662,7 +3688,6 @@ key_sample_fill(int xl, int yl, struct surface_points *this_plot) } else if (w > 0) { (term->fillbox)(style,x,y,w,h); - /* FIXME: what other plot styles want a border on the key sample? */ if ((this_plot->plot_style & PLOT_STYLE_HAS_PM3DBORDER)) { if (pm3d.border.l_type != LT_NODRAW && pm3d.border.l_type != LT_DEFAULT) term_apply_lp_properties(&pm3d.border); @@ -3674,8 +3699,6 @@ key_sample_fill(int xl, int yl, struct surface_points *this_plot) closepath(); } } - - (term->layer)(TERM_LAYER_END_KEYSAMPLE); } @@ -4218,17 +4241,17 @@ do_3dkey_layout(legend_key *key, int *xinkey, int *yinkey) if (key->reverse) { key_sample_left = -key_sample_width; key_sample_right = 0; - key_text_left = t->h_char; - key_text_right = t->h_char * (max_ptitl_len + 1); - key_size_right = t->h_char * (max_ptitl_len + 2 + key->width_fix); - key_size_left = t->h_char + key_sample_width; + key_text_left = key_font_hchar; + key_text_right = key_font_hchar * (max_ptitl_len + 1); + key_size_right = key_font_hchar * (max_ptitl_len + 2 + key->width_fix); + key_size_left = key_font_hchar + key_sample_width; } else { key_sample_left = 0; key_sample_right = key_sample_width; - key_text_left = -(t->h_char * (max_ptitl_len + 1)); - key_text_right = -(t->h_char); - key_size_left = t->h_char * (max_ptitl_len + 2 + key->width_fix); - key_size_right = t->h_char + key_sample_width; + key_text_left = -(key_font_hchar * (max_ptitl_len + 1)); + key_text_right = -(key_font_hchar); + key_size_left = key_font_hchar * (max_ptitl_len + 2 + key->width_fix); + key_size_right = key_font_hchar + key_sample_width; } key_point_offset = (key_sample_left + key_sample_right) / 2; diff --git a/src/graph3d.h b/src/graph3d.h index 5017f9d27..4366ca5bd 100644 --- a/src/graph3d.h +++ b/src/graph3d.h @@ -101,7 +101,7 @@ typedef struct surface_points { TBOOLEAN pm3d_color_from_column; TBOOLEAN has_grid_topology; int hidden3d_top_linetype; /* before any calls to load_linetype() */ - int iteration; /* needed for tracking iteration */ + void *iteration; /* needed for tracking iteration */ struct vgrid *vgrid; /* used only for voxel plots */ double iso_level; /* used only for voxel plots */ diff --git a/src/graphics.c b/src/graphics.c index ce920da89..a468e7361 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -137,6 +137,7 @@ static void get_arrow(struct arrow_def* arrow, double* sx, double* sy, double* e static void map_position_double(struct position* pos, double* x, double* y, const char* what); static void plot_circles(struct curve_points *plot); +static void plot_sectors(struct curve_points *plot); static void plot_ellipses(struct curve_points *plot); static void do_rectangle(int dimensions, t_object *this_object, fill_style_type *fillstyle); static void do_polygon(int dimensions, t_object *this_object, int style, int facing ); @@ -512,7 +513,8 @@ place_objects(struct object *listhead, int layer, int dimensions) || (this_object->clip == OBJ_NOCLIP)) clip_area = &canvas; - do_arc((int)x1, (int)y1, radius, e->arc_begin, e->arc_end, style, FALSE); + if (style != FS_EMPTY) + do_arc((int)x1, (int)y1, radius, e->arc_begin, e->arc_end, style, FALSE); /* Retrace the border if the style requests it */ if (need_fill_border(fillstyle)) @@ -688,7 +690,7 @@ do_plot(struct curve_points *plots, int pcount) term_start_plot(); /* Figure out if we need a colorbox for this plot */ - set_plot_with_palette(0, MODE_PLOT); /* EAM FIXME - 1st parameter is a dummy */ + set_plot_with_palette(0, MODE_PLOT); /* Compute boundary plot_bounds.{xleft|xright|ytop|ybot}. * Also calculate tics, since xtics depend on plot_bounds.xleft @@ -949,21 +951,29 @@ do_plot(struct curve_points *plots, int pcount) memcpy(&this_plot->filledcurves_options, &filledcurves_opts_func, sizeof(filledcurves_opts)); } + + if (this_plot->filledcurves_options.closeto == FILLEDCURVES_ATY1 + && this_plot->filledcurves_options.at > axis_array[FIRST_Y_AXIS].max) + this_plot->filledcurves_options.closeto = FILLEDCURVES_X2; + if (this_plot->filledcurves_options.closeto == FILLEDCURVES_BETWEEN || this_plot->filledcurves_options.closeto == FILLEDCURVES_ABOVE || this_plot->filledcurves_options.closeto == FILLEDCURVES_BELOW) { plot_betweencurves(this_plot); - } else if (!this_plot->plot_smooth && + + } else if (!this_plot->plot_smooth && !parametric && (this_plot->filledcurves_options.closeto == FILLEDCURVES_ATY1 || this_plot->filledcurves_options.closeto == FILLEDCURVES_ATY2 || this_plot->filledcurves_options.closeto == FILLEDCURVES_ATR)) { - /* Smoothing may have trashed the original contents */ - /* of the 2nd y data column, so piggybacking on the */ - /* code for FILLEDCURVES_BETWEEN will not work. */ - /* FIXME: Maybe piggybacking is always a bad idea? */ - /* IIRC the original rationale was to get better clipping */ - /* but the general polygon clipping code should now work. */ + /* Smoothing may have trashed the original contents of the + * 2nd y data column, and parametric code never loaded it at all. + * Either way piggybacking on FILLEDCURVES_BETWEEN will not work. + * FIXME: Maybe piggybacking is always a bad idea? + * IIRC the original rationale was to get better clipping + * but the general polygon clipping code should now work. + */ plot_betweencurves(this_plot); + } else { plot_filledcurves(this_plot); } @@ -1015,6 +1025,10 @@ do_plot(struct curve_points *plots, int pcount) plot_circles(this_plot); break; + case SECTORS: + plot_sectors(this_plot); + break; + case ELLIPSES: plot_ellipses(this_plot); break; @@ -1271,8 +1285,13 @@ plot_lines(struct curve_points *plot) (void)zprev; /* prevents unused variable warning #ifndef USE_WATCHPOINTS */ - /* rgb variable - color read from data column */ - check_for_variable_color(plot, &plot->varcolor[i]); + /* rgb variable or palette z - color is read from data column + * Exception: + * If we are retracing the border of a filled curve or polygon + * the color has already been set to the border color. + */ + if (plot->plot_style != FILLEDCURVES && plot->plot_style != POLYGONS) + check_for_variable_color(plot, &plot->varcolor[i]); /* Only map and plot the point if it is well-behaved (not UNDEFINED). * Note that map_x or map_y can hit NaN during eval_link_function(), @@ -1368,7 +1387,13 @@ finish_filled_curve( long side = 0; int i; - if (points <= 0) return; + if (points <= 0) + return; + + /* plot with polygons fs empty really does mean empty (no fill) */ + if (plot->plot_style == POLYGONS && plot->fill_properties.fillstyle == FS_EMPTY) + return; + /* add side (closing) points */ switch (filledcurves_options->closeto) { case FILLEDCURVES_CLOSED: @@ -1503,6 +1528,7 @@ plot_filledcurves(struct curve_points *plot) axis_array[FIRST_Y_AXIS].min, axis_array[FIRST_Y_AXIS].max); break; default: + case FILLEDCURVES_CLOSED: break; } @@ -2175,17 +2201,16 @@ plot_boxes(struct curve_points *plot, int xaxis_y) for (nextdef = i+1; nextdef < plot->p_count; nextdef++) if (plot->points[nextdef].type != UNDEFINED) break; - if (nextdef == plot->p_count) /* i is the last non-UNDEFINED point */ - nextdef = i; - if (boxwidth < 0) - dxr = (plot->points[nextdef].x - plot->points[i].x) / 2.0; - else if (!boxwidth_is_absolute) - dxr = (plot->points[nextdef].x - plot->points[i].x) * boxwidth / 2.0; - else /* Hits here on 3 column BOXERRORBARS */ - dxr = boxwidth / 2.0; - - if (plot->points[nextdef].type == UNDEFINED) + if (nextdef < plot->p_count) { + if (boxwidth < 0) + dxr = (plot->points[nextdef].x - plot->points[i].x) / 2.0; + else if (!boxwidth_is_absolute) + dxr = (plot->points[nextdef].x - plot->points[i].x) * boxwidth / 2.0; + else /* Hits here on 3 column BOXERRORBARS */ + dxr = boxwidth / 2.0; + } else { /* i is the last non-UNDEFINED point */ dxr = -dxl; + } } else { dxr = -dxl; @@ -2460,8 +2485,8 @@ plot_points(struct curve_points *plot) /* Feb 2016: variable point type */ if ((plot->plot_style == POINTSTYLE || plot->plot_style == LINESPOINTS - || plot->plot_style == YERRORLINES - || plot->plot_style == YERRORBARS) + || (!polar && (plot->plot_style == YERRORLINES)) + || (!polar && (plot->plot_style == YERRORBARS))) && (plot->lp_properties.p_type == PT_VARIABLE) && !(isnan(plot->points[i].CRD_PTTYPE))) { pointtype = plot->points[i].CRD_PTTYPE - 1; @@ -2469,14 +2494,22 @@ plot_points(struct curve_points *plot) pointtype = plot->lp_properties.p_type; } - /* A negative interval indicates we should try to blank out the */ - /* area behind the point symbol. This could be done better by */ - /* implementing a special point type, but that would require */ - /* modification to all terminal drivers. It might be worth it. */ - /* term_apply_lp_properties will restore the point type and size*/ + /* A negative interval indicates we should try to blank out the + * area behind the point symbol. This could be done better by + * implementing a special point type, but that would require + * modification to all terminal drivers. It might be worth it. + * term_apply_lp_properties will restore the point type and size. + * + * Version 6: apply this to all styles with error bars + * Backward-compatibility: + * pointtype -1 catches "with *errorbars lt -1" + * which the user almost certainly expected to be a solid line + */ + if ((plot->plot_style == LINESPOINTS && interval < 0) - || (plot->plot_style == YERRORBARS)) { - if (pointintervalbox != 0) { + || (plot->plot_style & PLOT_STYLE_HAS_ERRORBAR)) { + if ((pointtype != -1) + && (pointintervalbox != 0)) { (*t->set_color)(&background_fill); (*t->pointsize)(pointsize * pointintervalbox); (*t->point) (x, y, 6); @@ -2486,8 +2519,8 @@ plot_points(struct curve_points *plot) if ((plot->lp_properties.p_size == PTSZ_VARIABLE) && (plot->plot_style == POINTSTYLE || plot->plot_style == LINESPOINTS - || plot->plot_style == YERRORLINES - || plot->plot_style == YERRORBARS)) + || (plot->plot_style == YERRORLINES && !polar) + || (plot->plot_style == YERRORBARS && !polar))) (*t->pointsize)(pointsize * plot->points[i].CRD_PTSIZE); /* rgb variable - color read from data column */ @@ -2565,7 +2598,8 @@ plot_circles(struct curve_points *plot) /* rgb variable - color read from data column */ if (!check_for_variable_color(plot, &plot->varcolor[i]) && withborder) term_apply_lp_properties(&plot->lp_properties); - do_arc(x,y, radius, arc_begin, arc_end, style, FALSE); + if (style != FS_EMPTY) + do_arc(x,y, radius, arc_begin, arc_end, style, FALSE); if (withborder) { need_fill_border(&plot->fill_properties); do_arc(x,y, radius, arc_begin, arc_end, 0, default_circle.o.circle.wedge); @@ -2576,6 +2610,157 @@ plot_circles(struct curve_points *plot) clip_area = clip_save; } +/* plot_sectors: + * Plot the curves in SECTORS style + */ + +static void +plot_sectors(struct curve_points *plot) +{ + struct fill_style_type *fillstyle = &plot->fill_properties; + int style = style_from_fill(fillstyle); + double arc_begin, arc_end; + double center_x, center_y; + double corner_azimuth, corner_radius; + double sector_angle, annulus_width; + double inner_radius, outer_radius; + double ratio; + TBOOLEAN complete_circle; + TBOOLEAN withborder = FALSE; + BoundingBox *clip_save = clip_area; + double xmin = axis_array[plot->x_axis].min; + double xmax = axis_array[plot->x_axis].max; + double ymin = axis_array[plot->y_axis].min; + double ymax = axis_array[plot->y_axis].max; + double angle, delta_angle = 10*DEG2RAD/ang2rad; + double xp, yp; + int is_inrange = FALSE; + int i, k; + + if (default_circle.clip == OBJ_NOCLIP) + clip_area = &canvas; + + if (fillstyle->border_color.type != TC_LT + || fillstyle->border_color.lt != LT_NODRAW) + withborder = TRUE; + + for (i = 0; i < plot->p_count; i++) { + + center_x = plot->points[i].x; + center_y = plot->points[i].y; + corner_azimuth = plot->points[i].xlow; + corner_radius = plot->points[i].xhigh; + sector_angle = plot->points[i].ylow; + annulus_width = plot->points[i].yhigh; + complete_circle = FALSE; + + if ( annulus_width >= 0 ) { + inner_radius = corner_radius; + outer_radius = corner_radius + annulus_width; + } + else { + outer_radius = corner_radius; + inner_radius = corner_radius + annulus_width; + } + + if ( outer_radius <= 0 ) + continue; + + if ( inner_radius < 0 ) + inner_radius = 0; + + if ( sector_angle == 0.0 ) + continue; + else if ( fabs(sector_angle*ang2rad) > 2*M_PI ) { + complete_circle = TRUE; + sector_angle = 2*M_PI/ang2rad; + } + + if ( sector_angle > 0 ) { + arc_begin = corner_azimuth; + arc_end = corner_azimuth + sector_angle; + } + else { + arc_begin = corner_azimuth + sector_angle; + arc_end = corner_azimuth; + sector_angle = -sector_angle; + } + + /* range check */ + { + double aa[5] = { arc_begin+sector_angle/2, arc_begin, arc_end, arc_begin, arc_end }; + double rr[5] = { inner_radius+annulus_width/2, inner_radius, inner_radius, outer_radius, outer_radius }; + double r2[2] = { inner_radius, outer_radius }; + is_inrange = FALSE; + /* check of 4-corners */ + for (k=0; k<5; k++) { + polar_to_xy(aa[k], rr[k], &xp, &yp, FALSE); + if ( inrange(xp+center_x, xmin, xmax) && inrange(yp+center_y, ymin, ymax) ) { + is_inrange = TRUE; + break; + } + } + if ( sector_angle > 2*delta_angle ) { + for (k=0; k<2; k++) { + for (angle = arc_begin+delta_angle; angle<arc_end; angle += delta_angle) { + polar_to_xy(angle, r2[k], &xp, &yp, FALSE); + if ( inrange(xp+center_x, xmin, xmax) && inrange(yp+center_y, ymin, ymax) ) { + is_inrange = TRUE; + break; + } + } + if ( is_inrange == TRUE ) + break; + } + } + if ( is_inrange == FALSE ) + continue; + } + + /* convert center_x, center_y, inner_radius, outer_radius according to units xy|xx|yy */ + center_x = map_x_double(center_x); + center_y = map_y_double(center_y); + switch (plot->ellipseaxes_units) { + default: + case ELLIPSEAXES_XY: + inner_radius = map_x_double(inner_radius) - map_x_double(0.0); + outer_radius = map_x_double(outer_radius) - map_x_double(0.0); + ratio = (map_y_double(1.0)-map_y_double(0.0))/(map_x_double(1.0)-map_x_double(0.0)); + break; + case ELLIPSEAXES_XX: + inner_radius = map_x_double(inner_radius) - map_x_double(0.0); + outer_radius = map_x_double(outer_radius) - map_x_double(0.0); + ratio = 1.0; + break; + case ELLIPSEAXES_YY: + inner_radius = map_y_double(inner_radius) - map_y_double(0.0); + outer_radius = map_y_double(outer_radius) - map_y_double(0.0); + ratio = 1.0; + break; + } + + /* convert arc_begin, arc_end according to setting of 'set theta' */ + arc_begin = (arc_begin * theta_direction)*ang2rad + theta_origin*DEG2RAD; + arc_end = (arc_end * theta_direction)*ang2rad + theta_origin*DEG2RAD; + + /* rgb variable - color read from data column */ + if (!check_for_variable_color(plot, &plot->varcolor[i]) && withborder) + term_apply_lp_properties(&plot->lp_properties); + + if (style != FS_EMPTY) + do_sector(center_x, center_y, inner_radius, outer_radius, + arc_begin, arc_end, ratio, style, complete_circle); + + if (withborder) { + need_fill_border(&plot->fill_properties); + do_sector(center_x, center_y, inner_radius, outer_radius, + arc_begin, arc_end, ratio, 0, complete_circle); + } + } + + clip_area = clip_save; +} + /* plot_ellipses: * Plot the curves in ELLIPSES style */ @@ -4277,6 +4462,8 @@ attach_title_to_plot(struct curve_points *this_plot, legend_key *key) y = map_y(points[index].y); } + term->layer(TERM_LAYER_BEGIN_KEYSAMPLE); + if (key->textcolor.type == TC_VARIABLE) /* Draw key text in same color as plot */ ; @@ -4294,6 +4481,8 @@ attach_title_to_plot(struct curve_points *this_plot, legend_key *key) write_multiline(x, y, title, (JUSTIFY)this_plot->title_position->y, JUST_TOP, 0, key->font); + + term->layer(TERM_LAYER_END_KEYSAMPLE); } void @@ -4401,6 +4590,97 @@ do_rectangle( int dimensions, t_object *this_object, fill_style_type *fillstyle return; } +/* Generic routine for drawing annular sectors. */ + +void +do_sector( + double cx, double cy, /* Center */ + double inner_radius, /* Radius of inner arc */ + double outer_radius, /* Radius of outer arc */ + double arc_begin, double arc_end, /* Limits of arcs in Radians */ + double ratio, /* Aspect ratio of annulus (units xy|xx|yy)*/ + int style, + TBOOLEAN complete_circle) +{ + gpiPoint vertex[1000]; + int i, k, segments, points; + double aspect; + double inc, direction; + + inc = 1.0*DEG2RAD; + + if ( complete_circle ) + arc_end = arc_begin + 2*M_PI; + + direction = ( arc_end > arc_begin ) ? 1.0 : -1.0; + + segments = floor(fabs(arc_end - arc_begin) / inc); + if (segments < 1) + segments = 1; + + /* Calculate the vertices */ + aspect = ratio * ( (double)term->v_tic / (double)term->h_tic ); + + /* draw inner and outer circles for drawing border line of complete circle (sector_angle > 360). */ + if ( ! style && complete_circle ) { + double radius[2] = { inner_radius, outer_radius }; + for (k=0; k<2; k++) { + points = 0; + for (i=0; i<segments; i++) { + vertex[points].x = round(cx + cos(arc_begin + i*inc*direction) * radius[k]); + vertex[points].y = round(cy + sin(arc_begin + i*inc*direction) * radius[k] * aspect); + points++; + } + vertex[points].x = round(cx + cos(arc_begin) * radius[k]); + vertex[points].y = round(cy + sin(arc_begin) * radius[k] * aspect); + points++; + draw_clip_polygon(points, vertex); + } + return; + } + + points = 0; + + /* outer arc */ + for (i=0; i<segments; i++) { + vertex[points].x = round(cx + cos(arc_begin + i*inc*direction) * outer_radius); + vertex[points++].y = round(cy + sin(arc_begin + i*inc*direction) * outer_radius * aspect); + } + vertex[points].x = round(cx + cos(arc_end) * outer_radius); + vertex[points++].y = round(cy + sin(arc_end) * outer_radius * aspect); + /* wedge */ + vertex[points].x = round(cx + cos(arc_end) * inner_radius); + vertex[points++].y = round(cy + sin(arc_end) * inner_radius * aspect); + if ( inner_radius != 0 ) { + /* inner arc */ + for (k=segments-1,i=0; k>=0; k--,i++) { + vertex[points].x = round(cx + cos(arc_begin + k*inc*direction) * inner_radius); + vertex[points++].y = round(cy + sin(arc_begin + k*inc*direction) * inner_radius * aspect); + } + /* wedge */ + vertex[points].x = round(cx + cos(arc_begin) * outer_radius); + vertex[points++].y = round(cy + sin(arc_begin) * outer_radius * aspect); + } + else { + /* wedge */ + vertex[points].x = round(cx + cos(arc_begin) * outer_radius); + vertex[points++].y = round(cy + sin(arc_begin) * outer_radius * aspect); + } + + if (style) { /* Fill in the center */ + gpiPoint fillarea[1000]; + int in; + + clip_polygon(vertex, fillarea, points, &in); + fillarea[0].style = style; + if ((in > 1 ) && term->filled_polygon) + term->filled_polygon(in, fillarea); + + } else { /* Draw the sector */ + draw_clip_polygon(points, vertex); + } +} + void do_ellipse( int dimensions, t_ellipse *e, int style, TBOOLEAN do_own_mapping ) { @@ -4603,9 +4883,7 @@ do_polygon( int dimensions, t_object *this_object, int style, int facing ) } } else { /* Just draw the outline? */ - newpath(); draw_clip_polygon(nv, corners); - closepath(); } clip_area = clip_save; @@ -5318,6 +5596,8 @@ process_image(void *plot, t_procimg_action action) for (k=0; k<N_corners; k++) clipped[k] = corners[k]; clip_polygon(clipped, corners, N_corners, &N_corners); + if (N_corners <= 0) + continue; } /* Apply mask */ diff --git a/src/graphics.h b/src/graphics.h index 1a22c3f64..f81bb6c9f 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -125,6 +125,8 @@ void autoscale_boxplot(struct curve_points *plot); void place_objects(struct object *listhead, int layer, int dimensions); void do_ellipse(int dimensions, t_ellipse *e, int style, TBOOLEAN do_own_mapping ); +void do_sector(double cx, double cy, double rin, double rout, double arc_begin, double arc_end, double ratio, int style, TBOOLEAN complete_circle); + void place_pixmaps(int layer, int dimensions); int filter_boxplot(struct curve_points *); diff --git a/src/help.c b/src/help.c index c726db314..81cd6be2e 100644 --- a/src/help.c +++ b/src/help.c @@ -49,6 +49,9 @@ void OutLine(const char *M){fputs(M,stderr);} # include <graph.h> #endif +/* User control of help layout "set help {columns|rows}" */ +TBOOLEAN help_sort_by_rows = FALSE; + /* ** help -- help subsystem that understands defined keywords ** @@ -573,9 +576,8 @@ ShowSubtopics( * the next column is skipped */ #define COLLENGTH 18 -#ifndef COLUMN_HELP - { - /* sort subtopics by row - default */ +if (help_sort_by_rows) { + /* sort subtopics by row */ int subtopic; int spacelen = 0, ispacelen; int pos = 0; @@ -610,9 +612,9 @@ ShowSubtopics( (void) strcat(line, "\n"); OutLine_InternalPager(line); } - } -#else /* COLUMN_HELP */ - { + + } else { + /* sort subtopics by column */ int subtopic, sublen; int spacelen = 0, ispacelen; @@ -643,7 +645,6 @@ ShowSubtopics( OutLine_InternalPager(line); } } -#endif /* COLUMN_HELP */ if (subtopics) *subtopics = (subt != 0); diff --git a/src/help.h b/src/help.h index 18e194c44..14fd5d9df 100644 --- a/src/help.h +++ b/src/help.h @@ -41,6 +41,9 @@ #define H_NOTFOUND 1 /* didn't find the keyword */ #define H_ERROR (-1) /* didn't find the help file */ +/* User control of help layout */ +extern TBOOLEAN help_sort_by_rows; + /* Prototypes from file "help.c" */ int help(char *keyword, char *path, TBOOLEAN *subtopics); diff --git a/src/hidden3d.c b/src/hidden3d.c index 76011fa66..c948b0437 100644 --- a/src/hidden3d.c +++ b/src/hidden3d.c @@ -1165,6 +1165,15 @@ build_networks(struct surface_points *plots, int pcount) /* because hidden3d code mixes arrows from multiple plots. */ } + /* If the platform we are built for does not provide a stable qsort + * then we need a secondary sort key for ./configure --enable-stable-sort + * Since we will only use it for plot style LINES and that style does not + * look at the p_number property, we can store a key there for later + * access by compare_edges_by_zmin() when the vertices are sorted. + */ + if (this_plot->plot_style == LINES || this_plot->plot_style == POINTSTYLE) + this_plot->lp_properties.p_number = surface; + /* HBB 20000715: Code block for non-grid structured datasets. * EAM Jun 2020: Individual line plots can opt out of grid processing * via the combination "set surface explicit; splot ... with lines". @@ -1494,8 +1503,21 @@ build_networks(struct surface_points *plots, int pcount) static int compare_edges_by_zmin(SORTFUNC_ARGS p1, SORTFUNC_ARGS p2) { - return SIGN(vlist[elist[*(const long *) p1].v2].z + int ordering = SIGN(vlist[elist[*(const long *) p1].v2].z - vlist[elist[*(const long *) p2].v2].z); +#if defined(WITH_2ND_SORTKEY) + if (ordering == 0) { + struct lp_style_type *lp1 = vlist[elist[*(const long *) p1].v2].lp_style; + struct lp_style_type *lp2 = vlist[elist[*(const long *) p2].v2].lp_style; + if (lp1 && lp2) { + if (lp1->p_number > lp2->p_number) + ordering = 1; + else if (lp1->p_number < lp2->p_number) + ordering = -1; + } + } +#endif + return ordering; } static void @@ -1512,7 +1534,7 @@ sort_edges_by_z() for (i = 0; i < edges.end; i++) sortarray[i] = i; /* sort it */ - qsort(sortarray, (size_t) edges.end, sizeof(long), compare_edges_by_zmin); + gp_qsort(sortarray, (size_t) edges.end, sizeof(long), compare_edges_by_zmin); /* traverse plist in the order given by sortarray, and set the * 'next' pointers */ @@ -1552,7 +1574,7 @@ sort_polys_by_z() sortarray[i] = i; /* sort it */ - qsort(sortarray, (size_t) polygons.end, sizeof(long), + gp_qsort(sortarray, (size_t) polygons.end, sizeof(long), compare_polys_by_zmax); /* traverse plist in the order given by sortarray, and set the diff --git a/src/internal.c b/src/internal.c index aa64f4357..fdc122177 100644 --- a/src/internal.c +++ b/src/internal.c @@ -52,7 +52,7 @@ #endif /* - * FIXME: Any platforms that still want support for matherr should + * Any platforms that still want support for matherr should * add appropriate definitions here. Everyone else can now ignore it. * * Use of matherr is out of date on linux, since the matherr @@ -961,7 +961,7 @@ f_mult(union argument *arg) case INTGR: switch (b.type) { case INTGR: - /* FIXME: The test for overflow is complicated because (double) + /* The test for overflow is complicated because (double) * does not have enough precision to simply compare against * 64-bit INTGR_MAX. */ @@ -2045,6 +2045,7 @@ sprintf_specifier(const char* format) const char illegal_spec[] = "hlLqjzZtCSpn*"; int string_pos, real_pos, int_pos, illegal_pos; + int nonascii_pos; /* check if really format specifier */ if (format[0] != '%') @@ -2056,6 +2057,15 @@ sprintf_specifier(const char* format) int_pos = strcspn(format, int_spec); illegal_pos = strcspn(format, illegal_spec); + /* Unfortunately snprintf can segfault on weird bytes in the format */ + for (nonascii_pos=0; format[nonascii_pos]; nonascii_pos++) { + if (!isascii(format[nonascii_pos])) + break; + } + if ( nonascii_pos < int_pos && nonascii_pos < real_pos + && nonascii_pos < string_pos ) + return INVALID_NAME; + if ( illegal_pos < int_pos && illegal_pos < real_pos && illegal_pos < string_pos ) return INVALID_NAME; diff --git a/src/interpol.c b/src/interpol.c index b459f0b5d..a276c347d 100644 --- a/src/interpol.c +++ b/src/interpol.c @@ -1210,12 +1210,6 @@ compare_z(SORTFUNC_ARGS arg1, SORTFUNC_ARGS arg2) return (1); if (p1->z < p2->z) return (-1); -#ifdef WITH_EXTRA_COORDINATE - if (p1->extra > p2->extra) - return (1); - if (p1->extra < p2->extra) - return (-1); -#endif return (0); } @@ -1242,8 +1236,8 @@ sort_points(struct curve_points *plot) first_point = 0; while ((num_points = next_curve(plot, &first_point)) > 0) { - /* Sort this set of points, does qsort handle 1 point correctly? */ - qsort(plot->points + first_point, num_points, + /* Sort this set of points */ + gp_qsort(plot->points + first_point, num_points, sizeof(struct coordinate), compare_x); first_point += num_points; } @@ -1264,15 +1258,9 @@ zsort_points(struct curve_points *plot) plot->points[i].CRD_COLOR = plot->varcolor[i]; } -#ifdef WITH_EXTRA_COORDINATE - /* preserve original sequence order within equal z */ - for (i = 0; i < plot->p_count; i++) - plot->points[i].extra = i; -#endif - first_point = 0; while ((num_points = next_curve(plot, &first_point)) > 0) { - qsort(plot->points + first_point, num_points, + gp_qsort(plot->points + first_point, num_points, sizeof(struct coordinate), compare_z); first_point += num_points; } diff --git a/src/makefile.awc b/src/makefile.awc index eeebc55f3..3a0db725c 100644 --- a/src/makefile.awc +++ b/src/makefile.awc @@ -4,14 +4,14 @@ COREOBJS = alloc.$(O) amos_airy.$(O) axis.$(O) bitmap.$(O) boundary.$(O) & breaders.$(O) color.$(O) command.$(O) complexfun.$(O) contour.$(O) & datablock.$(O) datafile.$(O) dynarray.$(O) encoding.$(O) eval.$(O) & -external.$(O) fit.$(O) gadgets.$(O) getcolor.$(O) gplocale.$(O) graph3d.$(O) & -graphics.$(O) help.$(O) hidden3d.$(O) history.$(O) internal.$(O) & -interpol.$(O) jitter.$(O) libcerf.$(O) loadpath.$(O) matrix.$(O) misc.$(O) mouse.$(O) & -multiplot.$(O) parse.$(O) plot.$(O) plot2d.$(O) plot3d.$(O) pm3d.$(O) & -readline.$(O) save.$(O) scanner.$(O) set.$(O) show.$(O) specfun.$(O) & -standard.$(O) stats.$(O) stdfn.$(O) tables.$(O) tabulate.$(O) term.$(O) & -time.$(O) unset.$(O) util.$(O) util3d.$(O) voxelgrid.$(O) & -vplot.$(O) xdg.$(O) +external.$(O) filters.$(O) fit.$(O) gadgets.$(O) getcolor.$(O) & +gplocale.$(O) graph3d.$(O) graphics.$(O) help.$(O) hidden3d.$(O) & +history.$(O) internal.$(O) interpol.$(O) jitter.$(O) libcerf.$(O) & +loadpath.$(O) matrix.$(O) misc.$(O) mouse.$(O) multiplot.$(O) parse.$(O) & +plot.$(O) plot2d.$(O) plot3d.$(O) pm3d.$(O) readline.$(O) save.$(O) & +scanner.$(O) set.$(O) show.$(O) specfun.$(O) standard.$(O) stats.$(O) & +stdfn.$(O) tables.$(O) tabulate.$(O) term.$(O) time.$(O) unset.$(O) & +util.$(O) util3d.$(O) voxelgrid.$(O) vplot.$(O) watch.$(O) xdg.$(O) # List of terminal driver sources CORETERM = $(T)ai.trm $(T)aquaterm.trm $(T)be.trm $(T)block.trm & @@ -19,12 +19,12 @@ $(T)caca.trm $(T)cairo.trm $(T)canvas.trm $(T)cgm.trm $(T)context.trm & $(T)corel.trm $(T)debug.trm $(T)djsvga.trm $(T)dumb.trm $(T)dxf.trm & $(T)dxy.trm $(T)eepic.trm $(T)emf.trm $(T)epson.trm $(T)estimate.trm & $(T)excl.trm $(T)fig.trm $(T)gd.trm $(T)ggi.trm $(T)gpic.trm $(T)grass.trm & -$(T)hp26.trm $(T)hp2648.trm $(T)hp500c.trm $(T)hpgl.trm $(T)hpljii.trm & +$(T)hp2648.trm $(T)hp26.trm $(T)hp500c.trm $(T)hpgl.trm $(T)hpljii.trm & $(T)hppj.trm $(T)imagen.trm $(T)kyo.trm $(T)latex.trm $(T)linux-vgagl.trm & $(T)lua.trm $(T)metafont.trm $(T)metapost.trm $(T)mif.trm $(T)pbm.trm & $(T)pc.trm $(T)pdf.trm $(T)pict2e.trm $(T)pm.trm $(T)post.trm & $(T)pslatex.trm $(T)pstricks.trm $(T)qms.trm $(T)qt.trm $(T)regis.trm & $(T)svg.trm $(T)t410x.trm $(T)tek.trm $(T)texdraw.trm $(T)tgif.trm & -$(T)tkcanvas.trm $(T)tpic.trm $(T)webp.trm $(T)win.trm & -$(T)wxt.trm $(T)x11.trm $(T)xlib.trm +$(T)tkcanvas.trm $(T)tpic.trm $(T)webp.trm $(T)win.trm $(T)wxt.trm & +$(T)x11.trm $(T)xlib.trm diff --git a/src/matrix.c b/src/matrix.c index e0db33ba2..bcc235802 100644 --- a/src/matrix.c +++ b/src/matrix.c @@ -127,7 +127,7 @@ Givens( { int i, j, k; double w, gamma, sigma, rho, temp; - double epsilon = DBL_EPSILON; /* FIXME (?) */ + double epsilon = DBL_EPSILON; /* * First, construct QR decomposition of C, by 'rotating away' diff --git a/src/misc.c b/src/misc.c index fa6281dc8..e79ac5643 100644 --- a/src/misc.c +++ b/src/misc.c @@ -661,9 +661,6 @@ loadpath_fopen(const char *filename, const char *mode) /* The global copy of fullname is only for the benefit of post.trm's * automatic fontfile conversion via a constructed shell command. - * FIXME: There was a Feature Request to export the directory path - * in which a loaded file was found to a user-visible variable for the - * lifetime of that load. This is close but without the lifetime. */ free(loadpath_fontname); loadpath_fontname = NULL; @@ -997,15 +994,15 @@ lp_parse(struct lp_style_type *lp, lp_class destination_class, TBOOLEAN allow_po } while (!END_OF_COMMAND) { + TBOOLEAN lt_really_means_lc = FALSE; - /* This special case is to flag an attempt to "set object N lt <lt>", - * which would otherwise be accepted but ignored, leading to confusion - * FIXME: Couldn't this be handled at a higher level? + /* This special case is to catch an attempt to "set object N lt <lt>", + * which would otherwise be accepted but ignored, leading to confusion. */ if ((destination_class == LP_NOFILL) && (equals(c_token,"lt") || almost_equals(c_token,"linet$ype"))) { - int_error(c_token, "object linecolor must be set using fillstyle border"); - } + lt_really_means_lc = TRUE; + } else if (almost_equals(c_token, "linet$ype") || equals(c_token, "lt")) { if (set_lt++) @@ -1068,6 +1065,7 @@ lp_parse(struct lp_style_type *lp, lp_class destination_class, TBOOLEAN allow_po if (equals(c_token,"lc") || almost_equals(c_token,"linec$olor") || equals(c_token,"fc") || almost_equals(c_token,"fillc$olor") + || lt_really_means_lc ) { if (set_pal++) break; diff --git a/src/mouse.c b/src/mouse.c index 1744cb987..110a47a80 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -2540,8 +2540,9 @@ do_event(struct gp_event_t *ge) break; case GE_fontprops: #ifdef X11 - /* EAM FIXME: Despite the name, only X11 uses this to pass font info. */ - /* Everyone else passes just the plot height and width. */ + /* Despite the name, only X11 uses this to pass font info. + * Everyone else passes just the plot height and width. + */ if (!strcmp(term->name,"x11")) { /* These are declared in ../term/x11.trm */ extern int X11_hchar_saved, X11_vchar_saved; diff --git a/src/parse.c b/src/parse.c index 79a073d75..fee309727 100644 --- a/src/parse.c +++ b/src/parse.c @@ -333,7 +333,7 @@ create_call_column_at(char *string) at->a_count = 2; at->actions[0].index = PUSHC; - at->actions[0].arg.j_arg = 3; /* FIXME - magic number! */ + at->actions[0].arg.j_arg = 0; at->actions[0].arg.v_arg.type = STRING; at->actions[0].arg.v_arg.v.string_val = string; at->actions[1].index = COLUMN; @@ -351,7 +351,7 @@ create_call_columnhead() at->a_count = 2; at->actions[0].index = PUSHC; - at->actions[0].arg.j_arg = 3; /* FIXME - magic number! */ + at->actions[0].arg.j_arg = 0; at->actions[0].arg.v_arg.type = INTGR; at->actions[0].arg.v_arg.v.int_val = -1; at->actions[1].index = COLUMNHEAD; @@ -1539,6 +1539,7 @@ check_for_iteration() this_iter->iteration_increment = iteration_increment; this_iter->iteration_current = iteration_current; this_iter->iteration = iteration; + this_iter->iteration_NODATA = FALSE; this_iter->start_at = iteration_start_at; this_iter->end_at = iteration_end_at; this_iter->next = NULL; @@ -1610,6 +1611,7 @@ reset_iteration(t_iterator *iter) reevaluate_iteration_limits(iter); iter->iteration = -1; iter->iteration_current = iter->iteration_start; + iter->iteration_NODATA = FALSE; if (iter->iteration_string) { gpfree_string(&(iter->iteration_udv->udv_value)); Gstring(&(iter->iteration_udv->udv_value), @@ -1622,6 +1624,33 @@ reset_iteration(t_iterator *iter) reset_iteration(iter->next); } +/* + * Called to terminate an iteration of the form [i=n:*] when + * the resulting plot is determined to contain no valid data (NODATA). + */ +void +flag_iteration_nodata(t_iterator *iter) +{ + if (!iter) + return; + if (iter->iteration_end == INT_MAX) + iter->iteration_NODATA = TRUE; + flag_iteration_nodata(iter->next); +} + +void +warn_if_too_many_unbounded_iterations(t_iterator *iter) +{ + int nfound = 0; + while (iter) { + if (iter->iteration_end == INT_MAX) + nfound++; + iter = iter->next; + } + if (nfound > 1) + int_warn(NO_CARET, "multiple nested iterations of the form [start:*]"); +} + /* * Increment the iteration position recursively. * returns TRUE if the iteration is still in range @@ -1634,6 +1663,19 @@ next_iteration(t_iterator *iter) if (!iter || no_iteration(iter)) return FALSE; + /* This is a top-level unbounded iteration [n:*] for which a + * lower-level (nested) iteration yielded no data. Stop here. + */ + if (forever_iteration(iter->next) < 0 && iter->iteration_NODATA) { + FPRINTF((stderr,"multiple nested unbounded iterations")); + return FALSE; + } + + /* This is a nested unbounded iteration [n:*] that yielded no data */ + if (forever_iteration(iter->next) < 0 && iter->next->iteration_NODATA) + FPRINTF((stderr, "\t skip terminated NODATA iteration\n")); + else + /* Give sub-iterations a chance to advance */ if (next_iteration(iter->next)) { if (iter->iteration < 0) @@ -1726,13 +1768,21 @@ cleanup_iteration(t_iterator *iter) return NULL; } -TBOOLEAN +/* + * returns 0 if well-bounded [i=a:b] + * returns 1 if unbounded [i=a:*] + * returns -1 if unbounded and we already hit a stop condition (NODATA) + */ +int forever_iteration(t_iterator *iter) { if (!iter) - return FALSE; - else - return (iter->iteration_end == INT_MAX); + return 0; + if (iter->iteration_end == INT_MAX && iter->iteration_NODATA) + return -1; + if (iter->iteration_end == INT_MAX) + return 1; + return forever_iteration(iter->next); } /* The column() function requires special handling because diff --git a/src/parse.h b/src/parse.h index 4fa5ce293..f8b1506ca 100644 --- a/src/parse.h +++ b/src/parse.h @@ -103,6 +103,7 @@ typedef struct iterator { int iteration_increment; int iteration_current; /* start + increment * iteration */ int iteration; /* runs from 0 to (end-start)/increment */ + TBOOLEAN iteration_NODATA; /* set when an unbounded iteration dead-ends */ struct at_type *start_at; /* expression that evaluates to iteration_start */ struct at_type *end_at; /* expression that evaluates to iteration_end */ } t_iterator; @@ -115,7 +116,10 @@ extern t_iterator * print_iterator; /* Used by print command */ t_iterator * check_for_iteration(void); TBOOLEAN next_iteration (t_iterator *); TBOOLEAN empty_iteration (t_iterator *); -TBOOLEAN forever_iteration (t_iterator *); +int forever_iteration (t_iterator *); +void flag_iteration_nodata(t_iterator *iter); +void warn_if_too_many_unbounded_iterations(t_iterator *iter); + t_iterator * cleanup_iteration(t_iterator *); /* These are used by the function block evaluation code */ diff --git a/src/plot.c b/src/plot.c index bfefd74bc..fedfcd9c7 100644 --- a/src/plot.c +++ b/src/plot.c @@ -62,22 +62,11 @@ # include <io.h> #endif -#ifdef VMS -# include "vms.h" -# ifndef __GNUC__ -# include <unixio.h> -# endif -# include <smgdef.h> -# include <ssdef.h> -extern smg$create_virtual_keyboard(); -extern smg$create_key_table(); -#endif /* VMS */ - #ifdef _WIN32 # include <windows.h> # include "win/winmain.h" # include "win/wcommon.h" -# include <io.h> // for isatty +# include <io.h> /* for isatty */ #endif /* _WIN32 */ /* GNU readline @@ -92,14 +81,17 @@ extern smg$create_key_table(); /* BSD editline */ #ifdef HAVE_LIBEDITLINE -# include <editline/readline.h> +# include <editline/readline.h> +# ifdef GNUPLOT_HISTORY +# include <histedit.h> +# endif #endif /* enable gnuplot history with readline */ #ifdef GNUPLOT_HISTORY -# ifndef GNUPLOT_HISTORY_FILE -# define GNUPLOT_HISTORY_FILE "~/.gnuplot_history" -# endif +# ifndef GNUPLOT_HISTORY_FILE +# define GNUPLOT_HISTORY_FILE "~/.gnuplot_history" +# endif /* * expanded_history_filename points to the value from 'tilde_expand()', * which expands '~' to the user's home directory, or $HOME. @@ -384,15 +376,6 @@ main(int argc_orig, char **argv) } } -#ifdef X11 - /* the X11 terminal removes tokens that it recognizes from argv. */ - { - int n = X11_args(argc, argv); - argv += n; - argc -= n; - } -#endif - setbuf(stderr, (char *) NULL); #ifdef HAVE_SETVBUF @@ -452,24 +435,8 @@ main(int argc_orig, char **argv) } } - /* Need this before show_version is called for the first time */ - - if (interactive) - show_version(stderr); - else - show_version(NULL); /* Only load GPVAL_COMPILE_OPTIONS */ - - update_gpval_variables(3); /* update GPVAL_ variables available to user */ - #ifdef VMS - /* initialise screen management routines for command recall */ - { - unsigned int ierror; - if (ierror = smg$create_virtual_keyboard(&vms_vkid) != SS$_NORMAL) - done(ierror); - if (ierror = smg$create_key_table(&vms_ktid) != SS$_NORMAL) - done(ierror); - } + vms_init_screen(); #endif /* VMS */ if (!SETJMP(command_line_env, 1)) { @@ -495,13 +462,35 @@ main(int argc_orig, char **argv) * the generic terminal shutdown in term_reset to be executed before * any terminal specific cleanup requested by individual terminals. */ + /* Need this before show_version is called for the first time */ init_terminal(); push_terminal(0); /* remember the initial terminal */ gp_atexit(term_reset); +#ifdef X11 + /* the X11 terminal removes tokens that it recognizes from argv. */ + if (term && !strcmp(term->name, "x11")) { + int n = X11_args(argc, argv); + argv += n; + argc -= n; + } +#endif + + /* Version 6: defer splash page until after initialization */ + if (interactive) + show_version(stderr); + else + show_version(NULL); /* Only load GPVAL_COMPILE_OPTIONS */ + + /* update GPVAL_ variables available to user */ + update_gpval_variables(3); + /* Execute commands in ~/.gnuplot */ init_session(); + if (interactive) + fprintf(stderr, "\n\tTerminal type is now %s\n", term->name); + if (interactive && term != 0) { /* not unknown */ #ifdef GNUPLOT_HISTORY #if (defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDITLINE)) && !defined(_WIN32) @@ -527,7 +516,7 @@ main(int argc_orig, char **argv) /* * It is safe to ignore the return values of 'atexit()' and * 'on_exit()'. In the worst case, there is no history of your - * current session and you have to type all again in your next + * current session and you have to type it all again in your next * session. */ gp_atexit(wrapper_for_write_history); @@ -559,6 +548,9 @@ main(int argc_orig, char **argv) clause_reset_after_error(); lf_reset_after_error(); + /* We are certainly no longer in a plot command */ + inside_plot_command = FALSE; + SET_CURSOR_ARROW; #ifdef VMS @@ -754,13 +746,16 @@ init_session() /* Undefine any previously-used variables */ del_udv_by_name("",TRUE); + /* Clear any previous customization of linetypes */ + while (first_perm_linestyle != NULL) + delete_linestyle(&first_perm_linestyle, NULL, first_perm_linestyle); + /* Restore default colors before loading local preferences */ set_colorsequence(1); /* Reset program variables not handled by 'reset' */ overflow_handling = INT64_OVERFLOW_TO_FLOAT; suppress_warnings = FALSE; - reset_datafile(); /* Reset voxel data structures if supported */ init_voxelsupport(); @@ -770,7 +765,6 @@ init_session() */ reset_command(); /* FIXME: this does c_token++ */ load_rcfile(0); /* System-wide gnuplotrc if configured */ - load_rcfile(1); /* ./.gnuplot if configured */ /* After this point we allow pipes and system commands */ successful_initialization = TRUE; @@ -782,8 +776,8 @@ init_session() /* * Read commands from an initialization file. * where = 0: look for gnuplotrc in system shared directory - * where = 1: look for .gnuplot in current directory - * where = 2: look for .gnuplot in home directory + * where = 1: look for .gnuplot in current directory (DEPRECATED) + * where = 2: look for .gnuplot in user's home directory */ static void load_rcfile(int where) @@ -806,14 +800,6 @@ load_rcfile(int where) plotrc = fopen(rcfile, "r"); #endif - } else if (where == 1) { -#ifdef USE_CWDRC - /* Allow check for a .gnuplot init file in the current directory */ - /* This is a security risk, as someone might leave a malicious */ - /* init file in a shared directory. */ - plotrc = fopen(PLOTRC, "r"); -#endif /* !USE_CWDRC */ - } else if (where == 2 && user_homedir) { /* length of homedir + directory separator + length of file name + \0 */ int len = (user_homedir ? strlen(user_homedir) : 0) + 1 + strlen(PLOTRC) + 1; diff --git a/src/plot2d.c b/src/plot2d.c index d3d86bf17..b543c7c3a 100644 --- a/src/plot2d.c +++ b/src/plot2d.c @@ -75,6 +75,7 @@ static int check_or_add_boxplot_factor(struct curve_points *plot, char* string, static void add_tics_boxplot_factors(struct curve_points *plot); static void parse_kdensity_options(struct curve_points *this_plot); static void parse_hull_options(struct curve_points *this_plot); +static int evaluate_iteration(struct curve_points *this_plot); #ifdef USE_POLAR_GRID static void grid_polar_data(struct curve_points *this_plot); @@ -126,12 +127,14 @@ cp_alloc(int num) struct lp_style_type default_lp_properties = DEFAULT_LP_STYLE_TYPE; cp = (struct curve_points *) gp_alloc(sizeof(struct curve_points), "curve"); - memset(cp,0,sizeof(struct curve_points)); + memset(cp, 0, sizeof(struct curve_points)); cp->p_max = (num >= 0 ? num : 0); - if (num > 0) + if (num > 0) { cp->points = (struct coordinate *) gp_alloc(num * sizeof(struct coordinate), "curve points"); + memset(cp->points, 0, num * sizeof(struct coordinate)); + } /* Initialize various fields */ cp->lp_properties = default_lp_properties; @@ -164,7 +167,6 @@ cp_extend(struct curve_points *cp, int num) /* true end in case two slots are used at once */ /* (e.g. redundant final point of closed curve) */ } else { - /* FIXME: Does this ever happen? Should it call cp_free() instead? */ free(cp->points); cp->points = NULL; cp->p_max = 0; @@ -579,6 +581,11 @@ get_data(struct curve_points *current_plot) max_cols = 6; break; + case SECTORS: /* 3 + possible variable color, or 4 + possible variable color */ + min_cols = 4; + max_cols = 7; + break; + case ELLIPSES: min_cols = 2; /* x, y, major axis, minor axis */ max_cols = 6; /* + optional angle, possible variable color */ @@ -814,6 +821,9 @@ get_data(struct curve_points *current_plot) case CIRCLES: if (j == 5 || j < 3) int_error(NO_CARET,errmsg); break; + case SECTORS: + if (j < 4) int_error(NO_CARET,errmsg); + break; case ELLIPSES: case BOXES: case POINTSTYLE: @@ -1005,7 +1015,11 @@ get_data(struct curve_points *current_plot) ylow = v[1] - v[2]; yhigh = v[1] + v[2]; } - store2d_point(current_plot, i++, v[0], v[1], + if (polar) /* Polar mode bars need both xlow/high and ylow/high */ + store2d_point(current_plot, i++, v[0], v[1], + v[0], v[0], ylow, yhigh, -1.0); + else + store2d_point(current_plot, i++, v[0], v[1], var_ps, var_pt, ylow, yhigh, -1.0); break; } @@ -1104,14 +1118,21 @@ get_data(struct curve_points *current_plot) */ coordval y1 = v[1]; coordval y2; - coordval w = 0.0; /* only needed for SMOOTH_ACSPLINES) */ + coordval w; + + if (current_plot->plot_smooth == SMOOTH_ACSPLINES) + w = 1.0; + else + w = 0.0; + if (j==2) { if (current_plot->filledcurves_options.closeto == FILLEDCURVES_CLOSED || current_plot->filledcurves_options.closeto == FILLEDCURVES_DEFAULT) y2 = y1; else y2 = current_plot->filledcurves_options.at; - } else if (current_plot->plot_filter == FILTER_CONVEX_HULL) { + } else if ((current_plot->plot_filter == FILTER_CONVEX_HULL) + || (current_plot->plot_filter == FILTER_CONCAVE_HULL)) { y2 = y1; } else { y2 = v[2]; @@ -1208,6 +1229,21 @@ get_data(struct curve_points *current_plot) break; } + case SECTORS: + { /* corner_azimuth corner_radius sector_angle annulus_width + corner_azimuth corner_radius sector_angle annulus_width center_x center_y + */ + coordval x = (j >= 6) ? v[4] : 0.0; /* center_x */ + coordval y = (j >= 6) ? v[5] : 0.0; /* center_y */ + coordval xlow = v[0]; /* corner_azimuth */ + coordval xhigh = v[1]; /* corner_radius */ + coordval ylow = v[2]; /* sector_angle */ + coordval yhigh = v[3]; /* annulus_width */ + store2d_point(current_plot, i++, x, y, + xlow, xhigh, ylow, yhigh, 0.0); + break; + } + case ELLIPSES: { /* x y * x y diam (used for both major and minor axis) @@ -1221,7 +1257,7 @@ get_data(struct curve_points *current_plot) coordval orientation = (j >= 5) ? v[4] : 0.0; coordval flag = (major_axis <= 0 || minor_axis <= 0) ? DEFAULT_RADIUS : 0; - if (j == 2) /* FIXME: why not also for j == 3 or 4? */ + if ((j == 2) || (j == 3) || (j == 4)) orientation = default_ellipse.o.ellipse.orientation; store2d_point(current_plot, i++, x, y, @@ -1430,6 +1466,9 @@ store2d_point( xlow = x - radius; xhigh = x + radius; + } + else if (current_plot->plot_style == SECTORS) { + ; } else { /* Jan 2017 - now skipping range check on rhigh, rlow */ (void) polar_to_xy(xhigh, yhigh, &xhigh, &yhigh, FALSE); @@ -1477,11 +1516,11 @@ store2d_point( break; case YERRORBARS: /* auto-scale ylow yhigh */ case YERRORLINES: /* auto-scale ylow yhigh */ - cp->CRD_PTSIZE = xlow; - cp->CRD_PTTYPE = xhigh; - STORE_AND_UPDATE_RANGE(cp->ylow, ylow, dummy_type, current_plot->y_axis, + cp->xlow = xlow; /* really theta if polar; CRD_PTSIZE otherwise */ + cp->xhigh = xhigh; /* really theta if polar; CRD_PTTYPE otherwise */ + STORE_AND_UPDATE_RANGE(cp->ylow, ylow, cp->type, current_plot->y_axis, current_plot->noautoscale, cp->ylow = -VERYLARGE); - STORE_AND_UPDATE_RANGE(cp->yhigh, yhigh, dummy_type, current_plot->y_axis, + STORE_AND_UPDATE_RANGE(cp->yhigh, yhigh, cp->type, current_plot->y_axis, current_plot->noautoscale, cp->yhigh = -VERYLARGE); break; case BOXES: /* auto-scale to xlow xhigh */ @@ -1504,6 +1543,12 @@ store2d_point( if (fabs(ylow) > 1000. || fabs(yhigh) > 1000.) /* safety check for insane arc angles */ cp->type = UNDEFINED; break; + case SECTORS: + cp->xlow = xlow; + cp->xhigh = xhigh; + cp->ylow = ylow; + cp->yhigh = yhigh; + break; case ELLIPSES: /* We want to pass the parameters to the ellipse drawing routine as they are, * so we have to calculate the extent of the ellipses for autoscaling here. @@ -1801,7 +1846,7 @@ histogram_range_fiddling(struct curve_points *plot) axis_array[FIRST_X_AXIS].min = xlow; } if (axis_array[FIRST_X_AXIS].autoscale & AUTOSCALE_MAX) { - /* FIXME - why did we increment p_count on UNDEFINED points? */ + /* Why did we increment p_count on UNDEFINED points? */ while (plot->p_count > 0 && plot->points[plot->p_count-1].type == UNDEFINED) { plot->p_count--; @@ -2151,6 +2196,7 @@ eval_plots() * the xrange is defined. */ plot_iterator = check_for_iteration(); + warn_if_too_many_unbounded_iterations(plot_iterator); while (TRUE) { /* Forgive trailing comma on a multi-element plot command */ @@ -2226,8 +2272,13 @@ eval_plots() define(); if (equals(c_token,",")) c_token++; - was_definition = TRUE; - continue; + if (equals(c_token,"for")) + /* fall through to iteration check at the end of the loop */ + c_token--; + else { + was_definition = TRUE; + continue; + } } else { int specs = 0; @@ -2453,13 +2504,32 @@ eval_plots() continue; } - /* "convexhull" is unsmoothed; "smooth convexhull is smoothed */ if (equals(c_token, "convexhull")) { this_plot->plot_filter = FILTER_CONVEX_HULL; c_token++; continue; } +#ifdef WITH_CHI_SHAPES + if (equals(c_token, "concavehull")) { + this_plot->plot_filter = FILTER_CONCAVE_HULL; + c_token++; + continue; + } + /* This was added to help debug concave hulls. + * Should we keep and document this as a filter? + */ + if (equals(c_token, "delaunay")) { + this_plot->plot_filter = FILTER_DELAUNAY; + c_token++; + continue; + } +#endif + + if (this_plot->plot_filter == FILTER_CONVEX_HULL + || this_plot->plot_filter == FILTER_CONCAVE_HULL) + parse_hull_options(this_plot); + /* deal with smooth */ if (almost_equals(c_token, "s$mooth")) { int found_token; @@ -2510,9 +2580,16 @@ eval_plots() break; } - /* Handles "convexhull smooth path expand <scale>" */ - if (this_plot->plot_smooth == SMOOTH_PATH) - parse_hull_options(this_plot); + /* Sanity check - very few smooth options work with polar coords */ + if (polar) { + switch(this_plot->plot_smooth) { + default: + int_error(c_token, "this smooth option not possible with polar coordinates"); + case SMOOTH_NONE: + case SMOOTH_PATH: + break; + } + } if (set_smooth) duplication = TRUE; @@ -2596,7 +2673,8 @@ eval_plots() || this_plot->plot_style == FILLSTEPS) { /* read a possible option for 'with filledcurves' */ get_filledcurves_style_options(&this_plot->filledcurves_options); - if (this_plot->plot_filter == FILTER_CONVEX_HULL) + if ((this_plot->plot_filter == FILTER_CONVEX_HULL) + || (this_plot->plot_filter == FILTER_CONCAVE_HULL)) this_plot->filledcurves_options.closeto = FILLEDCURVES_CLOSED; } @@ -2681,7 +2759,7 @@ eval_plots() } /* pick up the special 'units' keyword the 'ellipses' style allows */ - if (this_plot->plot_style == ELLIPSES) { + if (this_plot->plot_style == ELLIPSES || this_plot->plot_style == SECTORS) { int stored_token = c_token; if (!set_ellipseaxes_units) @@ -2791,9 +2869,10 @@ eval_plots() if (equals(c_token,"fs") || almost_equals(c_token,"fill$style")) { if (this_plot->plot_style == SPIDERPLOT) this_plot->fill_properties = spiderplot_style.fillstyle; - else + else { this_plot->fill_properties = default_fillstyle; - this_plot->fill_properties.fillpattern = pattern_num; + this_plot->fill_properties.fillpattern = pattern_num; + } parse_fillstyle(&this_plot->fill_properties); set_fillstyle = TRUE; } @@ -2834,7 +2913,9 @@ eval_plots() this_plot->title_is_automated = FALSE; if (!set_title) { this_plot->title_no_enhanced = TRUE; /* filename or function cannot be enhanced */ - if (key->auto_titles == FILENAME_KEYTITLES) { + if (key->auto_titles == COLUMNHEAD_KEYTITLES) { + this_plot->title_is_automated = TRUE; + } else if (key->auto_titles == FILENAME_KEYTITLES) { m_capture(&(this_plot->title), start_token, end_token); if (in_parametric) xtitle = this_plot->title; @@ -2916,6 +2997,7 @@ eval_plots() case FILLEDCURVES: case LABELPOINTS: case CIRCLES: + case SECTORS: case YERRORBARS: case YERRORLINES: case SURFACEGRID: @@ -2925,14 +3007,21 @@ eval_plots() "This plot style is not available in polar mode"); } + /* Rule out incompatible filter options */ + if (this_plot->plot_filter != FILTER_NONE) { + if (this_plot->plot_style == LABELPOINTS) + int_error(NO_CARET, "label plots cannot use data filters"); + } + /* If we got this far without initializing the fill style, do it now */ if (this_plot->plot_style & PLOT_STYLE_HAS_FILL) { if (!set_fillstyle) { if (this_plot->plot_style == SPIDERPLOT) this_plot->fill_properties = spiderplot_style.fillstyle; - else + else { this_plot->fill_properties = default_fillstyle; - this_plot->fill_properties.fillpattern = pattern_num; + this_plot->fill_properties.fillpattern = pattern_num; + } parse_fillstyle(&this_plot->fill_properties); } if ((this_plot->fill_properties.fillstyle == FS_PATTERN) @@ -2998,7 +3087,7 @@ eval_plots() /* We can skip a lot of stuff if this is not a real plot */ if (this_plot->plot_type == KEYENTRY) - goto SKIPPED_EMPTY_FILE; + goto NOTHING_HERE_BUT_PLOT_TITLE; /* Initialize the label list in case the BOXPLOT style needs it to store factors */ if (this_plot->plot_style == BOXPLOT) { @@ -3071,7 +3160,7 @@ eval_plots() /* We can now do some checks that we deferred earlier */ if (this_plot->plot_type == DATA) { - if (specs < 0) { + if (specs == DF_EOF) { /* Error check to handle missing or unreadable file */ ++line_num; this_plot->plot_type = NODATA; @@ -3095,7 +3184,7 @@ eval_plots() int_error(c_token, "Need using spec for y time data"); } - /* NB: df_axis is used only for timedate data and 3D cbticlabels */ + /* NB: df_axis is used only for timedate data */ df_axis[0] = x_axis; df_axis[1] = y_axis; @@ -3136,7 +3225,10 @@ eval_plots() /* actually get the data now */ if (get_data(this_plot) == 0) { - if (!forever_iteration(plot_iterator)) + if (forever_iteration(plot_iterator)) { + flag_iteration_nodata(plot_iterator); + line_num--; + } else int_warn(NO_CARET,"Skipping data file with no valid points"); this_plot->plot_type = NODATA; goto SKIPPED_EMPTY_FILE; @@ -3151,10 +3243,17 @@ eval_plots() ninrange++; if (ninrange == 0) { this_plot->plot_type = NODATA; + flag_iteration_nodata(plot_iterator); + line_num--; goto SKIPPED_EMPTY_FILE; } } + /* The file was not really empty, but "plot with table" bypasses */ + /* filters, smoothing, range checks, and graphics, so we're done. */ + if (this_plot->plot_style == TABLESTYLE) + goto SKIPPED_EMPTY_FILE; + /* Jan 2022: Filter operations are performed immediately after * reading in the data, before any smoothing. */ @@ -3163,17 +3262,33 @@ eval_plots() } if (this_plot->plot_filter == FILTER_CONVEX_HULL) { convex_hull(this_plot); + if (this_plot->smooth_parameter != 0) + expand_hull(this_plot); } if (this_plot->plot_filter == FILTER_ZSORT) { zsort_points(this_plot); zrange_points(this_plot); } + #ifdef USE_POLAR_GRID if (this_plot->plot_style == SURFACEGRID) { grid_polar_data(this_plot); } #endif +#ifdef WITH_CHI_SHAPES + if (this_plot->plot_filter == FILTER_CONCAVE_HULL) { + delaunay_triangulation(this_plot); + concave_hull(this_plot); + if (this_plot->smooth_parameter != 0) + expand_hull(this_plot); + } + if (this_plot->plot_filter == FILTER_DELAUNAY) { + delaunay_triangulation(this_plot); + save_delaunay_triangles(this_plot); + } +#endif + /* Restore auto-scaling prior to smoothing operation */ switch (this_plot->plot_smooth) { case SMOOTH_FREQUENCY: @@ -3195,7 +3310,6 @@ eval_plots() boxplot_range_fiddling(this_plot); if (this_plot->plot_style == IMPULSES) impulse_range_fiddling(this_plot); - /* FIXME: not sure this is necessary. Only for x2 or y2 axes? */ if (polar) polar_range_fiddling(&axis_array[this_plot->x_axis], &axis_array[this_plot->y_axis]); @@ -3254,8 +3368,6 @@ eval_plots() mcs_interp(this_plot); break; case SMOOTH_PATH: - if (this_plot->plot_filter == FILTER_CONVEX_HULL) - expand_hull(this_plot); gen_2d_path_splines(this_plot); break; case SMOOTH_NONE: @@ -3278,12 +3390,14 @@ eval_plots() process_image(this_plot, IMG_UPDATE_AXES); } - /* Feb 2022: Deferred evaluation of plot title - * now that we know column headers (loaded in get_data) - * and potentially stats from filters, smoothing and image processing. - */ - reevaluate_plot_title(this_plot); - } + } /* plot_type == DATA */ + + /* Deferred evaluation of plot title + * now that we know column headers (loaded in get_data) + * and potentially stats from filters, smoothing and image processing. + */ + NOTHING_HERE_BUT_PLOT_TITLE: + reevaluate_plot_title(this_plot); SKIPPED_EMPTY_FILE: /* Note position in command line for second pass */ @@ -3296,7 +3410,7 @@ eval_plots() this_plot->sample_var2->udv_value = original_value_sample_var2; } - } /* !is_defn */ + } /* !is_definition */ if (in_parametric) { if (equals(c_token, ",")) { @@ -3306,19 +3420,10 @@ eval_plots() break; } - /* Iterate-over-plot mechanism */ - if (empty_iteration(plot_iterator) && this_plot) - this_plot->plot_type = NODATA; - if (forever_iteration(plot_iterator) && !this_plot) - int_error(NO_CARET,"unbounded iteration in something other than a data plot"); - else if (forever_iteration(plot_iterator) && (this_plot->plot_type == NODATA)) { - FPRINTF((stderr,"Ending * iteration at %d\n",plot_iterator->iteration)); - /* Clearing the plot title ensures that it will not appear in the key */ - free (this_plot->title); - this_plot->title = NULL; - } else if (forever_iteration(plot_iterator) && (this_plot->plot_type != DATA)) { - int_error(NO_CARET,"unbounded iteration in something other than a data plot"); - } else if (next_iteration(plot_iterator)) { + /* If we are in the middle of an iterated plot clause + * go back and run it again. + */ + if (evaluate_iteration(this_plot)) { c_token = start_token; continue; } @@ -3327,6 +3432,7 @@ eval_plots() if (equals(c_token, ",")) { c_token++; plot_iterator = check_for_iteration(); + warn_if_too_many_unbounded_iterations(plot_iterator); } else break; } @@ -3424,8 +3530,13 @@ eval_plots() define(); if (equals(c_token, ",")) c_token++; - was_definition = TRUE; - continue; + if (equals(c_token,"for")) + /* fall through to iteration check at the end of the loop */ + c_token--; + else { + was_definition = TRUE; + continue; + } } else { struct at_type *at_ptr; @@ -3958,6 +4069,54 @@ parametric_fixup(struct curve_points *start_plot, int *plot_num) *last_pointer = free_list; } +/* + * Track the progress of iteration inside a plot command. + * This became complicated enough to split out into a + * separate routine for readability. + * In the future a non-zero return value may carry more information. + * + * Return: + * 0 = no more in this iteration + * continue to the next plot clause + * non-0 = iteration counters have been incremented + * loop back up to the next iteration + */ +static int +evaluate_iteration( struct curve_points *this_plot ) +{ + /* Iterate-over-plot mechanism */ + if (empty_iteration(plot_iterator) && this_plot) + this_plot->plot_type = NODATA; + if (forever_iteration(plot_iterator) && !this_plot) + int_error(NO_CARET, + "unbounded iteration in something other than a data plot"); + + /* This handles the case a nested unbounded iteration. + * If the top level iteration is bounded, next_iteration will advance it. + * If the top level iteration is unbounded, next_iteration will warn and + * return FALSE. + */ + if (plot_iterator && (forever_iteration(plot_iterator->next) < 0) + && (this_plot->plot_type == NODATA)) { + if (next_iteration(plot_iterator)) + return 1; + } + + if (forever_iteration(plot_iterator) + && (this_plot->plot_type == NODATA)) { + /* Clearing the plot title ensures that it will not appear in the key */ + free (this_plot->title); + this_plot->title = NULL; + } else if (forever_iteration(plot_iterator) && this_plot->plot_type != DATA) { + int_error(NO_CARET, + "unbounded iteration in something other than a data plot"); + } else if (next_iteration(plot_iterator)) { + return 1; + } + + /* This is the 'normal' return - no continuing iteration to handle */ + return 0; +} /* * handle optional keywords for @@ -3991,10 +4150,9 @@ parse_hull_options(struct curve_points *this_plot) { if (equals(c_token,"expand")) { c_token++; - if (this_plot->plot_filter == FILTER_CONVEX_HULL) + if ((this_plot->plot_filter == FILTER_CONVEX_HULL) + || (this_plot->plot_filter == FILTER_CONCAVE_HULL)) this_plot->smooth_parameter = real_expression(); - else - int_error(c_token-2, "'smooth path expand' only available for hulls"); } } @@ -4042,8 +4200,6 @@ parse_plot_title(struct curve_points *this_plot, char *xtitle, char *ytitle, TBO } else if (equals(c_token,"at")) { *set_title = FALSE; } else { - int save_token = c_token; - /* If the command is "plot ... notitle <optional title text>" */ /* we can throw the result away now that we have stepped over it */ if (this_plot->title_is_suppressed) { @@ -4065,24 +4221,6 @@ parse_plot_title(struct curve_points *this_plot, char *xtitle, char *ytitle, TBO } else { free_at(df_plot_title_at); df_plot_title_at = perm_at(); - - /* We can evaluate the title for a function plot immediately */ - /* FIXME: or this code could go into eval_plots() so that */ - /* function and data plots are treated the same way. */ - if (this_plot->plot_type == FUNC || this_plot->plot_type == FUNC3D - || this_plot->plot_type == VOXELDATA - || this_plot->plot_type == KEYENTRY) { - struct value a; - evaluate_at(df_plot_title_at, &a); - if (a.type == STRING) { - free(this_plot->title); - this_plot->title = a.v.string_val; - } else { - int_warn(save_token, "expecting string for title"); - } - free_at(df_plot_title_at); - df_plot_title_at = NULL; - } } } if (equals(c_token,"at")) { @@ -4161,9 +4299,17 @@ reevaluate_plot_title(struct curve_points *this_plot) free_at(df_plot_title_at); df_plot_title_at = NULL; } + } else { + int_warn(NO_CARET, "plot title must be a string"); } } + else if (!this_plot->title && this_plot->title_is_automated + && (&keyT)->auto_titles == COLUMNHEAD_KEYTITLES) { + this_plot->title = df_key_title; + df_key_title = NULL; + } + if (this_plot->plot_style == PARALLELPLOT && !this_plot->title_is_automated) { double xpos = parallel_axis_array[this_plot->p_axis-1].paxis_x; @@ -4250,10 +4396,12 @@ grid_polar_data(struct curve_points *this_plot) /* Create the new grid structure and fill in grid point values * derived from the original data point values. */ + this_plot->points = NULL; + cp_extend(this_plot, 0); this_plot->p_count = polar_grid.theta_segments * polar_grid.r_segments; - this_plot->points = gp_alloc( sizeof(coordinate) * this_plot->p_count, "polar grid"); - point = this_plot->points; + cp_extend(this_plot, this_plot->p_count); + point = this_plot->points; for (i = 0, r = rmin; i < polar_grid.r_segments; i++, r += dr) { for (j = 0, t = tmin; j < polar_grid.theta_segments; j++, t+=dt, point++) { opoint = old_points; diff --git a/src/plot3d.c b/src/plot3d.c index f83cb039b..da0fb6472 100644 --- a/src/plot3d.c +++ b/src/plot3d.c @@ -113,15 +113,6 @@ struct surface_points *first_3dplot = NULL; int plot3d_num=0; -/* FIXME: - * Because this is global, it gets clobbered if there is more than - * one unbounded iteration in the splot command, e.g. - * splot for [i=0:*] A index i, for [j=0:*] B index j - * Moving it into (struct surface_points) would be nice but would require - * extra bookkeeping to track which plot header it is stored in. - */ -static int last_iteration_in_first_pass = INT_MAX; - /* * It is a common mistake to try to plot a complex-valued function * without reducing it to some derived real value like abs(f(z)). @@ -651,13 +642,9 @@ grid_nongrid_data(struct surface_points *this_plot) if (this_plot->pm3d_color_from_column && dgrid3d_mode == DGRID3D_SPLINES) int_error(NO_CARET, "Spline gridding of a separate color column is not implemented"); - /* Compute XY bounding box on the original data. */ - /* FIXME HBB 20010424: Does this make any sense? Shouldn't we just - * use whatever the x and y ranges have been found to be, and - * that's that? The largest difference this is going to make is if - * we plot a datafile that doesn't span the whole x/y range - * used. Do we want a dgrid3d over the actual data rectangle, or - * over the xrange/yrange area? */ + /* Compute XY bounding box on the original data. + * Otherwise the grid would change as you zoom. + */ xmin = xmax = old_iso_crvs->points[0].x; ymin = ymax = old_iso_crvs->points[0].y; for (icrv = old_iso_crvs; icrv != NULL; icrv = icrv->next) { @@ -998,10 +985,13 @@ get_3ddata(struct surface_points *this_plot) if (j == DF_UNDEFINED || j == DF_MISSING) { cp->type = UNDEFINED; - /* Version 5.5 - * Store all available info even if one of the requested columns - * is missing or undefined. + /* Version 6: Store all available info even if one of the + * requested columns is missing or undefined. + * FIXME: However dgrid3d cannot deal with z = NaN or Inf. + * Fall back to ignoring it as version 5 did. */ + if (dgrid3d && isnan(v[2])) + goto come_here_if_undefined; j = df_no_use_specs; } if (j == DF_COMPLEX_VALUE) { @@ -1206,12 +1196,7 @@ get_3ddata(struct surface_points *this_plot) } else if (this_plot->fill_properties.border_color.type == TC_Z && j >= 4) { - rgb255_color rgbcolor; - unsigned int rgb; - rgb255maxcolors_from_gray(cb2gray(v[--j]), &rgbcolor); - rgb = (unsigned int)rgbcolor.r << 16 - | (unsigned int)rgbcolor.g << 8 - | (unsigned int)rgbcolor.b; + unsigned int rgb = rgb_from_gray( cb2gray(v[--j]) ); color_from_column(TRUE); color = rgb; @@ -1295,6 +1280,7 @@ get_3ddata(struct surface_points *this_plot) cp->CRD_COLOR = (pm3d_color_from_column) ? color : z; } else { coord_type dummy_type; + TBOOLEAN noautoscale_color; /* Without this, z=Nan or z=Inf or DF_MISSING fails to set * CRD_COLOR at all, since the z test bails to a goto. @@ -1363,9 +1349,14 @@ get_3ddata(struct surface_points *this_plot) color = z; } + /* lc rgb variable cannot be used to autoscale cbrange */ + noautoscale_color = this_plot->noautoscale; + if (this_plot->lp_properties.pm3d_color.type == TC_RGB + && this_plot->lp_properties.pm3d_color.value < 0.0) + noautoscale_color = TRUE; dummy_type = cp->type; STORE_AND_UPDATE_RANGE(cp->CRD_COLOR, color, dummy_type, - COLOR_AXIS, this_plot->noautoscale, + COLOR_AXIS, noautoscale_color, goto come_here_if_undefined); } @@ -1472,9 +1463,6 @@ get_3ddata(struct surface_points *this_plot) this_iso->next = new_icrvs; } - /* Deferred evaluation of plot title now that we know column headers */ - reevaluate_plot_title( (struct curve_points *)this_plot ); - return retval; } @@ -1636,7 +1624,7 @@ eval_3dplots() * after the x/yrange is defined. */ plot_iterator = check_for_iteration(); - last_iteration_in_first_pass = INT_MAX; + warn_if_too_many_unbounded_iterations(plot_iterator); while (TRUE) { @@ -1654,8 +1642,13 @@ eval_3dplots() define(); if (equals(c_token, ",")) c_token++; - was_definition = TRUE; - continue; + if (equals(c_token,"for")) { + /* fall through to iteration check at the end of the loop */ + c_token--; + } else { + was_definition = TRUE; + continue; + } } else { int specs = -1; @@ -1715,9 +1708,9 @@ eval_3dplots() strcpy(c_dummy_var[1], orig_dummy_v_var); /* Make sure there is at least a minimal plot header */ - if (*tp_3d_ptr) + if (*tp_3d_ptr) { this_plot = *tp_3d_ptr; - else { + } else { this_plot = sp_alloc(0, 0, 0, 0); *tp_3d_ptr = this_plot; } @@ -1802,11 +1795,11 @@ eval_3dplots() /* for capture to key */ this_plot->token = end_token = c_token - 1; - this_plot->iteration = plot_iterator ? plot_iterator->iteration : 0; + this_plot->iteration = plot_iterator; /* this_plot->token is temporary, for errors in get_3ddata() */ - /* NB: df_axis is used only for timedate data and 3D cbticlabels */ + /* NB: df_axis is used only for timedate data */ if (specs < 3) { if (axis_array[FIRST_X_AXIS].datatype == DT_TIMEDATE) int_error(c_token, "Need full using spec for x time data"); @@ -1823,6 +1816,7 @@ eval_3dplots() plot_num++; this_plot->plot_type = KEYENTRY; this_plot->plot_style = LABELPOINTS; + this_plot->title_is_suppressed = FALSE; this_plot->token = end_token = c_token - 1; break; @@ -1869,11 +1863,6 @@ eval_3dplots() } /* End of switch(this_component) */ - /* clear current title, if it exists */ - if (this_plot->title) { - free(this_plot->title); - this_plot->title = NULL; - } /* default line and point types */ this_plot->lp_properties.l_type = line_num; @@ -2184,7 +2173,9 @@ eval_3dplots() this_plot->title_is_automated = FALSE; if (!set_title) { this_plot->title_no_enhanced = TRUE; /* filename or function cannot be enhanced */ - if (key->auto_titles == FILENAME_KEYTITLES) { + if (key->auto_titles == COLUMNHEAD_KEYTITLES) { + this_plot->title_is_automated = TRUE; + } else if (key->auto_titles == FILENAME_KEYTITLES) { m_capture(&(this_plot->title), start_token, end_token); if (crnt_param == 2) xtitle = this_plot->title; @@ -2330,7 +2321,7 @@ eval_3dplots() /* for second pass */ this_plot->token = c_token; - this_plot->iteration = plot_iterator ? plot_iterator->iteration : 0; + this_plot->iteration = plot_iterator; if (this_plot->num_iso_read == 0) this_plot->plot_type = NODATA; @@ -2342,6 +2333,7 @@ eval_3dplots() count_3dpoints(this_plot, &ntotal, &ninrange, &nundefined); if (ninrange == 0) { this_plot->plot_type = NODATA; + flag_iteration_nodata(plot_iterator); goto SKIPPED_EMPTY_FILE; } } @@ -2358,24 +2350,18 @@ eval_3dplots() if (df_return == DF_EOF) break; - /* there might be another surface so allocate - * and prepare another surface structure - * This does no harm if in fact there are - * no more surfaces to read + /* There might be another surface so allocate + * and prepare another surface structure. + * This does no harm if in fact there are no more surfaces to read. + * FIXME: There are a lot more flags and setting in the header, + * like opt_out_of_foo; do we not have to reset them??? + * I am not sure recycling old headers makes sense any more. */ - - if ((this_plot = *tp_3d_ptr) != NULL) { - if (this_plot->title) { - free(this_plot->title); - this_plot->title = NULL; - } - } else { - /* Allocate enough isosamples and samples */ + if ((this_plot = *tp_3d_ptr) == NULL) this_plot = *tp_3d_ptr = sp_alloc(0, 0, 0, 0); - } this_plot->plot_type = DATA3D; - this_plot->iteration = plot_iterator ? plot_iterator->iteration : 0; + this_plot->iteration = plot_iterator; this_plot->plot_style = first_dataset->plot_style; this_plot->lp_properties = first_dataset->lp_properties; this_plot->fill_properties = first_dataset->fill_properties; @@ -2414,13 +2400,13 @@ eval_3dplots() || this_plot->plot_type == NODATA) { tp_3d_ptr = &(this_plot->next_sp); this_plot->token = c_token; /* store for second pass */ - this_plot->iteration = plot_iterator ? plot_iterator->iteration : 0; + this_plot->iteration = plot_iterator; } else if (this_plot->plot_type == VOXELDATA){ /* voxel data in an active vgrid must already be present */ tp_3d_ptr = &(this_plot->next_sp); this_plot->token = c_token; /* store for second pass */ - this_plot->iteration = plot_iterator ? plot_iterator->iteration : 0; + this_plot->iteration = plot_iterator; /* FIXME: I worry that vxrange autoscales xrange and xrange autoscales vxrange */ autoscale_one_point((&axis_array[FIRST_X_AXIS]), this_plot->vgrid->vxmin); autoscale_one_point((&axis_array[FIRST_X_AXIS]), this_plot->vgrid->vxmax); @@ -2434,6 +2420,9 @@ eval_3dplots() this_plot->plot_type, __LINE__); } + /* Deferred evaluation of plot title now that we know column headers */ + reevaluate_plot_title( (struct curve_points *)this_plot ); + if (this_plot->plot_style == IMAGE || this_plot->plot_style == RGBIMAGE || this_plot->plot_style == RGBA_IMAGE) { @@ -2459,11 +2448,8 @@ eval_3dplots() eof_during_iteration = TRUE; else if (forever_iteration(plot_iterator) && (this_plot->plot_type != DATA3D)) int_error(NO_CARET, "unbounded iteration in something other than a data plot"); - else if (forever_iteration(plot_iterator)) - last_iteration_in_first_pass = plot_iterator->iteration_current; /* restore original value of sample variables */ - /* FIXME: somehow this_plot has changed since we saved sample_var! */ if (name_str && this_plot->sample_var) { this_plot->sample_var->udv_value = original_value_u; this_plot->sample_var2->udv_value = original_value_v; @@ -2479,10 +2465,21 @@ eval_3dplots() break; } - /* Iterate-over-plot mechanisms */ + /* Iterate-over-plot mechanisms + * First handle the special case of a nested unbounded iteration + * splot for [i=a:b] for [j=c:*] ... + * where eof_during_iteration means the inner loop finished but the + * outer loop continues. + * Then handle the usual cases where eof_during_iteration means we're done. + */ + if (plot_iterator && eof_during_iteration + && (forever_iteration(plot_iterator->next) < 0)) { + if (next_iteration(plot_iterator)) { + c_token = start_token; + continue; + } + } if (eof_during_iteration) { - FPRINTF((stderr, "eof during iteration current %d\n", plot_iterator->iteration_current)); - FPRINTF((stderr, " last_iteration_in_first_pass %d\n", last_iteration_in_first_pass)); eof_during_iteration = FALSE; } else if (next_iteration(plot_iterator)) { c_token = start_token; @@ -2493,13 +2490,10 @@ eval_3dplots() if (equals(c_token, ",")) { c_token++; plot_iterator = check_for_iteration(); - if (forever_iteration(plot_iterator)) - if (last_iteration_in_first_pass != INT_MAX) - int_warn(NO_CARET, "splot does not support multiple unbounded iterations"); + warn_if_too_many_unbounded_iterations(plot_iterator); } else break; - - } /* while(TRUE), ie first pass */ + } /* end of first pass, while (TRUE) */ if (parametric && crnt_param != 0) @@ -2581,10 +2575,6 @@ eval_3dplots() c_token = begin_token; plot_iterator = check_for_iteration(); - /* We kept track of the last productive iteration in the first pass */ - if (forever_iteration(plot_iterator)) - plot_iterator->iteration_end = last_iteration_in_first_pass; - if (hidden3d) { u_step = (u_max - u_min) / (iso_samples_1 - 1); v_step = (v_max - v_min) / (iso_samples_2 - 1); @@ -2606,8 +2596,13 @@ eval_3dplots() define(); if (equals(c_token,",")) c_token++; - was_definition = TRUE; - continue; + if (equals(c_token,"for")) { + /* fall through to iteration check at the end of the loop */ + c_token--; + } else { + was_definition = TRUE; + continue; + } } else { struct at_type *at_ptr; @@ -2672,17 +2667,27 @@ eval_3dplots() } /*}}} */ } /* end of ITS A FUNCTION TO PLOT */ + /* we saved it from first pass */ c_token = this_plot->token; - /* we may have seen this one data file in multiple iterations */ - i = this_plot->iteration; - do { + /* We may have seen this one data file in multiple iterations. + * Skip over all the plots it may have generated. + * This is *instead of* executing the iterations so ignore + * the current iterator. + */ + if (this_plot->plot_type == FUNC3D) { this_plot = this_plot->next_sp; - } while (this_plot - && this_plot->token == c_token - && this_plot->iteration == i - ); + } else { + void *it = this_plot->iteration; + plot_iterator = cleanup_iteration(plot_iterator); + do { + this_plot = this_plot->next_sp; + } while (this_plot + && this_plot->token == c_token + && this_plot->iteration == it + ); + } } /* !is_definition */ @@ -2699,8 +2704,6 @@ eval_3dplots() c_token++; if (crnt_param == 0) plot_iterator = check_for_iteration(); - if (forever_iteration(plot_iterator)) - plot_iterator->iteration_end = last_iteration_in_first_pass; } else break; @@ -2819,6 +2822,12 @@ eval_3dplots() if (this_plot->opt_out_of_contours) continue; + if (contour_kind == CONTOUR_KIND_CUBIC_SPL) { + if (axis_array[FIRST_X_AXIS].log || axis_array[FIRST_Y_AXIS].log) + int_warn(NO_CARET, + "use of cubic spline contours with log scale axes is not recommended"); + } + if (!this_plot->has_grid_topology) { int_warn(NO_CARET,"Cannot contour non grid data. Please use \"set dgrid3d\"."); } else if (this_plot->plot_type == DATA3D) { diff --git a/src/pm3d.c b/src/pm3d.c index ebdc70777..91b772422 100644 --- a/src/pm3d.c +++ b/src/pm3d.c @@ -52,6 +52,9 @@ typedef struct { } qcolor; short fillstyle; /* from plot->fill_properties */ short type; /* QUAD_TYPE_NORMAL or QUAD_TYPE_4SIDES etc */ +#ifdef WITH_2ND_SORTKEY + int sequence; /* The original order of added quadrangles */ +#endif } quadrangle; #define QUAD_TYPE_NORMAL 0 @@ -100,10 +103,7 @@ static TBOOLEAN reserve_quadrangles(int needed, int chunk); static gpdPoint *get_polygon(int size); static void free_polygonlist(void); -#define PM3D_INTERSECTING_SURFACES -#ifdef PM3D_INTERSECTING_SURFACES static void split_intersecting_surface_tiles(void); -#endif /* * Utility routines. @@ -363,6 +363,12 @@ static int compare_quadrangles(const void* v1, const void* v2) return 1; else if (q1->z < q2->z) return -1; +#ifdef WITH_2ND_SORTKEY + else if (q1->sequence > q2->sequence) + return 1; + else if (q1->sequence < q2->sequence) + return -1; +#endif else return 0; } @@ -380,9 +386,7 @@ void pm3d_depth_queue_flush(void) if (pm3d.direction != PM3D_DEPTH && !track_pm3d_quadrangles) return; -#ifdef PM3D_INTERSECTING_SURFACES split_intersecting_surface_tiles(); -#endif term->layer(TERM_LAYER_BEGIN_PM3D_FLUSH); @@ -399,7 +403,6 @@ void pm3d_depth_queue_flush(void) cliptorange(zbase, Z_AXIS.min, Z_AXIS.max); for (qp = quadrangles, qe = &quadrangles[current_quadrangle]; qp != qe; qp++) { - double z = 0; double zmean = 0; if (qp->type == QUAD_TYPE_LARGEPOLYGON) { @@ -417,14 +420,12 @@ void pm3d_depth_queue_flush(void) else map3d_xyz(gpdPtr->x, gpdPtr->y, gpdPtr->z, &out); zmean += out.z; - if (i == 0 || out.z > z) - z = out.z; } qp->z = zmean / nv; } - qsort(quadrangles, current_quadrangle, sizeof (quadrangle), compare_quadrangles); + gp_qsort(quadrangles, current_quadrangle, sizeof (quadrangle), compare_quadrangles); for (qp = quadrangles, qe = &quadrangles[current_quadrangle]; qp != qe; qp++) { @@ -505,8 +506,9 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) if (this_plot->lp_properties.colormap) private_colormap = this_plot->lp_properties.colormap; - /* Apply and save the user-requested line properties */ - term_apply_lp_properties(&this_plot->lp_properties); + /* Feb 2023: not necessary and may be counter-productive + term_apply_lp_properties(&this_plot->lp_properties); + */ if (at_which_z != PM3D_AT_BASE && at_which_z != PM3D_AT_TOP && at_which_z != PM3D_AT_SURFACE) return; @@ -533,7 +535,7 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) scanA = this_plot->iso_crvs; - pm3d_rearrange_scan_array(this_plot, &scan_array, &scan_array_n, &invert, (struct iso_curve ***) 0, (int *) 0, (int *) 0); + pm3d_rearrange_scan_array(this_plot, &scan_array, &scan_array_n, &invert, NULL, NULL, NULL); interp_i = pm3d.interp_i; interp_j = pm3d.interp_j; @@ -603,8 +605,6 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) reserve_quadrangles(needed_quadrangles, 0); } - /* pm3d_rearrange_scan_array(this_plot, (struct iso_curve***)0, (int*)0, &scan_array, &invert); */ - #if 0 /* debugging: print scan_array */ for (scan = 0; scan < this_plot->num_iso_read; scan++) { @@ -837,9 +837,8 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) else if (private_colormap) { gray = rgb_from_colormap(gray, private_colormap); } else if (!color_from_rgbvar) { - rgb255_color temp; - rgb255maxcolors_from_gray(gray, &temp); - gray = (long)((temp.r << 16) + (temp.g << 8) + (temp.b)); + unsigned int temp = rgb_from_gray(gray); + gray = (long)temp; } } @@ -1030,12 +1029,21 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) /* since that is what would have been returned from the */ /* lighting code. */ } else if (!color_from_rgbvar) { - rgb255_color temp; - rgb255maxcolors_from_gray(gray, &temp); - gray = (long)((temp.r << 16) + (temp.g << 8) + (temp.b)); + unsigned int temp = rgb_from_gray(gray); + gray = (long)temp; } } + /* FIXME: overwriting the z coordinates loses the option to + * do smooth clipping on z in the top/bottom planes + */ + if (at_which_z == PM3D_AT_BASE) + corners[0].z = corners[1].z = corners[2].z = corners[3].z + = base_z; + else if (at_which_z == PM3D_AT_TOP) + corners[0].z = corners[1].z = corners[2].z = corners[3].z + = ceiling_z; + if (pm3d.direction == PM3D_DEPTH) { /* copy quadrangle */ quadrangle* qp = &quadrangles[current_quadrangle]; @@ -1052,6 +1060,9 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) } qp->fillstyle = plot_fillstyle; qp->type = QUAD_TYPE_NORMAL; +#ifdef WITH_2ND_SORTKEY + qp->sequence = current_quadrangle; +#endif current_quadrangle++; } else { if (pm3d_shade.strength > 0 || color_from_rgbvar) @@ -1060,10 +1071,6 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) set_rgbcolor_var(rgb_from_colormap(gray, private_colormap)); else set_color(gray); - if (at_which_z == PM3D_AT_BASE) - corners[0].z = corners[1].z = corners[2].z = corners[3].z = base_z; - else if (at_which_z == PM3D_AT_TOP) - corners[0].z = corners[1].z = corners[2].z = corners[3].z = ceiling_z; filled_polygon(corners, plot_fillstyle, 4); } } @@ -1093,6 +1100,9 @@ pm3d_plot(struct surface_points *this_plot, int at_which_z) } qp->fillstyle = plot_fillstyle; qp->type = QUAD_TYPE_NORMAL; +#ifdef WITH_2ND_SORTKEY + qp->sequence = current_quadrangle; +#endif current_quadrangle++; } } /* interpolate between points */ @@ -1188,12 +1198,16 @@ pm3d_add_polygon(struct surface_points *plot, gpdPoint corners[], int vertices) quadrangle *q; if (!plot || (plot->plot_style == ISOSURFACE)) - /* FIXME: I have no idea how to estimate the number of facets for an isosurface */ + /* I have no idea how to estimate the number of facets for an isosurface */ reserve_quadrangles(100, 1000); else reserve_quadrangles(plot->iso_crvs->p_count, 0); - q = &quadrangles[current_quadrangle++]; + q = &quadrangles[current_quadrangle]; +#ifdef WITH_2ND_SORTKEY + q->sequence = current_quadrangle; +#endif + current_quadrangle++; memcpy(q->vertex.corners, corners, 4*sizeof(gpdPoint)); if (plot) q->fillstyle = style_from_fill(&plot->fill_properties); @@ -1636,11 +1650,23 @@ filled_polygon(gpdPoint *corners, int fillstyle, int nv) clipcorners = gp_realloc( clipcorners, (2*max_vertices) * sizeof(gpdPoint), "filled_polygon"); } - if ((pm3d.clip == PM3D_CLIP_Z) - && (pm3d_plot_at != PM3D_AT_BASE && pm3d_plot_at != PM3D_AT_TOP)) { - int new = clip_filled_polygon( corners, clipcorners, nv ); - if (new < 0) /* All vertices out of range */ + /* pm3d_plot_at is always 0 when we are called from pm3d depthorder + * processing so it cannot be used to distinguish top/bottom quadrangles + * (pm3d at [tb]) from surface quadrangles (pm3d at s). + * The original z values have been replaced by base_z or ceiling_z, + * so we can identify base plane quadrangles by testing for z == base_z. + * FIXME: However that means it is too late to get smooth z clipping for + * the top/bottom plane contents. + */ + if (pm3d.clip == PM3D_CLIP_Z) { + int new = 0; + if (corners[0].z == base_z) + new = 0; + else + new = clip_filled_polygon( corners, clipcorners, nv ); + if (new < 0) { /* All vertices out of range */ return; + } if (new > 0) { /* Some got clipped */ nv = new; corners = clipcorners; @@ -1660,6 +1686,9 @@ filled_polygon(gpdPoint *corners, int fillstyle, int nv) clip_polygon( ocorners, icorners, nv, &nv ); } + if (nv <= 0) + return; + if (fillstyle) icorners[0].style = fillstyle; else if (default_fillstyle.fillstyle == FS_EMPTY) @@ -1877,7 +1906,6 @@ pm3d_reset_after_error() free_polygonlist(); } -#ifdef PM3D_INTERSECTING_SURFACES /* * Ethan Merritt Sep 2021 * When two pm3d surfaces intersect, the intersection line is jagged because @@ -1956,7 +1984,7 @@ split_intersecting_surface_tiles() return; /* Sort quadrangles on x and y */ - qsort(quadrangles, current_quadrangle, sizeof(quadrangle), compare_xy_quad); + gp_qsort(quadrangles, current_quadrangle, sizeof(quadrangle), compare_xy_quad); /* Step through the list of quadrangles. * For each quadrangle look ahead to find another with the same [x,y] corners. @@ -2059,6 +2087,9 @@ split_intersecting_surface_tiles() qnew->gray = qt->gray; qnew->fillstyle = qt->fillstyle; qnew->qcolor = qt->qcolor; +#ifdef WITH_2ND_SORTKEY + qnew->sequence = qt->sequence; +#endif qnew->vertex.corners[0] = piece1[0]; qnew->vertex.corners[1] = piece1[1]; @@ -2084,6 +2115,9 @@ split_intersecting_surface_tiles() qnew->gray = qt->gray; qnew->fillstyle = qt->fillstyle; qnew->qcolor = qt->qcolor; +#ifdef WITH_2ND_SORTKEY + qnew->sequence = qt->sequence; +#endif qnew->vertex.corners[0] = piece2[0]; qnew->vertex.corners[1] = piece2[1]; @@ -2112,4 +2146,3 @@ split_intersecting_surface_tiles() } } -#endif /* PM3D_INTERSECTING_SURFACES */ diff --git a/src/qtterminal/QtGnuplotItems.cpp b/src/qtterminal/QtGnuplotItems.cpp index e317f02e3..14aa992b0 100644 --- a/src/qtterminal/QtGnuplotItems.cpp +++ b/src/qtterminal/QtGnuplotItems.cpp @@ -45,6 +45,10 @@ #include <QtGui> +#if QT_VERSION < QT_VERSION_CHECK(5, 11, 0) + #define horizontalAdvance width +#endif + ///////////////////////////// // QtGnuplotEnhanced @@ -111,7 +115,7 @@ QRectF QtGnuplotEnhancedFragment::boundingRect() const qreal QtGnuplotEnhancedFragment::width() const { QFontMetricsF metrics(m_font); - return metrics.width(m_text); + return metrics.horizontalAdvance(m_text); } void QtGnuplotEnhancedFragment::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) diff --git a/src/qtterminal/QtGnuplotScene.cpp b/src/qtterminal/QtGnuplotScene.cpp index ef7a4e964..f00e781ff 100644 --- a/src/qtterminal/QtGnuplotScene.cpp +++ b/src/qtterminal/QtGnuplotScene.cpp @@ -302,7 +302,7 @@ void QtGnuplotScene::processEvent(QtGnuplotEventType type, QDataStream& in) else if (type == GESetFont) { QString fontName; in >> fontName; - int size ; in >> size; + double size ; in >> size; // strip :Bold or :Italic property out of font name if (fontName.contains(":italic", Qt::CaseInsensitive)) @@ -664,7 +664,7 @@ void QtGnuplotScene::processEvent(QtGnuplotEventType type, QDataStream& in) { QFontMetrics metrics(m_font); int par1 = (metrics.ascent() + metrics.descent()); - int par2 = metrics.horizontalAdvance("0123456789")/10.; + int par2 = round(metrics.horizontalAdvance("0123456789")/10.); m_eventHandler->postTermEvent(GE_fontprops, 0, 0, par1, par2, m_widget); } else if (type == GEDone) diff --git a/src/qtterminal/gnuplot_qt.cpp b/src/qtterminal/gnuplot_qt.cpp index c13e89ca3..dda5d57e1 100644 --- a/src/qtterminal/gnuplot_qt.cpp +++ b/src/qtterminal/gnuplot_qt.cpp @@ -88,13 +88,20 @@ int main(int argc, char* argv[]) // Load translations for the qt library QTranslator qtTranslator; - qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - application.installTranslator(&qtTranslator); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + if (qtTranslator.load("qt_" + QLocale::system().name(), + QLibraryInfo::path(QLibraryInfo::TranslationsPath))) + application.installTranslator(&qtTranslator); +#else + if (qtTranslator.load("qt_" + QLocale::system().name(), + QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + application.installTranslator(&qtTranslator); +#endif // Load translations for the qt terminal QTranslator translator; - translator.load("qtgnuplot_" + QLocale::system().name(), qt_gnuplot_data_dir); - application.installTranslator(&translator); + if (translator.load("qtgnuplot_" + QLocale::system().name(), qt_gnuplot_data_dir)) + application.installTranslator(&translator); // Start application.exec(); diff --git a/src/qtterminal/qt_conversion.cpp b/src/qtterminal/qt_conversion.cpp index cf8a20930..a50d357b8 100644 --- a/src/qtterminal/qt_conversion.cpp +++ b/src/qtterminal/qt_conversion.cpp @@ -41,6 +41,15 @@ * under either the GPL or the gnuplot license. ]*/ +/* + * Qt6 no longer supports other 8-bit encodings natively, relegating the + * QTextCodec functions to a compatibility module Core5Compat. + * FIXME: roll our own? + */ +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + #include <QTextCodec> +#endif + static QColor qt_colorList[12] = { Qt::white, diff --git a/src/qtterminal/qt_term.cpp b/src/qtterminal/qt_term.cpp index d22af49cc..84f70c9c9 100644 --- a/src/qtterminal/qt_term.cpp +++ b/src/qtterminal/qt_term.cpp @@ -95,7 +95,7 @@ struct QtGnuplotState { *-------------------------------------------------------*/ bool gnuplot_qtStarted; - int currentFontSize; + double currentFontSize; QString currentFontName; QString localServerName; QTextCodec* codec; @@ -169,7 +169,7 @@ static bool qt_optionReplotOnResize = true; static bool qt_optionDash = true; static int qt_optionWidth = 640; static int qt_optionHeight = 480; -static int qt_optionFontSize = 9; +static double qt_optionFontSize = 10.0; static double qt_optionDashLength = 1.0; static double qt_optionLineWidth = 1.0; @@ -477,14 +477,14 @@ void qt_sendFont() { qt->out << GESetFont << qt->currentFontName << qt->currentFontSize; - QPair<QString, int> currentFont(qt->currentFontName, qt->currentFontSize); - static QPair<QString, int> lastFont("", 0); + QPair<QString, double> currentFont(qt->currentFontName, qt->currentFontSize); + static QPair<QString, double> lastFont("", 0.0); // The font has not changed if (currentFont == lastFont) return; - static QMap<QPair<QString, int>, QPair<int, int> > fontMetricCache; + static QMap< QPair<QString, double>, QPair<int, int> > fontMetricCache; QPair<int, int> metric; // Try to find the font metric in the cache or ask the GUI for the font metrics @@ -835,7 +835,7 @@ void qt_dashtype(int type, t_dashtype *custom_dash_type) int qt_set_font(const char* font) { ensureOptionsCreated(); - int qt_previousFontSize = qt->currentFontSize; + double qt_previousFontSize = qt->currentFontSize; QString qt_previousFontName = qt->currentFontName; if (font && (*font)) @@ -844,7 +844,7 @@ int qt_set_font(const char* font) if (list.size() > 0) qt->currentFontName = list[0]; if (list.size() > 1) - qt->currentFontSize = list[1].toInt(); + qt->currentFontSize = list[1].toDouble(); } else { qt->currentFontSize = qt_optionFontSize; qt->currentFontName = qt_option->FontName; @@ -1429,8 +1429,8 @@ void qt_options() QStringList list = fontSettings.split(','); if ((list.size() > 0) && !list[0].isEmpty()) qt_option->FontName = list[0]; - if ((list.size() > 1) && (list[1].toInt() > 0)) - qt_optionFontSize = list[1].toInt(); + if ((list.size() > 1) && (list[1].toDouble() > 0)) + qt_optionFontSize = list[1].toDouble(); } free(s); break; diff --git a/src/readline.c b/src/readline.c index 1154dd72c..3ad00794a 100644 --- a/src/readline.c +++ b/src/readline.c @@ -352,8 +352,6 @@ static void clear_line(const char *prompt); static void clear_eoline(const char *prompt); static void delete_previous_word(void); static void copy_line(char *line); -static void set_termio(void); -static void reset_termio(void); static int user_putc(int ch); static int user_puts(char *str); static int backspace(void); @@ -1586,7 +1584,7 @@ os2_getch() { /* set termio so we can do our own input processing */ -static void +void set_termio() { #if !defined(MSDOS) && !defined(_WIN32) @@ -1696,7 +1694,7 @@ set_termio() #endif /* not MSDOS && not _WIN32 */ } -static void +void reset_termio() { #if !defined(MSDOS) && !defined(_WIN32) diff --git a/src/readline.h b/src/readline.h index a1d3d3fe4..8e0553811 100644 --- a/src/readline.h +++ b/src/readline.h @@ -52,6 +52,8 @@ #if defined(READLINE) char *readline(const char *); +void set_termio(void); +void reset_termio(void); #elif defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDITLINE) int getc_wrapper(FILE* fp); diff --git a/src/save.c b/src/save.c index 142892656..9bb2f31ae 100644 --- a/src/save.c +++ b/src/save.c @@ -36,6 +36,7 @@ #include "contour.h" #include "datafile.h" #include "eval.h" +#include "filters.h" #include "fit.h" #include "gp_time.h" #include "gplocale.h" @@ -916,8 +917,9 @@ set origin %g,%g\n", fprintf( fp, "gamma %g ", sm_palette.gamma ); if (sm_palette.colorMode == SMPAL_COLOR_MODE_GRAY) { fputs( "gray\n", fp ); - } - else { + } else if (sm_palette.colorMode == SMPAL_COLOR_MODE_VIRIDIS) { + fputs( "viridis\n", fp ); + } else { fputs( "color model ", fp ); switch( sm_palette.cmodel ) { default: @@ -972,11 +974,9 @@ set origin %g,%g\n", save_position(fp, &color_box.size, 2, FALSE); fprintf(fp, " %s ", color_box.layer == LAYER_FRONT ? "front" : "back"); fprintf(fp, " %sinvert ", color_box.invert ? "" : "no"); - if (color_box.border == 0) - fputs("noborder", fp); - else - fprintf(fp, "border %d", color_box.border_lt_tag); - fprintf(fp, " cbtics %d", color_box.cbtics_lt_tag); + if (color_box.border == 0) fputs("noborder", fp); + else if (color_box.border_lt_tag < 0) fputs("bdefault", fp); + else fprintf(fp, "border %d", color_box.border_lt_tag); if (color_box.where == SMCOLOR_BOX_NO) fputs("\nunset colorbox\n", fp); else fputs("\n", fp); @@ -992,6 +992,10 @@ set origin %g,%g\n", (boxplot_opts.labels == BOXPLOT_FACTOR_LABELS_AUTO) ? "auto" :"off", boxplot_opts.sort_factors ? "" : "un"); +#ifdef WITH_CHI_SHAPES + fprintf(fp, "set chi_shapes fraction %.2f\n", chi_shape_default_fraction); +#endif + fputs("set loadpath ", fp); { char *s; diff --git a/src/set.c b/src/set.c index c6d0c7adf..394e7eaa1 100644 --- a/src/set.c +++ b/src/set.c @@ -48,6 +48,7 @@ #include "gp_hist.h" #include "gp_time.h" #include "gplocale.h" +#include "help.h" #include "hidden3d.h" #include "jitter.h" #include "loadpath.h" @@ -90,6 +91,7 @@ static void set_dummy(void); static void set_encoding(void); static void set_fit(void); static void set_grid(void); +static void set_help(void); static void set_hidden3d(void); static void set_history(void); static void set_pixmap(void); @@ -299,6 +301,9 @@ set_command() case S_GRID: set_grid(); break; + case S_HELP: + set_help(); + break; case S_HIDDEN3D: set_hidden3d(); break; @@ -687,6 +692,15 @@ set_command() set_ticslevel(); break; default: +#ifdef WITH_CHI_SHAPES + if (almost_equals(c_token,"chi$_shapes") + && equals(++c_token,"fraction")) { + extern double chi_shape_default_fraction; + c_token++; + chi_shape_default_fraction = real_expression(); + break; + } +#endif int_error(c_token, "unrecognized option - see 'help set'."); break; } @@ -2047,6 +2061,22 @@ set_grid() } +/* process 'set help {rows|columns}' */ +static void +set_help() +{ +#ifndef NO_GIH + c_token++; + if (almost_equals(c_token,"col$umns")) + help_sort_by_rows = FALSE; + else if (almost_equals(c_token,"row$s")) + help_sort_by_rows = TRUE; + else + int_error(c_token, "unrecognized option"); + c_token++; +#endif +} + /* process 'set hidden3d' command */ static void set_hidden3d() @@ -3384,7 +3414,6 @@ set_parametric() /* - * V5.5 EXPERIMENTAL * set colormap new <colormap-name> * set colormap <colormap-name> range [min:max] */ @@ -3537,21 +3566,15 @@ set_colorbox() if (!END_OF_COMMAND) { /* expecting a border line type */ color_box.border_lt_tag = int_expression(); - if (color_box.border_lt_tag <= 0) - color_box.border_lt_tag = -1; + if (color_box.border_lt_tag <= 0) { + color_box.border_lt_tag = 0; + int_error(c_token, "tag must be strictly positive (see `help set style line')"); + } --c_token; } continue; - case S_COLORBOX_CBTICS: /* "cbtics" */ - c_token++; - color_box.cbtics_lt_tag = int_expression(); - if (color_box.cbtics_lt_tag <= 0) - color_box.cbtics_lt_tag = -1; - --c_token; - continue; case S_COLORBOX_BDEFAULT: /* "bd$efault" */ color_box.border_lt_tag = -1; /* use default border */ - color_box.cbtics_lt_tag = 0; /* and cbtics */ continue; case S_COLORBOX_NOBORDER: /* "nobo$rder" */ color_box.border = 0; @@ -4348,6 +4371,9 @@ set_obj(int tag, int obj_type) if (!got_lt) { lp_style_type lptmp = this_object->lp_properties; lp_parse(&lptmp, LP_NOFILL, FALSE); + if (this_object->fillstyle.fillstyle == FS_EMPTY) { + this_object->fillstyle.border_color = lptmp.pm3d_color; + } if (c_token != save_token) { this_object->lp_properties.l_width = lptmp.l_width; this_object->lp_properties.d_type = lptmp.d_type; @@ -4834,7 +4860,7 @@ set_terminal() */ *term_options = 0; term->options(); - if (interactive && *term_options) + if (interactive && *term_options && !term_on_entry) fprintf(stderr,"Options are '%s'\n",term_options); if ((term->flags & TERM_MONOCHROME)) init_monochrome(); @@ -5768,13 +5794,9 @@ set_linestyle(struct linestyle_def **head, lp_class destination_class) break; if (this_linestyle == NULL || tag != this_linestyle->tag) { - /* Default style is based on linetype with the same tag id */ + /* Initialize to default for the linetype with the same tag id */ struct lp_style_type loc_lp = DEFAULT_LP_STYLE_TYPE; - loc_lp.l_type = tag - 1; - loc_lp.p_type = tag - 1; - loc_lp.d_type = DASHTYPE_SOLID; - loc_lp.pm3d_color.type = TC_LT; - loc_lp.pm3d_color.lt = tag - 1; + load_linetype(&loc_lp, tag); new_linestyle = gp_alloc(sizeof(struct linestyle_def), "linestyle"); if (prev_linestyle != NULL) @@ -5787,7 +5809,7 @@ set_linestyle(struct linestyle_def **head, lp_class destination_class) this_linestyle = new_linestyle; } - if (almost_equals(c_token, "def$ault")) { + if (destination_class == LP_STYLE && almost_equals(c_token, "def$ault")) { delete_linestyle(head, prev_linestyle, this_linestyle); c_token++; } else diff --git a/src/show.c b/src/show.c index 7ed60be1a..f50014ded 100644 --- a/src/show.c +++ b/src/show.c @@ -44,9 +44,11 @@ #include "datablock.h" #include "datafile.h" #include "eval.h" +#include "filters.h" #include "fit.h" #include "gp_time.h" #include "graphics.h" +#include "help.h" #include "hidden3d.h" #include "jitter.h" #include "misc.h" @@ -101,6 +103,7 @@ static void show_style_rectangle(void); static void show_style_circle(void); static void show_style_ellipse(void); static void show_grid(void); +static void show_help(void); static void show_raxis(void); static void show_paxis(void); static void show_zeroaxis(AXIS_INDEX); @@ -262,6 +265,9 @@ show_command() case S_GRID: show_grid(); break; + case S_HELP: + show_help(); + break; case S_RAXIS: show_raxis(); break; @@ -622,7 +628,6 @@ show_command() case S_VARIABLES: show_variables(); break; -/* FIXME: get rid of S_*DTICS, S_*MTICS cases */ case S_XTICS: case S_XDTICS: case S_XMTICS: @@ -680,15 +685,17 @@ show_command() show_watchpoints(); break; - /* HBB 20010525: 'set commands' that don't have an - * accompanying 'show' version, for no particular reason: */ - /* --- such case now, all implemented. */ - case S_INVALID: - error_message = "Unrecognized option. See 'help show'."; - break; default: - error_message = "invalid or deprecated syntax"; +#ifdef WITH_CHI_SHAPES + if (almost_equals(c_token,"chi$_shapes")) { + fprintf(stderr,"Default χ-shape parameter = %g of longest edge in convex hull\n", + chi_shape_default_fraction); + c_token++; + break; + } +#endif + error_message = "Unrecognized option."; break; } @@ -1002,12 +1009,7 @@ show_version(FILE *fp) ""; const char *nocwdrc = -#ifdef USE_CWDRC - "+" -#else - "-" -#endif - "USE_CWDRC "; + "-USE_CWDRC "; const char *x11 = #ifdef X11 @@ -1057,6 +1059,13 @@ show_version(FILE *fp) "-FUNCTIONBLOCKS "; #endif + const char *chi_shapes = +#if defined(WITH_CHI_SHAPES) + "+CHI_SHAPES "; +#else + "-CHI_SHAPES "; +#endif + const char *unicodebuild = #if defined(_WIN32) && defined(UNICODE) "+UNICODE "; @@ -1065,12 +1074,12 @@ show_version(FILE *fp) #endif sprintf(compile_options, - " %s%s\n %s%s\n %s%s%s%s\n %s\n %s%s%s%s\n %s\n", + " %s%s\n %s%s\n %s%s%s%s\n %s\n %s%s%s%s\n %s%s\n", rdline, gnu_rdline, unicodebuild, plotoptions, complexfunc, libcerf, libamos, have_cexint, libgd, nocwdrc, x11, use_mouse, hiddenline, - fblocks + fblocks, chi_shapes ); } @@ -1756,6 +1765,16 @@ show_grid() fprintf(stderr, "\tGrid drawn at %s\n", (grid_layer==-1) ? "default layer" : ((grid_layer==0) ? "back" : "front")); } +/* process 'show help' command */ +static void +show_help() +{ +#ifndef NO_GIH + fprintf(stderr,"\thelp subtopics are sorted by %s\n", + help_sort_by_rows ? "row" : "column"); +#endif +} + static void show_raxis() { @@ -2357,6 +2376,9 @@ show_palette() case SMPAL_COLOR_MODE_GRADIENT: fputs( "\tcolor mapping by defined gradient\n", stderr ); break; + case SMPAL_COLOR_MODE_VIRIDIS: + fputs( "\tgradient named viridis\n", stderr ); + break; case SMPAL_COLOR_MODE_FUNCTIONS: fputs("\tcolor mapping is done by user defined functions\n",stderr); if (sm_palette.Afunc.at && sm_palette.Afunc.definition) @@ -2386,6 +2408,8 @@ show_palette() else fputs("ALL remaining", stderr); fputs(" color positions for discrete palette terminals\n", stderr); + if (sm_palette.colors > 0) + fprintf(stderr,"\t\t(current terminal has provided %d)\n", sm_palette.colors); fputs( "\tColor-Model: ", stderr ); switch( sm_palette.cmodel ) { default: @@ -2436,19 +2460,14 @@ static void show_colorbox() { c_token++; - if (!color_box.border) { - fprintf(stderr, "\tcolor box without border"); - } else { - fprintf(stderr, "\tcolor box with border lt"); - if (color_box.border_lt_tag > 0) - fprintf(stderr," %d", color_box.border_lt_tag); + if (color_box.border) { + fputs("\tcolor box with border, ", stderr); + if (color_box.border_lt_tag >= 0) + fprintf(stderr,"line type %d is ", color_box.border_lt_tag); else - fprintf(stderr," default"); - fprintf(stderr, " cbtics lt"); - if (color_box.cbtics_lt_tag > 0) - fprintf(stderr," %d ", color_box.cbtics_lt_tag); - else - fprintf(stderr," same "); + fputs("DEFAULT line type is ", stderr); + } else { + fputs("\tcolor box without border is ", stderr); } if (color_box.where != SMCOLOR_BOX_NO) { if (color_box.layer == LAYER_FRONT) fputs("drawn front\n\t", stderr); @@ -2976,7 +2995,7 @@ show_mtics(struct axis *axis) break; case MINI_USER: fprintf(stderr, "\ -\tminor %stics are drawn with %d subintervals between major xtic marks\n", +\tminor %stics are drawn with %d subintervals between major tic marks\n", name, axis->mtic_freq); break; case MINI_TIME: diff --git a/src/standard.c b/src/standard.c index 885f7ae86..79bffe4eb 100644 --- a/src/standard.c +++ b/src/standard.c @@ -1143,9 +1143,9 @@ f_exists(union argument *arg) (void) pop(&a); if (a.type == STRING) { - struct udvt_entry *udv = add_udv_by_name(a.v.string_val); + struct udvt_entry *udv = get_udv_by_name(a.v.string_val); gpfree_string(&a); - push(Ginteger(&a, udv->udv_value.type == NOTDEFINED ? 0 : 1)); + push(Ginteger(&a, (udv && (udv->udv_value.type != NOTDEFINED)))); } else { push(Ginteger(&a, 0)); } @@ -1422,10 +1422,9 @@ ri1(double x) } -/* FIXME HBB 20010726: should bessel functions really call int_error, - * right in the middle of evaluating some mathematical expression? - * Couldn't they just flag 'undefined', or ignore the real part of the - * complex number? */ +/* Warn if the user passes an argument with non-zero imaginary component */ +static const char *bessel_error + = "For complex Bessel functions use BesselI, BesselJ, BesselY, BesselK"; void f_besi0(union argument *arg) @@ -1435,7 +1434,7 @@ f_besi0(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); push(Gcomplex(&a, ri0(real(&a)), 0.0)); } @@ -1447,7 +1446,7 @@ f_besi1(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); push(Gcomplex(&a, ri1(real(&a)), 0.0)); } @@ -1459,7 +1458,7 @@ f_besj0(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); push(Gcomplex(&a, rj0(real(&a)), 0.0)); } @@ -1472,7 +1471,7 @@ f_besj1(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); push(Gcomplex(&a, rj1(real(&a)), 0.0)); } @@ -1485,7 +1484,7 @@ f_besy0(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); if (real(&a) > 0.0) push(Gcomplex(&a, ry0(real(&a)), 0.0)); else { @@ -1503,7 +1502,7 @@ f_besy1(union argument *arg) (void) arg; /* avoid -Wunused warning */ (void) pop(&a); if (fabs(imag(&a)) > zero) - int_error(NO_CARET, "can only do bessel functions of reals"); + int_error(NO_CARET, bessel_error); if (real(&a) > 0.0) push(Gcomplex(&a, ry1(real(&a)), 0.0)); else { @@ -1522,7 +1521,7 @@ f_besjn(union argument *arg) if ((n.type != INTGR) || (fabs(imag(&a)) > zero)) { push(Gcomplex(&a, 0.0, 0.0)); undefined = TRUE; - int_error(NO_CARET, "improper argument to besjn(int,real)"); + int_error(NO_CARET, bessel_error); } else { push(Gcomplex(&a, jn(n.v.int_val, real(&a)), 0.0)); } @@ -1538,7 +1537,7 @@ f_besyn(union argument *arg) if ((n.type != INTGR) || (fabs(imag(&a)) > zero)) { push(Gcomplex(&a, 0.0, 0.0)); undefined = TRUE; - int_error(NO_CARET, "improper argument to besyn(int,real)"); + int_error(NO_CARET, bessel_error); } else { push(Gcomplex(&a, yn(n.v.int_val, real(&a)), 0.0)); } diff --git a/src/stats.c b/src/stats.c index db313e7c6..e5f64e97b 100644 --- a/src/stats.c +++ b/src/stats.c @@ -1001,7 +1001,7 @@ statsrequest(void) } } /* if (need to extend storage space) */ - /* FIXME: ascii "matrix" input from df_readline via df_readbinary does not + /* ascii "matrix" input from df_readline via df_readbinary does not * flag NaN values so we must check each returned value here */ if (df_matrix && (i == 2) && isnan(v[1])) diff --git a/src/syscfg.h b/src/syscfg.h index 8d216eeb2..987426a81 100644 --- a/src/syscfg.h +++ b/src/syscfg.h @@ -409,4 +409,27 @@ typedef unsigned char _Bool; # endif #endif +/* The qsort implementation in glibc is stable; + * i.e. elements that test as equal are guaranteed to retain their origin order. + * However the qsort provided by BSD and macOS is not stable. + * Those systems may provide mergesort as a stable alternative. + * Other non-glibc platforms including mingw and Cygwin do not provide a stable sort. + * We will try to pick an appropriate sort if possible and otherwise add code + * so that pm3d depthsorting is stable. + * If ./configure --with-stable-sort + * 1) Use mergesort if the system provides it, otherwise qsort + * 2) If neither mergesort nor glibc's qsort is available + * add a sequence field to pm3d quadrangles that serves as a secondary sort key + */ +#if defined(HAVE_MERGESORT) +# define gp_qsort(base, n, size, compare) mergesort(base, n, size, compare) +#else +# define gp_qsort(base, n, size, compare) qsort(base, n, size, compare) +# endif +#if defined(WITH_STABLE_SORT) +# if !defined(__GLIBC__) && !defined(HAVE_MERGESORT) +# define WITH_2ND_SORTKEY +# endif +#endif + #endif /* !SYSCFG_H */ diff --git a/src/tables.c b/src/tables.c index 03c4d2ac5..6a5c99d73 100644 --- a/src/tables.c +++ b/src/tables.c @@ -205,6 +205,7 @@ const struct gen_table set_tbl[] = { "fu$nction", S_FUNCTIONS }, { "fu$nctions", S_FUNCTIONS }, { "g$rid", S_GRID }, + { "help", S_HELP }, { "hid$den3d", S_HIDDEN3D }, { "historysize", S_HISTORYSIZE }, /* Deprecated */ { "his$tory", S_HISTORY }, @@ -478,7 +479,6 @@ const struct gen_table set_colorbox_tbl[] = { "bo$rder", S_COLORBOX_BORDER }, { "bd$efault", S_COLORBOX_BDEFAULT }, { "nobo$rder", S_COLORBOX_NOBORDER }, - { "cbtics", S_COLORBOX_CBTICS }, { "o$rigin", S_COLORBOX_ORIGIN }, { "s$ize", S_COLORBOX_SIZE }, { "inv$ert", S_COLORBOX_INVERT }, @@ -752,6 +752,7 @@ const struct gen_table plotstyle_tbl[] = { "rgbima$ge", RGBIMAGE }, { "rgba$lpha", RGBA_IMAGE }, { "cir$cles", CIRCLES }, + { "sec$tors", SECTORS }, { "ell$ipses", ELLIPSES }, { "sur$face", SURFACEGRID }, { "parallel$axes", PARALLELPLOT }, diff --git a/src/tables.h b/src/tables.h index 49e14adef..e160621fa 100644 --- a/src/tables.h +++ b/src/tables.h @@ -75,7 +75,7 @@ enum set_id { S_BOXDEPTH, S_BOXWIDTH, S_CLABEL, S_CLIP, S_CNTRPARAM, S_CNTRLABEL, S_CONTOUR, S_COLOR, S_COLORMAP, S_COLORSEQUENCE, S_CORNERPOLES, S_DASHTYPE, S_DATA, S_DATAFILE, S_DECIMALSIGN, S_DGRID3D, S_DUMMY, S_ENCODING, - S_FIT, S_FONTPATH, S_FORMAT, S_FUNCTIONS, S_GRID, + S_FIT, S_FONTPATH, S_FORMAT, S_FUNCTIONS, S_GRID, S_HELP, S_HIDDEN3D, S_HISTORY, S_HISTORYSIZE, S_ISOSAMPLES, S_ISOTROPIC, S_PIXMAP, S_JITTER, S_KEY, S_LABEL, S_LINK, S_NONLINEAR, S_LINESTYLE, S_LINETYPE, S_LOADPATH, S_LOCALE, S_LOGSCALE, S_MACROS, @@ -148,7 +148,7 @@ enum set_colorbox_id { S_COLORBOX_INVALID, S_COLORBOX_VERTICAL, S_COLORBOX_HORIZONTAL, S_COLORBOX_DEFAULT, S_COLORBOX_USER, S_COLORBOX_BOTTOM, - S_COLORBOX_ORIGIN, S_COLORBOX_SIZE, S_COLORBOX_CBTICS, + S_COLORBOX_ORIGIN, S_COLORBOX_SIZE, S_COLORBOX_BORDER, S_COLORBOX_BDEFAULT, S_COLORBOX_NOBORDER, S_COLORBOX_INVERT, S_COLORBOX_NOINVERT, S_COLORBOX_FRONT, S_COLORBOX_BACK diff --git a/src/term.c b/src/term.c index 2d3ade77f..05017256c 100644 --- a/src/term.c +++ b/src/term.c @@ -196,6 +196,9 @@ int mono_recycle_count = 0; /* Internal variables */ +/* cleared on entry when terminal is first initialised */ +TBOOLEAN term_on_entry = TRUE; + /* true if terminal is in graphics mode */ static TBOOLEAN term_graphics = FALSE; @@ -221,6 +224,12 @@ static void do_point(unsigned int x, unsigned int y, int number); static void do_pointsize(double size); static void do_arrow(unsigned int sx, unsigned int sy, unsigned int ex, unsigned int ey, int headstyle); static void null_dashtype(int type, t_dashtype *custom_dash_pattern); +#ifdef USE_MOUSE +static void null_tmptext(int i, const char *s); +static void null_set_ruler(int x, int y); +static void null_set_cursor(int c, int x, int y); +static void null_set_clipboard(const char *s); +#endif static int null_text_angle(float ang); static int null_justify_text(enum JUSTIFY just); @@ -1333,6 +1342,105 @@ null_dashtype(int type, t_dashtype *custom_dash_pattern) term->linetype(type); } +#ifdef USE_MOUSE + +/* + * This routine dummies up mouse events for terminals that can + * plot directly into the console (no separate graphics window). + * If "pause mouse" is active, it filters characters from stdin through + * the current mouse key bindings. It attempts to handle arrow keys. + * Otherwise it returns the next character read from stdin. + * + * EAM - May 2023 + * + * FIXME: handle "pause -1" in additional to "pause mouse" + * FIXME: can we somehow catch actual mouse events? + * FIXME: how to detect shift/control/alt modifiers? + * empirical tests suggests <033><073><065> is control + * <033><073><062> is shift + */ +#if defined(HAVE_LIBREADLINE) + #define raw() rl_prep_terminal(1) + #define cook() rl_deprep_terminal() + #define nextchar() rl_getc(stdin) +#elif defined(HAVE_LIBEDITLINE) + #define raw() rl_prep_terminal(1) + #define cook() rl_deprep_terminal() + #define nextchar() fgetc(stdin) +#elif defined(READLINE) + #define raw() set_termio() + #define cook() reset_termio() + #define nextchar() fgetc(stdin) +#endif + +int +term_waitforinput(int options) +{ + int nextchar; + + if (options == TERM_ONLY_CHECK_MOUSING) + return '\0'; + + if (paused_for_mouse) { + /* Read single character at a time */ + raw(); + nextchar = nextchar(); + + /* Normal exit from "pause mouse" */ + if (nextchar == '\n' || nextchar == '\r') { + paused_for_mouse = 0; + cook(); + exec_event( GE_reset, 0, 0, 0, 0, 0 ); + return nextchar; + } + + /* Try to catch arrow key escape sequences */ + if (nextchar == '\033') { + if ((nextchar = nextchar()) == '[') { + nextchar = nextchar(); + switch (nextchar) { + case 'A': nextchar = GP_Up; break; + case 'B': nextchar = GP_Down; break; + case 'C': nextchar = GP_Right; break; + case 'D': nextchar = GP_Left; break; + default: /* unrecognized */ + return '\0'; + break; + } + } else { + /* Some unrecognized escape sequence */ + } + } + + /* Feed to active key binding. + * I.e. act as if this key had been pressed while focus was + * in an active plot window (which it is, kind of). + */ + exec_event( GE_keypress, 0, 0, nextchar, 0, 0 ); + return '\0'; + } else { + nextchar = getchar(); + } + return nextchar; +} + +static void +null_tmptext(int i, const char *s) +{} + +static void +null_set_ruler(int x, int y) +{} + +static void +null_set_cursor(int c, int x, int y) +{} + +static void +null_set_clipboard(const char *s) +{} +#endif + /* setup the magic macros to compile in the right parts of the * terminal drivers included by term.h */ @@ -1478,6 +1586,11 @@ change_term(const char *origname, int length) name = "epscairo"; length = 8; } + /* To allow "set term kitty" as short for "set term kittycairo" */ + if (!strncmp(origname,"kitty",length)) { + name = "kittycairo"; + length = 10; + } #endif #ifdef HAVE_LIBGD /* To allow "set term sixel" as short for "set term sixelgd" */ @@ -1534,7 +1647,18 @@ change_term(const char *origname, int length) if (term->dashtype == 0) term->dashtype = null_dashtype; - if (interactive) +#ifdef USE_MOUSE + if (term->put_tmptext == NULL) + term->put_tmptext = null_tmptext; + if (term->set_ruler == NULL) + term->set_ruler = null_set_ruler; + if (term->set_cursor == NULL) + term->set_cursor = null_set_cursor; + if (term->set_clipboard == NULL) + term->set_clipboard = null_set_clipboard; +#endif + + if (interactive && !term_on_entry) fprintf(stderr, "\nTerminal type is now '%s'\n", term->name); /* Invalidate any terminal-specific structures that may be active */ @@ -1576,6 +1700,7 @@ init_terminal() free(set_term_command); /* replicate environmental variable GNUTERM for internal use */ Gstring(&(add_udv_by_name("GNUTERM")->udv_value), gp_strdup(gnuterm)); + term_on_entry = FALSE; return; } else { @@ -1671,16 +1796,20 @@ init_terminal() if (change_term(term_name, namelength)) { if (strcmp(term->name,"x11")) term->options(); + term_on_entry = FALSE; return; } fprintf(stderr, "Unknown or ambiguous terminal name '%s'\n", term_name); } change_term("unknown", 7); + term_on_entry = FALSE; } -/* test terminal by drawing border and text */ -/* called from command test */ +/* + * test page for terminal capabilities and current properties + * (lines, points, fill, test, polygons, text rotation, ...). + */ void test_term() { @@ -1693,6 +1822,7 @@ test_term() int p_width; TBOOLEAN already_in_enhanced_text_mode; static t_colorspec black = BLACK_COLORSPEC; + struct lp_style_type ls = DEFAULT_LP_STYLE_TYPE; already_in_enhanced_text_mode = t->flags & TERM_ENHANCED_TEXT; if (!already_in_enhanced_text_mode) @@ -1736,6 +1866,7 @@ test_term() (*t->put_text) (x0 + t->h_char * 2, y0 + ymax_t - t->v_char * 2.25, tbuf); } + /* axis line type (lt 0) used for xzeroaxis, yzeroaxis, should always be dotted */ (*t->linetype) (LT_AXIS); (*t->move) (x0 + xmax_t / 2, y0); (*t->vector) (x0 + xmax_t / 2, y0 + ymax_t - 1); @@ -1788,6 +1919,15 @@ test_term() (*t->set_font)(""); if (!already_in_enhanced_text_mode) do_string("set termopt noenh"); + } else if (t->flags & TERM_IS_LATEX) { + char *tmptext1 = "\\LaTeX: $\\int{x_{0}^{n+1}}$"; + (*t->put_text) (x0 + xmax_t * 0.5, y0 + ymax_t * 0.37, tmptext1); + } + + /* Test for UTF8 support */ + { + char *tmptext1 = "utf8: Å→∞"; + (*t->put_text) (x0 + xmax_t * 0.5, y0 + ymax_t * 0.30, tmptext1); } /* test justification */ @@ -1809,7 +1949,7 @@ test_term() y0 + ymax_t / 2 + t->v_char * 4, str); /* test tic size */ - (*t->linetype)(2); + (*t->linetype)(LT_BLACK); (*t->move) ((unsigned int) (x0 + xmax_t / 2 + t->h_tic * (1 + axis_array[FIRST_X_AXIS].ticscale)), y0 + (unsigned int) ymax_t - 1); (*t->vector) ((unsigned int) (x0 + xmax_t / 2 + t->h_tic * (1 + axis_array[FIRST_X_AXIS].ticscale)), (unsigned int) (y0 + ymax_t - axis_array[FIRST_X_AXIS].ticscale * t->v_tic)); @@ -1821,15 +1961,14 @@ test_term() y0 + (unsigned int) (ymax_t - t->v_char), "show ticscale"); (void) (*t->justify_text) (LEFT); - (*t->linetype)(LT_BLACK); - /* test line and point types */ + /* + * line and point types + */ x = x0 + xmax_t - t->h_char * 7 - p_width; y = y0 + ymax_t - key_entry_height; (*t->pointsize) (pointsize); for (i = -2; y > y0 + key_entry_height; i++) { - struct lp_style_type ls = DEFAULT_LP_STYLE_TYPE; - ls.l_width = 1; load_linetype(&ls,i+1); term_apply_lp_properties(&ls); @@ -1846,8 +1985,9 @@ test_term() } /* test arrows (should line up with rotated text) */ - (*t->linewidth) (1.0); - (*t->linetype) (0); + load_linetype(&ls, 2); + ls.l_width = 1; + term_apply_lp_properties(&ls); (*t->dashtype) (DASHTYPE_SOLID, NULL); x = x0 + 2. * t->v_char; y = y0 + ymax_t/2; @@ -1863,7 +2003,6 @@ test_term() curr_arrow_headfilled = i; /* test text angle (should match arrows) */ - (*t->linetype)(0); str = "rotated ce+ntred text"; if ((*t->text_angle) (TEXT_VERTICAL)) { if ((*t->justify_text) (CENTRE)) @@ -1970,15 +2109,17 @@ test_term() corners[n].x = corners[0].x; corners[n].y = corners[0].y; if (j == 0) { - (*t->linetype)(2); + load_linetype(&ls, 3); + term_apply_lp_properties(&ls); corners->style = FS_OPAQUE; } else { - (*t->linetype)(1); + load_linetype(&ls, 4); + term_apply_lp_properties(&ls); corners->style = FS_TRANSPARENT_SOLID + (50<<4); } term->filled_polygon(n+1, corners); } - str = "filled polygons:"; + str = "filled polygons"; } else str = "No filled polygons"; (*t->linetype)(LT_BLACK); @@ -2356,9 +2497,9 @@ enhanced_recursion( break; } - /* FIXME: non-utf8 environments not yet supported. - * Note that some terminals may have an alternative way to handle unicode - * escape sequences that is not dependent on encoding. + /* Non-utf8 environments not supported here. + * Note that some terminals have an alternative way to handle unicode + * escape sequences that is not dependent on gnuplot's encoding. * E.g. svg and html output could convert to xml sequences &#xhhhh; * For these cases we must retain the leading backslash so that the * unicode escape sequence can be recognized by the terminal driver. diff --git a/src/term.h b/src/term.h index 367a0fe43..37f01ae1f 100644 --- a/src/term.h +++ b/src/term.h @@ -187,10 +187,14 @@ /* obsolete: use 'set term postscript level1 */ /* #include "ai.trm" */ -/* HTML Canvas terminal */ +/* Support routines requiring gdlib or cairo */ #if (defined(HAVE_GD_PNG) || defined(HAVE_CAIROPDF)) # include "write_png_image.c" +# define HAVE_KITTY_TERM +# include "kitty.c" #endif + +/* HTML Canvas terminal */ #include "canvas.trm" /* Computer Graphics Metafile (eg ms office) */ diff --git a/src/term_api.h b/src/term_api.h index 4cc7a1de1..fd1508768 100644 --- a/src/term_api.h +++ b/src/term_api.h @@ -277,6 +277,8 @@ typedef enum t_imagecolor { IC_PALETTE, IC_RGB, IC_RGBA } #define TERM_EXTENDED_COLOR (1<<15) /* uses EXTENDED_COLOR_SPECS */ #define TERM_NULL_SET_COLOR (1<<16) /* no support for RGB color */ #define TERM_POLYGON_PIXELS (1<<17) /* filledpolygon rather than fillbox */ +#define TERM_REUSES_BOXTEXT (1<<18) /* epslatex/cairolatex */ +#define TERM_COLORBOX_IMAGE (1<<19) /* render colorbox as an image */ /* The terminal interface structure --- heart of the terminal layer. * @@ -442,6 +444,9 @@ extern const char *encoding_names[]; /* parsing table for encodings */ extern const struct gen_table set_encoding_tbl[]; +/* cleared on entry when terminal is first initialized */ +extern TBOOLEAN term_on_entry; + /* mouse module needs this */ extern TBOOLEAN term_initialised; diff --git a/src/unset.c b/src/unset.c index aa8f3ccea..5511684e5 100644 --- a/src/unset.c +++ b/src/unset.c @@ -37,6 +37,7 @@ #include "contour.h" #include "datablock.h" #include "datafile.h" +#include "filters.h" #include "fit.h" #include "gp_hist.h" #include "gplocale.h" @@ -142,6 +143,7 @@ static void unset_tics(struct axis *); static void unset_ticslevel(void); static void unset_timefmt(void); static void unset_timestamp(void); +static void unset_theta(void); static void unset_view(void); static void unset_zero(void); static void unset_timedata(AXIS_INDEX); @@ -258,7 +260,7 @@ unset_command() unset_hidden3d(); break; case S_HISTORY: - break; /* FIXME: reset to default values? */ + break; case S_HISTORYSIZE: /* Deprecated */ unset_historysize(); break; @@ -487,6 +489,9 @@ unset_command() case S_TITLE: unset_axislabel_or_title(&title); break; + case S_THETA: + unset_theta(); + break; case S_VIEW: unset_view(); break; @@ -655,6 +660,13 @@ unset_command() break; case S_INVALID: default: +#ifdef WITH_CHI_SHAPES + if (almost_equals(c_token, "chi$_shapes")) { + c_token++; + reset_hulls(TRUE); + break; + } +#endif int_error(c_token, "Unrecognized option. See 'help unset'."); break; } @@ -837,14 +849,15 @@ reset_bars() void reset_datafile() { - df_fortran_constants = FALSE; - unset_missing(); - free(df_separators); - df_separators = NULL; - free(df_commentschars); - df_commentschars = gp_strdup(DEFAULT_COMMENTS_CHARS); - df_unset_datafile_binary(); - df_columnheaders = FALSE; + df_init(); + df_fortran_constants = FALSE; + unset_missing(); + free(df_separators); + df_separators = NULL; + free(df_commentschars); + df_commentschars = gp_strdup(DEFAULT_COMMENTS_CHARS); + df_unset_datafile_binary(); + df_columnheaders = FALSE; } /* process 'unset border' command */ @@ -1047,13 +1060,8 @@ unset_fit() static void unset_grid() { - /* FIXME HBB 20000506: there is no command to explicitly reset the - * linetypes for major and minor gridlines. This function should - * do that, maybe... */ - AXIS_INDEX i = 0; - /* grid_selection = GRID_OFF; */ - for (; i < NUMBER_OF_MAIN_VISIBLE_AXES; i++) { + for (AXIS_INDEX i = 0; i < NUMBER_OF_MAIN_VISIBLE_AXES; i++) { axis_array[i].gridmajor = FALSE; axis_array[i].gridminor = FALSE; } @@ -1656,8 +1664,6 @@ unset_polar( TBOOLEAN grid ) } } raxis = FALSE; - theta_origin = 0.0; - theta_direction = 1.0; /* Clear and reinitialize THETA axis structure */ unset_tics(&THETA_AXIS); @@ -1845,7 +1851,6 @@ unset_terminal() term_reset(); - /* FIXME: change is correct but reported result is truncated */ if (original_terminal && original_terminal->udv_value.type != NOTDEFINED) { char *termname = gp_strdup(original_terminal->udv_value.v.string_val); if (strchr(termname, ' ')) @@ -1885,6 +1890,12 @@ unset_timestamp() timelabel_bottom = TRUE; } +static void +unset_theta() +{ + theta_origin = 0.0; + theta_direction = 1.0; +} /* process 'unset view' command */ static void @@ -2015,13 +2026,15 @@ reset_command() c_token++; + /* This would be asking for trouble */ + if (evaluate_inside_functionblock) + int_error(NO_CARET, "cannot 'reset' during function block evaluation"); + /* This is the expression evaluation stack */ reset_stack(); /* Reset session state as well as internal graphics state */ if (equals(c_token, "session")) { - if (evaluate_inside_functionblock) - int_error(c_token, "cannot reset session during function block evaluation"); clear_udf_list(); init_constants(); init_session(); @@ -2102,6 +2115,7 @@ reset_command() unset_polar(TRUE); unset_parametric(); unset_dummy(); + unset_theta(); unset_spiderplot(); unset_style_spiderplot(); @@ -2234,6 +2248,7 @@ reset_command() prefer_line_styles = FALSE; #endif + reset_hulls(1); reset_watches(); #ifdef USE_MOUSE @@ -2244,12 +2259,8 @@ reset_command() if (multiplot) multiplot_reset(); - unset_missing(); - free(df_separators); - df_separators = NULL; - free(df_commentschars); - df_commentschars = gp_strdup(DEFAULT_COMMENTS_CHARS); - df_init(); + /* reset everything to do with "set datafile" */ + reset_datafile(); { /* Preserve some settings for `reset`, but not for `unset fit` */ verbosity_level save_verbosity = fit_verbosity; diff --git a/src/util.c b/src/util.c index a1ad8689c..a0fa3e817 100644 --- a/src/util.c +++ b/src/util.c @@ -1041,7 +1041,7 @@ print_line_with_error(int t_num) /* Print problem line from data file to the terminal */ df_showdata(); - } else { + } else if (gp_input_line) { /* If the current line was built by concatenation of lines inside */ /* a {bracketed clause}, try to reconstruct the true line number */ diff --git a/src/util3d.c b/src/util3d.c index 33cb80283..459475034 100644 --- a/src/util3d.c +++ b/src/util3d.c @@ -906,16 +906,12 @@ draw3d_point_unconditional(p_vertex v, struct lp_style_type *lp) int x, y; TERMCOORD(v, x, y); - /* Jul 2010 EAM - is it safe to overwrite like this? Make a copy instead? */ lp->pm3d_color.value = v->real_z; term_apply_lp_properties(lp); if (!clip_point(x, y)) (term->point) (x, y, lp->p_type); } -/* Moved this upward, to make optional inlining in draw3d_line easier - * for compilers */ -/* HBB 20021128: removed GP_INLINE qualifier to avoid MSVC++ silliness */ void draw3d_line_unconditional( p_vertex v1, p_vertex v2, diff --git a/src/version.c b/src/version.c index 130321cee..17206249f 100644 --- a/src/version.c +++ b/src/version.c @@ -35,14 +35,15 @@ #include "syscfg.h" /* for FAQ_LOCATION */ +const double gnuplot_ver = 6.0; const char gnuplot_version[] = "6.0"; -const char gnuplot_patchlevel[] = "0alpha"; +const char gnuplot_patchlevel[] = "rc2"; #ifdef DEVELOPMENT_VERSION #include "timestamp.h" #else -const char gnuplot_date[] = "2022-10-27 "; +const char gnuplot_date[] = "2023-08-12 "; #endif -const char gnuplot_copyright[] = "Copyright (C) 1986-1993, 1998, 2004, 2007-2022"; +const char gnuplot_copyright[] = "Copyright (C) 1986-1993, 1998, 2004, 2007-2023"; const char faq_location[] = FAQ_LOCATION; diff --git a/src/version.h b/src/version.h index f175b4dad..fa1e95acb 100644 --- a/src/version.h +++ b/src/version.h @@ -35,6 +35,7 @@ #include "syscfg.h" +extern const double gnuplot_ver; extern const char gnuplot_version[]; extern const char gnuplot_patchlevel[]; extern const char gnuplot_date[]; diff --git a/src/vms.c b/src/vms.c index 7775d5b55..68d2926db 100644 --- a/src/vms.c +++ b/src/vms.c @@ -590,3 +590,14 @@ done(int status) gp_exit(status); } +void +vms_init_screen() +{ + /* initialise screen management routines for command recall */ + unsigned int ierror; + if (ierror = smg$create_virtual_keyboard(&vms_vkid) != SS$_NORMAL) + done(ierror); + if (ierror = smg$create_key_table(&vms_ktid) != SS$_NORMAL) + done(ierror); +} + diff --git a/src/vms.h b/src/vms.h index c0350ced8..d36147a97 100644 --- a/src/vms.h +++ b/src/vms.h @@ -30,6 +30,16 @@ extern int vms_vkid; /* Virtual keyboard id */ extern int vms_ktid; /* key table id, for translating keystrokes */ +/* + * Jun 2023: moved from plot.c when vms_init_screen moved to vms.c + */ +# ifndef __GNUC__ +# include <unixio.h> +# endif +# include <smgdef.h> +extern smg$create_virtual_keyboard(); +extern smg$create_key_table(); + /* * vms-specific prototypes */ @@ -41,6 +51,7 @@ void term_pasthru(); void term_nopasthru(); void fflush_binary(); void done(int); +void vms_init_screen(); #ifdef PIPES FILE *popen(char *, char *); diff --git a/src/voxelgrid.c b/src/voxelgrid.c index 18534bbac..d785a4d1a 100644 --- a/src/voxelgrid.c +++ b/src/voxelgrid.c @@ -436,6 +436,8 @@ unset_vgrid() if (END_OF_COMMAND || !equals(c_token,"$")) int_error(c_token, "syntax: unset vgrid $<gridname>"); + if (evaluate_inside_functionblock && inside_plot_command) + int_error(c_token, "unset vgrid not possible in this context"); /* Look for a datablock with the requested name */ name = parse_datablock_name(); @@ -611,7 +613,9 @@ vfill_command() TBOOLEAN gridcoordinates = equals(c_token++, "vgfill"); if (!current_vgrid) int_error(c_token, "No current voxel grid"); + inside_plot_command = TRUE; /* Same interlock as plot/splot/stats */ vfill(current_vgrid->vdata, gridcoordinates); + inside_plot_command = FALSE; } static void diff --git a/src/wxterminal/gp_cairo.c b/src/wxterminal/gp_cairo.c index 4b7ec6357..ee899291e 100644 --- a/src/wxterminal/gp_cairo.c +++ b/src/wxterminal/gp_cairo.c @@ -401,6 +401,9 @@ void gp_cairo_draw_polygon(plot_struct *plot, int n, gpiPoint *corners) /* begin by stroking any open path */ gp_cairo_stroke(plot); + if (n <= 0) + return; + if (plot->polygons_saturate) { int i; path_item *path; @@ -463,14 +466,15 @@ void gp_cairo_end_polygon(plot_struct *plot) /* if there's only one polygon, draw it directly */ if (path->previous == NULL) { - FPRINTF((stderr,"processing one polygon\n")); - cairo_move_to(plot->cr, path->corners[0].x, path->corners[0].y); - for (i=1;i<path->n;++i) - cairo_line_to(plot->cr, path->corners[i].x, path->corners[i].y); - cairo_close_path(plot->cr); - plot->color = path->color; - gp_cairo_fill( plot, path->corners->style & 0xf, path->corners->style >> 4 ); - cairo_fill(plot->cr); + if (path->n > 0) { + cairo_move_to(plot->cr, path->corners[0].x, path->corners[0].y); + for (i = 1; i < path->n; i++) + cairo_line_to(plot->cr, path->corners[i].x, path->corners[i].y); + cairo_close_path(plot->cr); + plot->color = path->color; + gp_cairo_fill( plot, path->corners->style & 0xf, path->corners->style >> 4 ); + cairo_fill(plot->cr); + } free(path->corners); free(path); plot->polygon_path_last = NULL; diff --git a/src/wxterminal/wxt_gui.cpp b/src/wxterminal/wxt_gui.cpp index 193a8cdaf..414d46146 100644 --- a/src/wxterminal/wxt_gui.cpp +++ b/src/wxterminal/wxt_gui.cpp @@ -1557,11 +1557,12 @@ static void wxt_initialize_hidden(int i) static void wxt_update_key_box( unsigned int x, unsigned int y ) { if (wxt_max_key_boxes <= wxt_cur_plotno) { + int first_new_keybox = wxt_max_key_boxes; wxt_max_key_boxes = wxt_cur_plotno + 10; wxt_key_boxes = (wxtBoundingBox *)realloc(wxt_key_boxes, wxt_max_key_boxes * sizeof(wxtBoundingBox)); - wxt_initialize_key_boxes(wxt_cur_plotno); - wxt_initialize_hidden(wxt_cur_plotno); + wxt_initialize_key_boxes(first_new_keybox); + wxt_initialize_hidden(first_new_keybox); } wxtBoundingBox *bb = &(wxt_key_boxes[wxt_cur_plotno]); y = term->ymax - y; @@ -2381,7 +2382,7 @@ void wxt_put_text(unsigned int x, unsigned int y, const char * string) wxt_command_push(temp_command); /* set up the global variables needed by enhanced_recursion() */ - enhanced_fontscale = wxt_set_fontscale; + enhanced_fontscale = 1.0; strncpy(enhanced_escape_format, "%c", sizeof(enhanced_escape_format)); /* Set the recursion going. We say to keep going until a @@ -2393,7 +2394,7 @@ void wxt_put_text(unsigned int x, unsigned int y, const char * string) while (*(string = enhanced_recursion((char*)string, TRUE, wxt_enhanced_fontname, - wxt_current_plot->fontsize * wxt_set_fontscale, + wxt_current_plot->fontsize, 0.0, TRUE, TRUE, 0))) { wxt_enhanced_flush(); @@ -2413,8 +2414,9 @@ void wxt_put_text(unsigned int x, unsigned int y, const char * string) return; } - temp_command.command = command_put_text; + /* We reach here only if this is *not* enhanced text */ + temp_command.command = command_put_text; temp_command.x1 = x; temp_command.y1 = term->ymax - y; /* Note : we must take '\0' (EndOfLine) into account */ @@ -2422,6 +2424,7 @@ void wxt_put_text(unsigned int x, unsigned int y, const char * string) strcpy(temp_command.string, string); wxt_command_push(temp_command); + return; } void wxt_linetype(int lt) @@ -2475,7 +2478,7 @@ int wxt_set_font (const char *font) char *fontname = NULL; gp_command temp_command; - int fontsize = 0; + double fontsize = 0; temp_command.command = command_set_font; @@ -2483,7 +2486,7 @@ int wxt_set_font (const char *font) int sep = strcspn(font,","); fontname = strdup(font); if (font[sep] == ',') { - sscanf(&(font[sep+1]), "%d", &fontsize); + sscanf(&(font[sep+1]), "%lf", &fontsize); fontname[sep] = '\0'; } } else { @@ -2510,22 +2513,20 @@ int wxt_set_font (const char *font) fontsize = wxt_set_fontsize; } - /* Reset the term variables (hchar, vchar, h_tic, v_tic). - * They may be taken into account in next plot commands */ + /* Reset the term variables (hchar, vchar, h_tic, v_tic) + * so that the core code can use them in subsequent plot commands. + */ gp_cairo_set_font(wxt_current_plot, fontname, fontsize * wxt_set_fontscale); - gp_cairo_set_termvar(wxt_current_plot, &(term->v_char), - &(term->h_char)); - gp_cairo_set_font(wxt_current_plot, fontname, fontsize); + gp_cairo_set_termvar(wxt_current_plot, &(term->v_char), &(term->h_char)); wxt_MutexGuiLeave(); wxt_sigint_check(); wxt_sigint_restore(); - /* Note : we must take '\0' (EndOfLine) into account */ + /* Push the equivalent command onto the wxt display list */ temp_command.string = new char[strlen(fontname)+1]; strcpy(temp_command.string, fontname); - temp_command.integer_value = fontsize * wxt_set_fontscale; - + temp_command.double_value = fontsize * wxt_set_fontscale; wxt_command_push(temp_command); /* Enhanced text processing needs to know the new font also */ @@ -2680,6 +2681,8 @@ void wxt_filled_polygon(int n, gpiPoint *corners) temp_command.command = command_filled_polygon; temp_command.integer_value = n; + temp_command.x1 = corners[0].x; + temp_command.y1 = term->ymax - corners[0].y; temp_command.corners = new gpiPoint[n]; /* can't use memcpy() here, as we have to mirror the y axis */ gpiPoint *corners_copy = temp_command.corners; @@ -3189,7 +3192,7 @@ void wxtPanel::wxt_cairo_exec_command(gp_command command) gp_cairo_enhanced_writec(&plot, command.integer_value); return; case command_set_font : - gp_cairo_set_font(&plot, command.string, command.integer_value); + gp_cairo_set_font(&plot, command.string, command.double_value); return; case command_linewidth : gp_cairo_set_linewidth(&plot, command.double_value);; diff --git a/src/wxterminal/wxt_term.h b/src/wxterminal/wxt_term.h index 4260941d4..ba2e29bc4 100644 --- a/src/wxterminal/wxt_term.h +++ b/src/wxterminal/wxt_term.h @@ -121,7 +121,7 @@ extern int wxt_ctrl; extern int wxt_toggle; extern int wxt_redraw; extern char *wxt_set_fontname; -extern int wxt_set_fontsize; +extern double wxt_set_fontsize; extern double wxt_set_fontscale; extern t_linecap wxt_linecap; extern char wxt_title[MAX_ID_LEN + 1]; diff --git a/src/xdg.c b/src/xdg.c index edc80c64e..0c7a4f367 100644 --- a/src/xdg.c +++ b/src/xdg.c @@ -53,21 +53,6 @@ existdir(const char *name) #endif } -#if (0) /* Not used */ -#if defined(_MSC_VER) -# include <io.h> /* for _access */ -#endif -static TBOOLEAN -existfile(const char *name) -{ -#ifdef _MSC_VER - return (_access(name, 0) == 0); -#else - return (access(name, F_OK) == 0); -#endif -} -#endif - /* helper function: return TRUE if dirname exists or can be created */ static TBOOLEAN check_dir(const char *dirname) { @@ -103,7 +88,17 @@ char *xdg_get_path(XDGVarType idx, const char* fname, } else { pathname = gp_strdup(xdg_defaults[idx]); /* use the default */ - gp_expand_tilde(&pathname); + if (strchr(pathname, '~')) { + /* But if we're running anonymously, e.g. from a cgi script + * don't try to access or create any private directories. + */ + if (getenv("HOME")) + gp_expand_tilde(&pathname); + else { + free(pathname); + return NULL; + } + } } if (create && !check_dir(pathname)) { free(pathname); diff --git a/term/Makefile.am.in b/term/Makefile.am.in index bc713242b..281a5be8e 100644 --- a/term/Makefile.am.in +++ b/term/Makefile.am.in @@ -3,8 +3,8 @@ AUTOMAKE_OPTIONS = foreign DISTCLEANFILES = Makefile.am Makefile.in -EXTRA_DIST = README Makefile.am.in driver.h impcodes.h \ -fig_defs.h post.h $(CORETERM) PostScript lua js write_png_image.c sixel.c \ +EXTRA_DIST = README Makefile.am.in driver.h impcodes.h hpgeneric.h \ +fig_defs.h post.h $(CORETERM) PostScript lua js write_png_image.c sixel.c kitty.c \ latex_old.h postscriptdir = $(pkgdatadir)/$(VERSION_MAJOR)/PostScript diff --git a/term/aquaterm.trm b/term/aquaterm.trm index efda509d3..e2060b8ad 100644 --- a/term/aquaterm.trm +++ b/term/aquaterm.trm @@ -1012,7 +1012,7 @@ ENHAQUA_writec(int c) TERM_TABLE_START(aqua_driver) "aqua", - "Interface to graphics terminal server for Mac OS X", + "Interface to graphics terminal server for MacOS", 0 /* xmax */ , 0 /* ymax */ , 0 /* vchar */ , 0 /* hchar */ , 0 /* vtic */ , 0 /* htic */ , AQUA_options, AQUA_init, AQUA_reset, @@ -1054,8 +1054,7 @@ START_HELP(aqua) "?terminal aqua", "?term aqua", "?aqua", -"?Aqua", -" This terminal relies on AquaTerm.app for display on Mac OS X.", +" This terminal relies on AquaTerm.app for display on MacOS.", "", " Syntax:", " set terminal aqua {<n>} {title \"<wintitle>\"} {size <x> <y>}", diff --git a/term/block.trm b/term/block.trm index 12dfc5d8e..67ab87b56 100644 --- a/term/block.trm +++ b/term/block.trm @@ -844,7 +844,7 @@ BLOCK_text() int r2, g2, b2, m; int ropt = 0, gopt = 0, bopt = 0; int r2opt = 0, g2opt = 0, b2opt = 0; - int nopt = 0, mopt = 0, iopt; + int nopt = 0, mopt = 0, iopt = 0; // Find optimum average color combination for fore- and background. i = 0; @@ -1342,7 +1342,7 @@ TERM_TABLE_START(block_driver) #endif 0, 0, b_boxfill, NULL, #ifdef USE_MOUSE - NULL, NULL, NULL, NULL, NULL, + term_waitforinput, NULL, NULL, NULL, NULL, #endif NULL, NULL, BLOCK_set_color, b_filled_polygon, diff --git a/term/cairo.trm b/term/cairo.trm index 945181ef9..051e38b3c 100644 --- a/term/cairo.trm +++ b/term/cairo.trm @@ -159,6 +159,7 @@ typedef struct cairo_params_t { float ps; enum CAIROTRM_id output; /* format of the graphics produced by cairolatex */ int resolution; /* in dpi; CAIROLATEX_PNG only */ + TBOOLEAN anchor; /* TRUE = anchor kitty output to top left */ } cairo_params_t; #define CAIROEPS_PARAMS_DEFAULT { \ @@ -196,7 +197,7 @@ static const cairo_params_t cairopdf_params_default = CAIROPDF_PARAMS_DEFAULT; #define CAIROPNG_PARAMS_DEFAULT { \ CAIROTERM_PNG, PIXELS, FALSE, FALSE, 1.0, {1.,1.,1.}, 0xffffff, \ FALSE, BUTT, FALSE, FALSE, NULL, \ - 12, 1.0, 640., 480., 1.0, 1.0, 1.0, FALSE \ + 12, 1.0, 640., 480., 1.0, 1.0, 1.0, FALSE, 0, TRUE\ } static cairo_params_t cairopng_params = CAIROPNG_PARAMS_DEFAULT; static const cairo_params_t cairopng_params_default = CAIROPNG_PARAMS_DEFAULT; @@ -271,7 +272,7 @@ TERM_PUBLIC void cairotrm_options() char tmp_term_options[MAX_LINE_LEN+1] = ""; /* Initialize terminal-dependent values */ - if (strcmp(term->name, "pngcairo") == 0) { + if ((strcmp(term->name, "pngcairo") == 0) || (strcmp(term->name, "kittycairo") == 0)) { cairo_params = &cairopng_params; cairo_params_default = &cairopng_params_default; } else if (strcmp(term->name, "epscairo") == 0) { @@ -341,7 +342,7 @@ TERM_PUBLIC void cairotrm_options() break; case CAIROTRM_SIZE: c_token++; - if (!strcmp(term->name,"pngcairo")) + if (!strcmp(term->name,"pngcairo") || !strcmp(term->name, "kittycairo")) cairo_params->explicit_units = parse_term_size(&cairo_params->width, &cairo_params->height, PIXELS); #ifdef HAVE_WEBP else if (!strcmp(term->name,"webp")) @@ -553,6 +554,20 @@ TERM_PUBLIC void cairotrm_options() break; } #endif +#ifdef HAVE_KITTY_TERM + if (strncmp(term->name, "kitty", 5) == 0) { + if (equals(c_token, "animate") || equals(c_token, "anchor")) { + c_token++; + cairo_params->anchor = TRUE; + break; + } + if (equals(c_token, "scroll")) { + c_token++; + cairo_params->anchor = FALSE; + break; + } + } +#endif default: int_error(c_token, "unrecognized terminal option"); @@ -613,6 +628,10 @@ TERM_PUBLIC void cairotrm_options() if (cairo_params->crop) strncat(term_options, " crop", sizeof(term_options)-strlen(term_options)-1); + if (strncmp(term->name,"kitty",5) == 0) + strncat(term_options, cairo_params->anchor ? " anchor" : " scroll", + sizeof(term_options)-strlen(term_options)-1); + strncat(term_options, cairo_params->enhanced ? " enhanced" : " noenhanced", sizeof(term_options)-strlen(term_options)-1); @@ -714,7 +733,8 @@ void cairotrm_init() /* do a sanity check for once */ if (strcmp(term->name, "epscairo") && strcmp(term->name, "cairolatex") && - strcmp(term->name, "pdfcairo") && strcmp(term->name, "pngcairo")) + strcmp(term->name, "pdfcairo") && strcmp(term->name, "pngcairo") && + strcmp(term->name, "kittycairo")) int_error(c_token,"Unrecognized cairo terminal"); /* cairolatex requires a file */ @@ -758,7 +778,7 @@ void cairotrm_init() plot.polygons_saturate = FALSE; /* Empirical correction to make pdf output look more like wxt and png */ plot.dashlength /= 2; - } else if (!strcmp(term->name,"pngcairo")) { + } else if (!strcmp(term->name,"pngcairo") || !strcmp(term->name, "kittycairo")) { surface = cairo_image_surface_create( CAIRO_FORMAT_ARGB32, plot.device_xmax /*double width_in_points*/, plot.device_ymax /*double height_in_points*/); @@ -1073,7 +1093,24 @@ void cairotrm_text() cairo_surface_write_to_png_stream(surface, (cairo_write_func_t)cairostream_write, cairostream_error); } - } +#ifdef HAVE_KITTY_TERM + } else if (strcmp(term->name, "kittycairo") == 0) { + base64s *b64; + cairo_surface_t *surface = cairo_get_target(plot.cr); + /* TODO: crop */ + /* Draw starting at top left of screen */ + if (cairo_params->anchor) + fprintf(gpoutfile, "\033[H"); + kitty_init(KITTY_FORMAT_PNG); + b64 = gp_alloc(sizeof(base64s), "base64s"); + init_base64_state_data(b64, kitty_writechar, NULL); + cairo_surface_write_to_png_stream(surface, cairo_write_base64_callback, b64); + piecemeal_write_base64_data_finish(b64); + free(b64); + kitty_flush(FALSE); + fputc('\n', gpoutfile); +#endif + } FPRINTF((stderr,"status = %s\n",cairo_status_to_string(cairo_status(plot.cr)))); @@ -1157,7 +1194,7 @@ void cairotrm_put_text(unsigned int x, unsigned int y, const char * string) /* else carry on and process the rest of the string */ } - /* EAM FIXME: I still don't understand why this is needed */ + /* I still don't understand why this is needed */ gp_cairo_clear_bold_font(&plot); /* finish */ @@ -1324,17 +1361,20 @@ void cairotrm_set_color(t_colorspec *colorspec) /* here we send the polygon command */ void cairotrm_filled_polygon(int n, gpiPoint *corners) { - gpiPoint *mirrored_corners = (gpiPoint*) gp_alloc(n*sizeof(gpiPoint),"mirrored_corners"); + gpiPoint *corners_copy; + + if (n <= 0) + return; + /* can't use memcpy() here, as we have to mirror the y axis */ - gpiPoint *corners_copy = mirrored_corners; - while (corners_copy < (mirrored_corners + n)) { - *corners_copy = *corners++; - corners_copy->y = term->ymax - corners_copy->y; - ++corners_copy; + corners_copy = gp_alloc(n*sizeof(gpiPoint),"mirrored_corners"); + for (int i=0; i < n; i++) { + corners_copy[i] = corners[i]; + corners_copy[i].y = term->ymax - corners_copy[i].y; } - gp_cairo_draw_polygon(&plot, n, mirrored_corners); - free(mirrored_corners); + gp_cairo_draw_polygon(&plot, n, corners_copy); + free(corners_copy); } void cairotrm_image(unsigned int M, unsigned int N, coordval * image, gpiPoint * corner, t_imagecolor color_mode) @@ -1368,7 +1408,6 @@ void cairotrm_image(unsigned int M, unsigned int N, coordval * image, gpiPoint * image. */ /* we will draw an image, scale and resize it */ - /* FIXME add palette support ??? */ unsigned int *image255 = gp_cairo_helper_coordval_to_chars(image, M, N, color_mode); gp_cairo_draw_image(&plot, image255, @@ -1406,7 +1445,7 @@ TERM_TABLE_START (epscairo_driver) cairotrm_text_angle, cairotrm_justify_text, cairotrm_point, do_arrow, cairotrm_set_font, cairotrm_pointsize, - TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE, + TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE|TERM_COLORBOX_IMAGE, 0 /* suspend */, 0 /* resume */, cairotrm_fillbox, cairotrm_linewidth #ifdef USE_MOUSE , 0, 0, 0, 0, 0 @@ -1437,7 +1476,7 @@ TERM_TABLE_START(cairolatex_driver) PS_text_angle, PS_justify_text, cairotrm_point, do_arrow, cairotrm_set_font, cairotrm_pointsize, - TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE|TERM_IS_LATEX, + TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE|TERM_IS_LATEX|TERM_REUSES_BOXTEXT|TERM_COLORBOX_IMAGE|TERM_COLORBOX_IMAGE, 0 /* suspend */, 0 /* resume */, cairotrm_fillbox, cairotrm_linewidth, #ifdef USE_MOUSE 0, 0, 0, 0, 0, /* no mouse support for postscript */ @@ -1468,7 +1507,7 @@ TERM_TABLE_START (pdfcairo_driver) cairotrm_text_angle, cairotrm_justify_text, cairotrm_point, do_arrow, cairotrm_set_font, cairotrm_pointsize, - TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE, + TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE|TERM_COLORBOX_IMAGE, 0 /* suspend */, 0 /* resume */, cairotrm_fillbox, cairotrm_linewidth #ifdef USE_MOUSE , 0, 0, 0, 0, 0 @@ -1515,6 +1554,36 @@ TERM_TABLE_END (pngcairo_driver) #undef LAST_TERM #define LAST_TERM pngcairo_driver +#ifdef HAVE_KITTY_TERM +TERM_TABLE_START (kittycairo_driver) + "kittycairo", "kitty in-terminal graphics using cairo", + /* the following values are overridden by cairotrm_graphics */ + 1 /* xmax */ , 1 /* ymax */ , 1 /* vchar */ , 1 /* hchar */ , + 1 /* vtic */ , 1 /* htic */ , + cairotrm_options, cairotrm_init, cairotrm_reset, cairotrm_text, null_scale, cairotrm_graphics, + cairotrm_move, cairotrm_vector, cairotrm_linetype, cairotrm_put_text, + cairotrm_text_angle, cairotrm_justify_text, + cairotrm_point, do_arrow, cairotrm_set_font, + cairotrm_pointsize, + TERM_BINARY|TERM_CAN_DASH|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE|TERM_POINTSCALE, + 0 /* suspend */, 0 /* resume */, cairotrm_fillbox, cairotrm_linewidth, +#ifdef USE_MOUSE + term_waitforinput, 0, 0, 0, 0, +#endif + cairotrm_make_palette, 0 /* cairotrm_previous_palette */, cairotrm_set_color, cairotrm_filled_polygon + , cairotrm_image + , cairotrm_enhanced_open, cairotrm_enhanced_flush, cairotrm_enhanced_writec + , 0, 0, 1.0 + , NULL /* hypertext */ + , cairotrm_boxed_text + , NULL /* modify_plots */ + , cairotrm_dashtype +TERM_TABLE_END (kittycairo_driver) + +#undef LAST_TERM +#define LAST_TERM kittycairo_driver +#endif /* HAVE_KITTY_TERM */ + #endif /* TERM_TABLE */ #endif /* TERM_PROTO_ONLY */ @@ -1721,10 +1790,8 @@ START_HELP(pdfcairo) " {background <rgbcolor>}", " {size <XX>{unit},<YY>{unit}}", "", -" This terminal supports an enhanced text mode, which allows font and other", -" formatting commands (subscripts, superscripts, etc.) to be embedded in labels", -" and other text strings. The enhanced text mode syntax is shared with other", -" gnuplot terminal types. See `enhanced` for more details.", +" This terminal processes labels and other text using enhanced formatting", +" by default. See `enhanced`.", "", " The width of all lines in the plot can be modified by the factor <lw>", " specified in `linewidth`. The default linewidth is 0.5 points.", @@ -1733,35 +1800,33 @@ START_HELP(pdfcairo) " `rounded` sets line caps and line joins to be rounded;", " `butt` is the default, butt caps and mitered joins.", "", -" The default size for the output is 5 inches x 3 inches. The `size` option", +" The default size for output is 5 inches x 3 inches. The `size` option", " changes this to whatever the user requests. By default the X and Y sizes are", " taken to be in inches, but other units are possible (currently only cm).", -" Screen coordinates always run from 0.0 to 1.0 along the full length of the", -" plot edges as specified by the `size` option.", -"", -" <font> is in the format \"FontFace,FontSize\", i.e. the face and the size", +" `font` is in the format \"FontFace,FontSize\", i.e. the face and the size", " comma-separated in a single string. FontFace is a usual font face name, such", " as \'Arial\'. If you do not provide FontFace, the pdfcairo terminal will use", " \'Sans\'. FontSize is the font size, in points. If you do not provide it,", " the pdfcairo terminal will use a nominal font size of 12 points.", " However, the default fontscale parameter for this terminal is 0.5,", -" so the apparent font size is smaller than this if the pdf output is", -" viewed at full size.", -" For example :", +" so the apparent font size is smaller than the nominal point size if the pdf", +" output is viewed at full size.", +"", +" Examples :", " set term pdfcairo font \"Arial,12\"", -" set term pdfcairo font \"Arial\" # to change the font face only", -" set term pdfcairo font \",12\" # to change the font size only", +" set term pdfcairo font \"Serif\" # to change the font face only", +" set term pdfcairo font \",14\" # to change the font size only", " set term pdfcairo font \"\" # to reset the font name and size", "", " The fonts are retrieved from the usual fonts subsystems. Under Windows,", " those fonts are to be found and configured in the entry \"Fonts\" of the", " control panel. Under UNIX, they are handled by \"fontconfig\".", "", -" Pango, the library used to layout the text, is based on utf-8. Thus, the pdfcairo", -" terminal has to convert from your encoding to utf-8. The default input", -" encoding is based on your \'locale\'. If you want to use another encoding,", -" make sure gnuplot knows which one you are using. See `encoding` for more", -" details.", +" Pango, the library used to process the text, is based on utf-8.", +" The pdfcairo terminal will convert from your encoding to utf-8 if needed.", +" The assumed input encoding is taken from your \'locale\'. If your text actually", +" uses a different encoding, make sure gnuplot knows which one you are using.", +" See `encoding` for more details.", "", " Pango may give unexpected results with fonts that do not respect the unicode", " mapping. With the Symbol font, for example, the pdfcairo terminal will use the map", @@ -1777,12 +1842,9 @@ START_HELP(pdfcairo) " OpenOffice Symbol fonts, and remove the Microsoft one.", " Other non-conform fonts, such as \"wingdings\" have been observed working.", "", -" The rendering of the plot cannot be altered yet. To obtain the best output", -" possible, the rendering involves two mechanisms : antialiasing and", -" oversampling.", -" Antialiasing allows to display non-horizontal and non-vertical lines", -" smoother.", -" Oversampling combined with antialiasing provides subpixel accuracy,", +" The rendering of the plot involves two mechanisms : antialiasing and", +" oversampling. Antialiasing produces smoother non-horizontal and non-vertical", +" lines. Oversampling combined with antialiasing provides subpixel accuracy,", " so that gnuplot can draw a line from non-integer coordinates. This avoids", " wobbling effects on diagonal lines ('plot x' for example).", "" @@ -1864,5 +1926,49 @@ START_HELP(pngcairo) " supported by the cairo and pango libraries.", "" END_HELP(pngcairo) + +#ifdef HAVE_KITTY_TERM +START_HELP(kittycairo) +"1 kittycairo", +"?set terminal kittycairo", +"?terminal kittycairo", +"?set term kittycairo", +"?term kittycairo", +"?kittycairo", +" The `kittycairo` terminal generates in-window output on terminal emulators", +" that support the kitty graphics protocol. The actual drawing is done via", +" cairo, a 2D graphics library, and pango, a library for text rendering.", +" The kitty protocol is an alternative to sixel graphics, with the advantage", +" of support for 24-bit RGB colors and slightly lower required bandwidth to", +" transfer the image data between computer and terminal in a remote session.", +"", +" Syntax:", +" set terminal kittycairo", +" {{no}enhanced} {mono|color}", +" {font <font>} {fontscale <scale>}", +" {linewidth <lw>} {rounded|butt|square} {dashlength <dl>}", +" {transparent | background <rgbcolor>}", +" {size <XX>,<YY>} {anchor|scroll}", +"", +" This terminal processes labels and other text using enhanced formatting", +" by default. See `enhanced`.", +"", +" The width of all lines in the plot can be modified by the factor <lw>", +" specified in `linewidth`. The font size can similarly be uniformly modified", +" the scale factor provided by `fontscale`. For discussion of font and text", +" encoding options, see the `pdfcairo` terminal." +"", +" The option `rounded` sets line caps and line joins to be rounded;", +" `butt` is the default, producing butt caps and mitered joins.", +"", +" The size of the plot is given in screen pixels. By default (`anchor`) each", +" plot is drawn at the top left of the terminal window. This is useful for", +" animation or pseudo-mousing using the keyboard (see `pseudo-mousing`).", +" `scroll` instead starts each plot at the current cursor position so that it", +" scrolls with the terminal text.", +"" +END_HELP(kittycairo) +#endif /* HAVE_KITTY_TERM */ + #endif /* TERM_HELP */ diff --git a/term/context.trm b/term/context.trm index 9318649e3..76e3f7e0a 100644 --- a/term/context.trm +++ b/term/context.trm @@ -1610,6 +1610,7 @@ CONTEXT_write_palette(t_sm_palette *palette) break; /* interpolated table: explicitly defined or read from file */ case SMPAL_COLOR_MODE_GRADIENT: + case SMPAL_COLOR_MODE_VIRIDIS: fprintf(gpoutfile, "color_mode(gradient);"); CONTEXT_write_palette_gradient(palette->gradient, palette->gradient_num); break; diff --git a/term/dumb.trm b/term/dumb.trm index 883db9439..2f7534ecc 100644 --- a/term/dumb.trm +++ b/term/dumb.trm @@ -327,7 +327,7 @@ DUMB_options() static TBOOLEAN is_wide_char(unsigned char *charpixel) { - // see also mbwidth() in readline.c + /* see also mbwidth() in readline.c */ if (encoding == S_ENC_UTF8) return (*charpixel >= 0xe3); else @@ -344,12 +344,12 @@ dumb_set_pixel(int x, int y, int v) && (unsigned int) y <= dumb_ymax) { charpixel = (unsigned char *)(&DUMB_PIXEL(x, y)); if (*charpixel == NUL && (x > 0)) { - // Also clear the wide character to the left + /* Also clear the wide character to the left */ unsigned char * c = (unsigned char *) &(DUMB_PIXEL((x - 1), y)); DUMB_PIXEL((x - 1), y) = 0; *c = ' '; } else if (is_wide_char(charpixel) && ((x + 1) <= dumb_xmax)) { - // This is a wide character, clear the cell to the right. + /* This is a wide character, clear the cell to the right. */ char * c = (char *) &(DUMB_PIXEL((x + 1), y)); DUMB_PIXEL((x + 1), y) = 0; *c = ' '; @@ -451,14 +451,14 @@ static unsigned to_ansi256(rgb255_color *c) { if ((c->r - 8) / 10 == (c->b - 8) / 10 && (c->r - 8) / 10 == (c->g - 8) / 10) { - // gray scale - if (c->g < 8) // black + /* gray scale */ + if (c->g < 8) /* black */ return 16; - if (c->g >= 238) // white + if (c->g >= 238) /* white */ return 231; - return (c->g - 8) / 10 + 232; // like XTerm, Mintty + return (c->g - 8) / 10 + 232; /* like XTerm, Mintty */ } else { - // 6x6x6 color cube + /* 6x6x6 color cube */ #define RMAPCUBE6(n) ((n >= 55) ? ((n) - 35) / 40 : 0) return (((unsigned) RMAPCUBE6(c->r) * 36) + ((unsigned) RMAPCUBE6(c->g) * 6) + @@ -816,7 +816,7 @@ DUMB_put_text(unsigned int x, unsigned int y, const char *str) if (dumb_text_attributes) dumb_attributes[dumb_xmax * y + x] = dumb_attr; if (is_wide_char((unsigned char *)(&DUMB_PIXEL(x, y))) && (x + 1) < dumb_xmax) { - DUMB_PIXEL(x + 1, y) = 0; // mark as occupied + DUMB_PIXEL(x + 1, y) = 0; /* mark as occupied */ x++; } } @@ -926,7 +926,7 @@ ENHdumb_OPEN( /* widthflag FALSE means do not update text position after printing */ ENHdumb_widthflag = widthflag; /* Many drivers will need to do something about font selection here */ - DUMB_set_font(fontname); // we ignore the font size + DUMB_set_font(fontname); /* we ignore the font size */ } } @@ -1028,14 +1028,14 @@ ENHdumb_put_text(unsigned int x, unsigned int y, const char *str) TERM_PUBLIC int DUMB_set_font(const char *s) { - // reset current attributes + /* reset current attributes */ if (dumb_text_attributes) memset(&dumb_attr, 0, sizeof(text_attr)); if (s == NULL || *s == NUL || !dumb_text_attributes) return TRUE; - // test for attributes + /* test for attributes */ if ((strstr(s, ":Bold") != NULL)) dumb_attr.bold = 1; if ((strstr(s, ":Italic") != NULL)) @@ -1187,7 +1187,7 @@ TERM_TABLE_START(dumb_driver) #endif NULL, NULL, DUMB_fillbox, NULL, #ifdef USE_MOUSE - NULL, NULL, NULL, NULL, NULL, + term_waitforinput, NULL, NULL, NULL, NULL, #endif NULL, /* Color support sets this to DUMB_make_palette */ NULL, /* previous_palette */ diff --git a/term/fig.trm b/term/fig.trm index aa0abed1a..ea933a728 100644 --- a/term/fig.trm +++ b/term/fig.trm @@ -1348,7 +1348,6 @@ START_HELP(fig) "", " `pointsmax` sets the maximum number of vertices in a polyline; longer ", " polylines will be broken into segments.", -" (Note: this option was not present in versions 5.2.7 through 5.4.3).", "", " `font` sets the text font face to <fontname> and its size to <fontsize>", " points. Choice is limited to the 35 standard PostScript fonts.", diff --git a/term/gd.trm b/term/gd.trm index 0b8f00c52..03268036c 100644 --- a/term/gd.trm +++ b/term/gd.trm @@ -98,13 +98,14 @@ * Revisit use of brush for thick lines with alpha channel * + setting alpha in the brush itself works OK up to about lw 4. * After that the repeated composition of the brush wipes out the transparency. - * - TODO: - * The brushed line could be written to a separate layer as an opaque object, - * then composited back onto the main canvas with alpha applied. - * term->path(start|end) could wrap that, but as of now the core code doesn't use - * start/end path for most lines. Alternatively it might be triggered by - * term->set_color with alpha channel present and last until the color is changed - * again. + * + * Ethan Merritt Jan 2023: + * Newer antialiasing support in gdlib makes it actually work with the native + * implementation for linewidth > 1. But it requires truecolor. + * Conversely, using the brush alternative (via "rounded") has become very slow. + * CHANGE: + * Default to "set term png butt truecolor" + * gif and sixel default to "butt notruecolor" */ #define GD_DEFINED_COLORS 96 /* Must not exceed size of pm3d_color_names_tbl[] */ @@ -209,7 +210,7 @@ static void PNG_init_brush(int); #ifndef TERM_PROTO_ONLY #ifdef TERM_BODY -static TBOOLEAN PNG_initialized = FALSE; /* Set when terminal first initialized */ +static const char *PNG_initialized = NULL; /* Which terminal was previously used? */ static struct { gdImagePtr image; @@ -239,12 +240,14 @@ static struct { double dashfraction; /* Where in a dot-dash pattern we left off */ /* Variables for animated gif support: */ TBOOLEAN animate; /* Only gif supports animation */ + TBOOLEAN anchor; /* sixel and kitty treat it as synonym for "anchor" */ int loop_count; /* Number of times to repeat sequence */ int frame_count; /* Number of frames in animation */ int frame_delay; /* Time between frames in .01 seconds */ TBOOLEAN frame_optimization; gdImagePtr previous_image; /* Needed to encode animation as a series of deltas */ -} png_state; +} png_state += {.anchor = TRUE}; #define PNG_USE_TRANSPARENT 1 #define PNG_USE_INTERLACE 2 @@ -262,6 +265,7 @@ enum PNG_id { PNG_TRUECOLOR, PNG_NOTRUECOLOR, PNG_LINEWIDTH, PNG_BUTT, PNG_ROUNDED, PNG_DASHLENGTH, GIF_ANIMATE, GIF_DELAY, GIF_LOOP, GIF_NOOPT, GIF_OPT, + PNG_ANCHOR, PNG_SCROLL, PNG_OTHER }; @@ -305,6 +309,8 @@ static struct gen_table PNG_opts[] = { "notrue$color", PNG_NOTRUECOLOR }, { "linew$idth", PNG_LINEWIDTH }, { "anim$ate", GIF_ANIMATE }, /* gif animation options */ + { "anchor", PNG_ANCHOR }, /* sixel/kitty image drawn at top left */ + { "scroll", PNG_SCROLL }, /* sixel/kitty image scrolls with text */ { "delay", GIF_DELAY }, { "loop", GIF_LOOP }, { "noopt$imize", GIF_NOOPT }, @@ -641,8 +647,8 @@ PNG_options() unsigned long color; TBOOLEAN gif_anim_option = FALSE; /* set to TRUE if an animated gif option given */ - if (!PNG_initialized) { - PNG_initialized = TRUE; + if (PNG_initialized != term->name) { + PNG_initialized = term->name; term_options[0] = '\0'; term->h_char = PNG_HCHAR; /* Default to medium font */ png_state.default_font = gdfont; @@ -654,10 +660,13 @@ PNG_options() png_state.default_ttfsize = 0; png_state.fontscale = 1; png_state.justify = CENTRE; - png_state.TrueColor = FALSE; PNG_linewidth_factor = 1.0; PNG_dashlength_factor = 1.0; - png_state.capbutt = FALSE; /* to preserve previous default behavior */ + png_state.capbutt = TRUE; /* Change Jan 2023 */ + if (!strcmp(term->name, "gif") || !strcmp(term->name, "sixelgd")) + png_state.TrueColor = FALSE; + else + png_state.TrueColor = TRUE; #ifdef _WIN32 /* Set the default search path for fonts to something useful. */ if (getenv("GDFONTPATH") == NULL) { @@ -676,9 +685,8 @@ PNG_options() } #endif } else { - /* FIXME EAM - these should never happen! */ if (!png_state.default_font) { - fprintf(stderr,"gd.trm: caught initialization error\n"); + int_warn(NO_CARET, "gd.trm: caught initialization error"); png_state.default_font = gdfont; } } @@ -909,13 +917,30 @@ PNG_options() PNG_dashlength_factor = 1.0; break; + /* anchor/scroll choice for sixel and kitty in-terminal output */ + case PNG_ANCHOR: + c_token++; + png_state.anchor = TRUE; + break; + case PNG_SCROLL: + c_token++; + png_state.anchor = FALSE; + break; + /* parse gif animation options */ case GIF_ANIMATE: - if (strncmp("gif",term->name,3) == 0) + c_token++; + if (strncmp("gif",term->name,3) == 0) { gif_anim_option = 1; - else if (strncmp("sixel",term->name,5) != 0) + } else if (strncmp("sixel",term->name,5) == 0) { + png_state.anchor = TRUE; + break; + } else if (strncmp("kitty",term->name,5) == 0) { + png_state.anchor = TRUE; + break; + } else { int_error(c_token,"This terminal does not support animation"); - c_token++; + } png_state.animate = TRUE; png_state.frame_count = 0; png_state.frame_delay = 10; @@ -1080,6 +1105,8 @@ PNG_options() term->flags |= TERM_ALPHA_CHANNEL; } else if (png_state.TrueColor) { strcat(term_options, "truecolor "); + } else { + strcat(term_options, "notruecolor "); } if (!(png_state.flags & PNG_USE_CROP)) { strcat(term_options, "no"); @@ -1098,19 +1125,20 @@ PNG_options() sprintf(term_options + strlen(term_options), "dashlength %3.1f ", PNG_dashlength_factor); - if (png_state.capbutt) { + sprintf(term_options + strlen(term_options), + png_state.capbutt ? "butt " : "rounded "); + + if ((strncmp("kitty",term->name,5) == 0) + || (strncmp("sixel",term->name,5) == 0)) { sprintf(term_options + strlen(term_options), - "butt "); + png_state.anchor ? "anchor " : "scroll "); } if (png_state.animate) { - if (strncmp("sixel",term->name,5) == 0) - sprintf(term_options + strlen(term_options), "animate "); - else - sprintf(term_options + strlen(term_options), - "animate delay %d loop %d %soptimize ", - png_state.frame_delay, png_state.loop_count, - png_state.frame_optimization ? "" : "no"); + sprintf(term_options + strlen(term_options), + "animate delay %d loop %d %soptimize ", + png_state.frame_delay, png_state.loop_count, + png_state.frame_optimization ? "" : "no"); } sprintf(term_options + strlen(term_options), @@ -1251,26 +1279,6 @@ PNG_reset() #endif } -#if 0 -/* use #if 1 that's just for debugging */ -void -PNG_show_current_palette() -{ - int i; - - fprintf(stderr, "*****\n SHOW THE PALETTE! total=%i\n", - gdImageColorsTotal(png_state.image)); - for (i=0; i < gdImageColorsTotal(png_state.image); i++) { - /* Use access macros to learn colors. */ - fprintf(stderr, "%i\tr=%d\t g=%d\tb=%d\n", - i, - gdImageRed(png_state.image,i), - gdImageGreen(png_state.image,i), - gdImageBlue(png_state.image,i)); - } -} -#endif - /* How this works: Gray interval [0;1] will be mapped to interval [0;sm_palette.colors-1] those r,g,b components are mapped by the array @@ -1659,23 +1667,12 @@ PNG_vector(unsigned int x, unsigned int y) /* All other (not dashed) vectors */ } else { - if (png_state.linewidth == 1) { -#if defined(gdAntiAliased) - gdImageSetThickness(png_state.image,1); + if (png_state.capbutt) { + /* Assume working antialiasing (gd version >? 2.0.12) */ + gdImageSetThickness(png_state.image,png_state.linewidth); gdImageSetAntiAliased(png_state.image, png_state.color); gdImageLine(png_state.image, png_state.x, Y(png_state.y), x, Y(y), gdAntiAliased); -#else - gdImageLine(png_state.image, png_state.x, Y(png_state.y), - x, Y(y), png_state.color); -#endif - - } else if (png_state.capbutt){ - - gdImageSetThickness(png_state.image,png_state.linewidth); - gdImageLine(png_state.image, png_state.x, Y(png_state.y), - x, Y(y), png_state.color); - } else { /* EAM - Implement linewidth by using a brush */ PNG_init_brush(lw); @@ -2187,7 +2184,6 @@ ENHGD_put_text(unsigned int x, unsigned int y, const char *str) * punt the string to PNG_put_text() */ if (!strpbrk(str, "{}^_@&~") && !contains_unicode(str)) { - /* FIXME: do something to ensure default font is selected */ PNG_put_text(x,y,str); return; } @@ -2548,15 +2544,18 @@ START_HELP(png) " lines drawn, i.e. they are multiplied by values requested in various drawing", " commands.", "", -" By default output png images use 256 indexed colors. The `truecolor` option", -" instead creates TrueColor images with 24 bits of color information per pixel.", +" By default the png terminal creates TrueColor images with 24 bits of color", +" information per pixel. The `notruecolor` option instead uses only 8 bits,", +" (256 indexed colors).", " Transparent fill styles require the `truecolor` option. See `fillstyle`.", " A transparent background is possible in either indexed or TrueColor images.", +" Antialiasing also requires TrueColor.", "", " `butt` instructs the driver to use a line drawing method that does", " not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", +" relevant for line widths greater than 1. The alternative is `rounded`,", +" which produces somewhat more uniform curved lines if antialiasing is not", +" available (`notruecolor`) but can be much slower.", "", " The details of font selection are complicated.", " Two equivalent simple examples are given below:", @@ -2571,18 +2570,14 @@ START_HELP(png) "", "2 examples", "?set term png examples", -" set terminal png medium size 640,480 background '#ffffff'", -"", -" Use the medium size built-in non-scaleable, non-rotatable font.", -" Use white (24-bit RGB in hexadecimal) for the non-transparent background.", "", -" set terminal png font arial 14 size 800,600", +" set terminal png font \"arial,14\" size 800,600 background \"white\"", "", " Searches for a scalable font with face name 'arial' and sets the font", " size to 14pt. Please see `fonts` for details of how the font search", " is done.", "", -" set terminal png transparent truecolor enhanced", +" set terminal png transparent enhanced", "", " Use 24 bits of color information per pixel, with a transparent background.", " Use the `enhanced text` mode to control the layout of strings to be printed.", @@ -2700,8 +2695,7 @@ START_HELP(jpeg) "", " `butt` instructs the driver to use a line drawing method that does", " not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", +" relevant for line widths greater than 1. The alternative is `rounded`.", "", " The details of font selection are complicated.", " Two equivalent simple examples are given below:", @@ -2858,7 +2852,7 @@ START_HELP(gif) " `butt` instructs the driver to use a line drawing method that does", " not overshoot the desired end point of a line. This setting is only", " applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", +" drawing horizontal or vertical lines.", "", " The output plot size <x,y> is given in pixels---it defaults to 640x480.", " Please see additional information under `canvas` and `set size`.", @@ -2968,8 +2962,8 @@ SIXELGD_text() { image_do_crop(); - /* The 'animate' option makes each plot write in place rather than scrolling */ - if (png_state.animate) + /* The 'anchor' option restarts each plot at the top left */ + if (png_state.anchor) fprintf(gpoutfile, "\033[H"); /* maximum number of palette colors (256), no truecolor images, fill optimization */ @@ -2997,7 +2991,7 @@ TERM_TABLE_START(sixelgd_driver) PNG_boxfill, PNG_linewidth, #ifdef USE_MOUSE - 0, 0, 0, 0, 0, /* no mouse support */ + term_waitforinput, 0, 0, 0, 0, /* pseudo-mousing during "pause mouse" */ #endif PNG_make_palette, 0, /* previous_palette() ... no, single array of 256 colours for PNG */ @@ -3030,64 +3024,210 @@ START_HELP(sixelgd) "?sixelgd", " Syntax:", " set terminal sixelgd", -" {{no}enhanced} {{no}truecolor}", -" {{no}transparent} {rounded|butt}", +" {{no}enhanced} {{no}truecolor} {rounded|butt}", " {linewidth <lw>} {dashlength <dl>}", " {tiny | small | medium | large | giant}", " {font \"<face> {,<pointsize>}\"} {fontscale <scale>}", -" {size <x>,<y>} {{no}crop} {animate}", +" {size <x>,<y>} {anchor|scroll} {{no}transparent}", " {background <rgb_color>}", "", " The `sixel` output format was originally used by DEC terminals and printers.", -" This driver produces a sixel output stream by converting a PNG image created", -" internally using the gd library. The sixel output stream can be viewed in the", -" terminal as it is created or it can be written to a file so that it can be", -" replayed later by echoing the file to the terminal.", +" The gnuplot sixelgd driver produces a sixel output stream by converting a", +" PNG image created internally using the gd library. The sixel output stream", +" can be viewed in the terminal as it is created or it can be written to a file", +" so that it can be replayed later by echoing the file to the terminal.", "", " The sixel terminal is also useful for displaying gnuplot graphics on the", " linux console when no windowing system or graphics display manager is active.", " See `linux console`.", "", -" `transparent` instructs the driver to make the background color transparent.", -" Default is `notransparent`.", -"", " The `linewidth` and `dashlength` options are scaling factors that affect all", " lines drawn. They are multiplied by values requested in drawing commands.", "", " By default the sixel output uses 16 indexed colors. The `truecolor` option", -" instead creates a TrueColor png image that is mapped down onto 256 colors", +" instead creates a 24-bit RGB png image that is mapped down onto 256 colors", " in the output sixel image. Transparent fill styles require the `truecolor`", " option. See `fillstyle`.", -" A `transparent` background is possible in either indexed or TrueColor images.", "", " `butt` instructs the driver to use a line drawing method that does", " not overshoot the desired end point of a line. This setting is only", -" applicable for line widths greater than 1. This setting is most useful when", -" drawing horizontal or vertical lines. Default is `rounded`.", +" relevant for line widths greater than 1. The alternative is `rounded`,", +" which produces somewhat more uniform curved lines but can be much slower.", "", -" The details of font selection are complicated.", +" The details of font selection in the gdlib terminals are complicated.", " For more information please see `fonts`.", "", -" The output plot size <x,y> is given in pixels---it defaults to 640x480.", -" Please see additional information under `canvas` and `set size`.", -" Blank space at the edges of the finished plot may be trimmed using the `crop`", -" option, resulting in a smaller final image size. Default is `nocrop`." +" The output plot size <x,y> is given in pixels. It defaults to 640x480,", +" which is probably smaller than the size of your terminal window.", "", -" The terminal has been successfully tested with the xterm, mlterm and mintty", -" terminals. The later two support the `truecolor` mode using 256 sixel", -" colors out of box. Distributed copies of xterm may or may not have been", -" configured to support sixel graphics and may be limited to 16 colors.", +" `transparent` instructs the driver to make the background color transparent,", +" but most terminal emulators do not support this. Default is `notransparent`.", "", -"?set terminal sixelgd animate", -"?set term sixelgd animate", -"?term sixelgd animate", -" set term sixel animate", +" Gnuplot's sixelgd output has been successfully tested with terminal", +" emulators including konsole, mlterm, mintty, and the vt340 mode of xterm", +" (note that distributed copies of xterm may not have been configured", +" to support sixel graphics). Sixel support in the KDE konsole terminal", +" was added in version 22.04.0.", "", -" The `animate` option resets the cursor position to the terminal top left at", -" the start of every plot so that successive plots overwrite the same area on", -" the screen rather than having earlier plots scroll off the top. This may be", -" desirable in order to create an in-place animation.", +" By default (`anchor`) each plot is drawn by overwriting the area at the top", +" left of the window. This allows redrawing to create an in-place animation", +" and pseudo-mousing using the arrow keys during `pause mouse`.", +" The `scroll` option instead starts each plot at the current cursor position", +" so that successive plots scroll with any intervening text.", "" END_HELP(sixelgd) #endif /* TERM_HELP */ #endif /* WITH_GD_SIXEL */ + +#ifdef HAVE_KITTY_TERM +#ifdef TERM_REGISTER +register_term(kittygd) +#endif + +#ifdef TERM_PROTO +TERM_PUBLIC void KITTYGD_text(void); +#define GOT_NEXT_PROTO +#endif + +#ifndef TERM_PROTO_ONLY + +#ifdef TERM_BODY + +typedef struct KITTYGD_io_ctx { + struct gdIOCtx gdio; + base64s *b64; +} KITTYGD_io_ctx; + +static void +KITTYGD_putc(struct gdIOCtx *ctx, int ch) { + unsigned char real_ch = ch; + base64s *b64 = ((KITTYGD_io_ctx *)ctx)->b64; + piecemeal_write_base64_data(&real_ch, 1, b64); +} + +static int +KITTYGD_putbuf(struct gdIOCtx *ctx, const void *buf, int n) { + base64s *b64 = ((KITTYGD_io_ctx *)ctx)->b64; + piecemeal_write_base64_data(buf, n, b64); + return n; +} + +/* + * All functions except the final write to file + * are actually performed by the PNG driver code + */ +TERM_PUBLIC void +KITTYGD_text() +{ + base64s *b64; + KITTYGD_io_ctx ioctx; + image_do_crop(); + + /* The 'anchor' option makes each plot write in place rather than scrolling */ + if (png_state.anchor) + fprintf(gpoutfile, "\033[H"); + + kitty_init(KITTY_FORMAT_PNG); + b64 = gp_alloc(sizeof(base64s), "base64s"); + init_base64_state_data(b64, kitty_writechar, NULL); + + ioctx.gdio.putC = KITTYGD_putc; + ioctx.gdio.putBuf = KITTYGD_putbuf; + ioctx.b64 = b64; + + gdImagePngCtx(png_state.image, &(ioctx.gdio)); + piecemeal_write_base64_data_finish(b64); + free(b64); + kitty_flush(FALSE); + fputc('\n', gpoutfile); + gdImageDestroy(png_state.image); +} + +#endif /* TERM_BODY */ + +#ifdef TERM_TABLE + +TERM_TABLE_START(kittygd_driver) + "kittygd", "kitty in-terminal graphics using libgd", + GREG_XMAX, GREG_YMAX, PNG_VCHAR, PNG_HCHAR, + PNG_TICSIZE, PNG_TICSIZE, PNG_options, PNG_init, PNG_reset, + KITTYGD_text, null_scale, PNG_graphics, PNG_move, PNG_vector, + PNG_linetype, PNG_put_text, PNG_text_angle, + PNG_justify_text, PNG_point, do_arrow, PNG_set_font, + PNG_pointsize, + TERM_CAN_MULTIPLOT|TERM_BINARY|TERM_ALPHA_CHANNEL|TERM_LINEWIDTH|TERM_FONTSCALE, + 0 /*suspend*/, 0 /*resume*/, + PNG_boxfill, + PNG_linewidth, +#ifdef USE_MOUSE + term_waitforinput, 0, 0, 0, 0, /* pseudo-mousing */ +#endif + PNG_make_palette, + 0, /* previous_palette() ... no, single array of 256 colours for PNG */ + PNG_set_color, + PNG_filled_polygon, + PNG_image, + ENHGD_OPEN, ENHGD_FLUSH, do_enh_writec, + NULL, /* layering */ + NULL, /* path */ + 0.0, /* tscale */ + NULL /* hypertext */ + , ENHGD_boxed_text +TERM_TABLE_END(kittygd_driver) + +#undef LAST_TERM +#define LAST_TERM kittygd_driver + +#endif /* TERM_TABLE */ +#endif /* TERM_PROTO_ONLY */ + + +#ifdef TERM_HELP +START_HELP(kittygd) +"1 kittygd", +"?commands set terminal kittygd", +"?set terminal kittygd", +"?set term kittygd", +"?terminal kittygd", +"?term kittygd", +"?kittygd", +" Syntax:", +" set terminal kittygd", +" {{no}enhanced} {{no}truecolor} {rounded|butt}", +" {linewidth <lw>} {dashlength <dl>}", +" {font \"<face> {,<pointsize>}\"} {fontscale <scale>}", +" {size <x>,<y>} {anchor|scroll}", +" {background <rgb_color>}", +"", +" The `kittygd` terminal generates in-window output on terminal emulators", +" that support the kitty graphics protocol. The plot is composed using the", +" gdlib library. By default the library creates a 24-bit RGB png image that", +" is mapped down onto 256 colors (`truecolor`) for output.", +" `notruecolor` restricts the output to fewer colors but there is no obvious", +" advantage to this.", +" Transparent fill styles require the `truecolor` option. See `fillstyle`.", +" If your copy of gnuplot was built with support for cairo graphics,", +" the `kittycairo` terminal may be preferable.", +"", +" This terminal processes labels and other text using enhanced formatting", +" by default. See `enhanced`.", +"", +" The width of al lines in the pot can be modified by the factor <lw> specified", +" in `linewidth`. The font size can similarly be uniformly modified by the", +" scale factor provided in `fontscale`. For discussion of font and text", +" encoding options, see the `png` terminal.", +"", +" `butt` instructs the driver to use a line drawing method that does", +" not overshoot the desired end point of a line. This setting is only", +" relevant for line widths greater than 1. The alternative is `rounded`,", +" which produces somewhat more uniform curved lines but can be much slower.", +"", +" The size of the plot is given in screen pixels.", +" By default (`anchor`) each new plot is drawn starting at the top left of the", +" window. This is useful for animation or pseudo-mousing using the keyboard", +" (see `pseudo-mousing`). The `scroll` option instead plots at the current", +" cursor position so that successive plots scroll with the terminal text.", +"" +END_HELP(kittygd) +#endif /* TERM_HELP */ +#endif /* WITH_GD_KITTY */ diff --git a/term/kitty.c b/term/kitty.c new file mode 100644 index 000000000..52ec1cc51 --- /dev/null +++ b/term/kitty.c @@ -0,0 +1,62 @@ +/* + * Kitty terminal support using existing PNG routines. + * This file is #included from term.h if either the gd or cairo + * libraries are present. + */ + +#ifdef TERM_BODY + +#ifndef KITTY_C +#define KITTY_C + +/* Kitty graphics spec says this must be <= 4096 */ +#define KITTY_BUFSIZ 4096 + +#define KITTY_FORMAT_RGB 24 +#define KITTY_FORMAT_RGBA 32 +#define KITTY_FORMAT_PNG 100 + +static unsigned char kitty_format; +static unsigned char *kitty_buf = NULL; /* Will be initialized to kitty_buf[KITTY_BUFSIZ] */ +static unsigned char *kitty_writepos; +static TBOOLEAN kitty_init_sent; + +static void +kitty_init(unsigned char format) +{ + kitty_format = format; + if (!kitty_buf) + kitty_buf = gp_alloc(sizeof(unsigned char) * KITTY_BUFSIZ, "kitty buffer"); + kitty_writepos = kitty_buf; + kitty_init_sent = FALSE; +} + +static int +kitty_flush(TBOOLEAN more) +{ + /* TODO: return EOF if any writes error */ + + if (!kitty_init_sent) { + fprintf(gpoutfile, "\033_Ga=T,f=%d,m=%d;", kitty_format, more); + kitty_init_sent = TRUE; + } else { + fprintf(gpoutfile, "\033_Gm=%d;", more); + } + fwrite(kitty_buf, sizeof(unsigned char), kitty_writepos - kitty_buf, gpoutfile); + fprintf(gpoutfile, "\033\\"); + kitty_writepos = kitty_buf; + return 0; +} + +static int +kitty_writechar(void *closure, unsigned char ch) +{ + *(kitty_writepos++) = ch; + if (kitty_writepos - kitty_buf >= KITTY_BUFSIZ) { + return kitty_flush(TRUE); + } + return 0; +} + +#endif /* KITTY_C */ +#endif /* TERM_BODY */ diff --git a/term/latex_old.h b/term/latex_old.h index 4e44a1cb1..625ccb355 100644 --- a/term/latex_old.h +++ b/term/latex_old.h @@ -39,7 +39,7 @@ START_HELP(latex) " terminals `latex`, `emtex`, `eepic`, and `tpic` present in older versions", " of gnuplot. See `pict2e`.", "", -" (5) Others, see `context`, legacy terminals texdraw and mp (metapost).", +" (5) Others, see `context` and legacy terminal `texdraw`.", "", " A summary of TeX-friendly terminals is available here:", "^ <a href=\"http://www.gnuplot.info/docs/latex_demo.pdf\">", diff --git a/term/lua/NEWS b/term/lua/NEWS index 809cd3859..b835f206d 100644 --- a/term/lua/NEWS +++ b/term/lua/NEWS @@ -1,3 +1,11 @@ +2023-04-12 + + * For gnuplot 6 (and back-ported to 5.4.7) + pgf.REVISION = "118" + Output from tikz standalone mode is compatible with texlive2023 + and includes conditional code to deal with processing by any of + pdflatex/lualatex/xelatex + 2020-06-02 * For gnuplot version 5.4 diff --git a/term/lua/gnuplot-tikz.lua b/term/lua/gnuplot-tikz.lua index b4e940736..fd57970fc 100644 --- a/term/lua/gnuplot-tikz.lua +++ b/term/lua/gnuplot-tikz.lua @@ -74,8 +74,8 @@ pgf.DEFAULT_FONT_V_CHAR = 308 pgf.STYLE_FILE_BASENAME = "gnuplot-lua-tikz" -- \usepackage{gnuplot-lua-tikz} -pgf.REVISION = "115" -pgf.REVISION_DATE = "2021/10/08 22:39:00" +pgf.REVISION = "118" +pgf.REVISION_DATE = "2023/04/12 19:21:00" pgf.styles = {} @@ -1330,8 +1330,16 @@ gfx.format.latex = { docheader = "\\documentclass["..pgf.DEFAULT_FONT_SIZE.."pt]{article}\n" .."\\usepackage[T1]{fontenc}\n" .."\\usepackage{textcomp}\n\n" - .."\\usepackage[utf8x]{inputenc}\n" - .."\\SetUnicodeOption{mathletters}\n\n" + .."\\usepackage{ifluatex,ifxetex}\n" + .."\\ifluatex\n" + .." \\usepackage{fontspec}\n \\setmainfont{Free Serif}\n" + .."\\else\\ifxetex\n" + .." \\usepackage{fontspec}\n \\setmainfont{FreeSerif}\n" + .."\\else\n" + .." \\usepackage{ucs}\n" + .." \\SetUnicodeOption{mathletters}\n" + .." \\usepackage[utf8x]{inputenc}\n" + .."\\fi\\fi\n\n" .."\\usepackage{"..pgf.STYLE_FILE_BASENAME.."}\n" .."\\pagestyle{empty}\n" .."\\usepackage[active,tightpage]{preview}\n" diff --git a/term/post.trm b/term/post.trm index 6c0ab6c9c..e7186befd 100644 --- a/term/post.trm +++ b/term/post.trm @@ -132,6 +132,7 @@ TERM_PUBLIC char *PS_escape_string(char *origstr, char *escapelist); TERM_PUBLIC void PS_path(int p); static TBOOLEAN PS_newpath = FALSE; +static TBOOLEAN PS_inpath = FALSE; static TBOOLEAN ENHps_opened_string = FALSE; /* try to cut out empty ()'s */ TERM_PUBLIC void PS_layer(t_termlayer syncpoint); @@ -547,6 +548,7 @@ PS_escape_string(char *origstr, char *escapelist) static int PS_pen_x, PS_pen_y; static int PS_taken; static int PS_linetype_last; +static int PS_dashtype_current; static double PS_linewidth_last; static double PS_linewidth_current; static TBOOLEAN PS_relative_ok; @@ -1949,6 +1951,7 @@ doclip\n\ fprintf(gppsfile, "(%s) findfont %d scalefont setfont\n", ps_params->font, (t->v_char)); ps_path_count = 0; + PS_inpath = FALSE; PS_relative_ok = FALSE; PS_pen_x = PS_pen_y = -4000; PS_taken = 0; @@ -2064,6 +2067,7 @@ PS_dashtype(int type, t_dashtype *custom_dash_type) PS_linetype(type); break; } + PS_dashtype_current = type; } TERM_PUBLIC void @@ -2183,7 +2187,10 @@ PS_vector(unsigned int x, unsigned int y) if (!PS_relative_ok) PS_move(PS_pen_x, PS_pen_y); - if (strlen(rel) < strlen(abso)) { + if (PS_dashtype_current == DASHTYPE_NODRAW) { + PS_move(x,y); + ps_path_count = 1; + } else if (strlen(rel) < strlen(abso)) { fputs(rel, gppsfile); PS_taken++; /* only used for debug info */ ps_path_count += 1; @@ -2191,7 +2198,10 @@ PS_vector(unsigned int x, unsigned int y) fputs(abso, gppsfile); ps_path_count = 1; /* If we set it to zero, it may never get flushed */ } - /* Ghostscript has a "pile-up of rounding errors" bug: a sequence of many + +#define MAX_REL_PATHLEN 250 + /* -2003- + * Ghostscript has a "pile-up of rounding errors" bug: a sequence of many * rmove's or rlineto's does not yield the same line as move's or lineto's. * Therefore, we periodically force an update of the absolute position. * There was a case when 400 rlineto's were too much, so let's set the limit @@ -2200,10 +2210,14 @@ PS_vector(unsigned int x, unsigned int y) * lineto with no intervening 'stroke' is ridiculously slow to render. * So we stroke the partial line, update the position in absolute terms, * then continue. This whole section can go away if ghostscript/gv is fixed. + * -2023- + * This is now causing more problems than justified by accommodating + * old versions of ghostscript/gv. In particular if the "stroke" is added + * inside a path it produces an unwanted line back to the path start. */ -#define MAX_REL_PATHLEN 250 if (ps_path_count >= MAX_REL_PATHLEN) { - fprintf(gppsfile, "stroke %d %d M\n", x, y); + if (!PS_inpath) + fprintf(gppsfile, "stroke %d %d M\n", x, y); ps_path_count = 1; } @@ -3124,6 +3138,7 @@ PS_make_header(t_sm_palette *palette) break; } case SMPAL_COLOR_MODE_GRADIENT: + case SMPAL_COLOR_MODE_VIRIDIS: fputs("/InterpolatedColor true def\n", gppsfile); make_interpolation_code(); write_gradient_definition(palette->gradient, palette->gradient_num); @@ -3446,7 +3461,7 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor { gdImagePtr png_img; int m, n, pixel; - if (color_mode == IC_RGB) { + if (color_mode == IC_RGB || color_mode == IC_RGBA) { png_img = gdImageCreateTrueColor(M, N); } else { /* we would need a gray scale image, but libgd does not support @@ -3458,7 +3473,7 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor int_error(NO_CARET, "GNUPLOT (post.trm): failed to create libgd image structure"); } - if (color_mode == IC_RGB) { + if (color_mode == IC_RGB || color_mode == IC_RGBA) { rgb_color rgb1; rgb255_color rgb255; for (n = 0; n < N; n++) { @@ -3469,6 +3484,9 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor rgb255_from_rgb1(rgb1, &rgb255); pixel = gdImageColorResolve(png_img, (int)rgb255.r, (int)rgb255.g, (int)rgb255.b); gdImageSetPixel(png_img, m, n, pixel); + if (color_mode == IC_RGBA) { + image++; /* ignore alpha channel */ + } } } } else { @@ -3553,7 +3571,7 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor int m, n; - if (color_mode == IC_RGB) { + if (color_mode == IC_RGB || color_mode == IC_RGBA) { format = CAIRO_FORMAT_RGB24; } else { format = CAIRO_FORMAT_A8; @@ -3561,7 +3579,7 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor stride = cairo_format_stride_for_width(format, M); image255 = (unsigned char *) gp_alloc(N * stride, "Postscript image bytes"); - if (color_mode == IC_RGB) { + if (color_mode == IC_RGB || color_mode == IC_RGBA) { /* Adapted from gp_cairo_helpers.c (use unsigned int to respect endianess of the platform). */ rgb_color rgb1; rgb255_color rgb255; @@ -3574,6 +3592,9 @@ write_png_image_to_buffer(unsigned M, unsigned N, coordval *image, t_imagecolor rgb1.b = *image++; rgb255_from_rgb1(rgb1, &rgb255); *image255_ptr++ = (0xFF<<24) + (rgb255.r<<16) + (rgb255.g<<8) + rgb255.b; + if (color_mode == IC_RGBA) { + image++; /* ignore alpha channel */ + } } } } else { @@ -3720,14 +3741,22 @@ PS_encode_image(unsigned int M, unsigned int N, coordval *image, t_imagecolor co unsigned char tuple5[5]; int max_encoded_bytes; char *encoded_image, *encoded_image_ptr; + unsigned ncomponents; unsigned long total_bits; + int current_channel; #define ASCII_PER_LINE 78 /* 18.1.2009 RGB images ("plot ... with rgbimage") are drawn always in color, * i.e. for both "set term post color" and "set term post mono". */ - total_bits = bits_per_component*M*N*((color_mode == IC_RGB /* && ps_params->color */) ? 3 : 1); + if (color_mode == IC_RGB) + ncomponents = 3; + else if (color_mode == IC_RGBA) /* alpha channel will be ignored */ + ncomponents = 3; + else + ncomponents = 1; + total_bits = bits_per_component * ncomponents * M * N; /* At the end of each image line, data is aligned to the nearest 8 bits, * which means potentially adding 7 bits per line. @@ -3756,24 +3785,30 @@ PS_encode_image(unsigned int M, unsigned int N, coordval *image, t_imagecolor co i_line = ASCII_PER_LINE; i_element = 0; coord_remaining = M*N; - if (color_mode == IC_RGB /* && ps_params->color */) { + if (color_mode == IC_RGB) { + end_of_line *= 3; + coord_remaining *= 3; + } + if (color_mode == IC_RGBA) { end_of_line *= 3; coord_remaining *= 3; } bits_remaining = 32; bits_start = 0; tuple4 = 0; + current_channel = 0; while (coord_remaining) { - unsigned short us_tmp; - if (0 /* color_mode == IC_RGB && !ps_params->color */) { - coordval c_tmp; - c_tmp = *coord_ptr++; - c_tmp += *coord_ptr++; - c_tmp += *coord_ptr++; - us_tmp = (unsigned short) (c_tmp*(max_colors-1)/3.0 + 0.5); - } else - us_tmp = (unsigned short) ((*coord_ptr++) * max_colors); + unsigned short us_tmp = (*coord_ptr++) * max_colors; + + /* Ignore alpha channel */ + if (color_mode == IC_RGBA) { + current_channel++; + if (current_channel == 4) { + current_channel = 0; + continue; + } + } if (us_tmp > (max_colors-1)) us_tmp = max_colors-1; @@ -3902,15 +3937,18 @@ print_five_operand_image(unsigned int M, unsigned int N, gpiPoint *corner, t_ima fprintf(gppsfile, "%s[ %d 0 0 %d 0 0 ]\n", space, M, N); if (ps_params->level1) { fprintf(gppsfile, "/imagebuf %d string def\n", - (M*N*bits_per_component*((color_mode == IC_RGB /* && ps_params->color */) ? 3 : 1) + 7)/8); + (M*N*bits_per_component*((color_mode == IC_RGB || color_mode == IC_RGBA) ? 3 : 1) + 7)/8); fputs("{currentfile imagebuf readhexstring pop}\n", gppsfile); } else if (ps_params->level3) { fprintf(gppsfile, " currentfile /ASCII85Decode filter << /Predictor 15 /BitsPerComponent %d /Colors %d /Columns %d >> /FlateDecode filter\n", - bits_per_component, (color_mode == IC_RGB) ? 3 : 1, M); + bits_per_component, (color_mode == IC_RGB || color_mode == IC_RGBA) ? 3 : 1, M); } else { fprintf(gppsfile, " currentfile /ASCII85Decode filter\n"); } - if (color_mode == IC_RGB /* && ps_params->color */) { + if (color_mode == IC_RGB) { + fprintf(gppsfile, "%sfalse 3\n" + "%scolorimage\n", space, space); + } else if (color_mode == IC_RGBA) { fprintf(gppsfile, "%sfalse 3\n" "%scolorimage\n", space, space); } else @@ -3963,14 +4001,10 @@ PS_image (unsigned int M, unsigned int N, coordval *image, gpiPoint *corner, t_i /* Color and gray scale images do not need a palette and can use * the 5 operand form of the image routine. */ -#if 0 - /* 18.1.2009 It was decided to use the custom palette (i.e. colours) also - for the monochrome postscript output. - */ - if ((color_mode == IC_RGB) || (sm_palette.colorMode == SMPAL_COLOR_MODE_GRAY) || !ps_params->color) -#else - if ((color_mode == IC_RGB) || (sm_palette.colorMode == SMPAL_COLOR_MODE_RGB && !ps_params->color) || (sm_palette.colorMode == SMPAL_COLOR_MODE_GRAY)) -#endif + if ((color_mode == IC_RGB) + || (color_mode == IC_RGBA) + || (sm_palette.colorMode == SMPAL_COLOR_MODE_RGB && !ps_params->color) + || (sm_palette.colorMode == SMPAL_COLOR_MODE_GRAY)) five_operand_image = TRUE; else five_operand_image = FALSE; @@ -3986,15 +4020,17 @@ PS_image (unsigned int M, unsigned int N, coordval *image, gpiPoint *corner, t_i cscale = 1.0; #ifdef HAVE_DEFLATE_ENCODER - if (ps_params->level3) + if (ps_params->level3) { encoded_image = (void *)PS_encode_png_image(M, N, image, color_mode, bits_per_component, max_colors, cscale, &num_encoded_bytes); - else + } else { #endif encoded_image = PS_encode_image(M, N, image, color_mode, bits_per_component, max_colors, cscale, - (ps_params->level1 ? PS_ASCII_HEX : PS_ASCII85), &num_encoded_bytes); + (ps_params->level1 ? PS_ASCII_HEX : PS_ASCII85), + &num_encoded_bytes); + } fputs("%%%%BeginImage\n", gppsfile); @@ -4069,7 +4105,7 @@ PS_image (unsigned int M, unsigned int N, coordval *image, gpiPoint *corner, t_i } else if (ps_params->level3) { fprintf(gppsfile, " /DataSource currentfile /ASCII85Decode filter "); fprintf(gppsfile, "<< /Predictor 15 /BitsPerComponent %d /Colors %d /Columns %d >> /FlateDecode filter\n", - bits_per_component, (color_mode == IC_RGB) ? 3 : 1, M); + bits_per_component, (color_mode == IC_RGB || color_mode == IC_RGBA) ? 3 : 1, M); } else { fputs(" /DataSource currentfile /ASCII85Decode filter\n", gppsfile); } @@ -4319,11 +4355,13 @@ PS_path(int p) case 0: /* Start new path */ PS_FLUSH_PATH; PS_newpath = TRUE; + PS_inpath = TRUE; break; case 1: /* Close path */ fprintf(gppsfile, "Z "); PS_FLUSH_PATH; + PS_inpath = FALSE; break; } @@ -4519,10 +4557,6 @@ START_HELP(00psglobal) " of the plot is correctly adjusted to contain the resized image.",\ " Screen coordinates always run from 0.0 to 1.0 along the full length of the",\ " plot edges as specified by the `size` option.",\ -" NB: `this is a change from the previously recommended method of using the",\ -" set size command prior to setting the terminal type`. The old method left",\ -" the BoundingBox unchanged and screen coordinates did not correspond to the",\ -" actual limits of the plot.",\ "", "" END_HELP(00psglobal) @@ -4540,7 +4574,6 @@ START_HELP(epslatex) " Syntax:", " set terminal epslatex {default}", " set terminal epslatex {standalone | input}", -" {oldstyle | newstyle}", PS_COMMON_OPTS1 " {header <header> | noheader}", PS_COMMON_OPTS2 @@ -4549,18 +4582,6 @@ PS_COMMON_OPTS2 " but transfers the texts to LaTeX instead of including in the PostScript", " code. Thus, many options are the same as in the `postscript terminal`.", "", -" The appearance of the epslatex terminal changed between versions 4.0 and 4.2", -" to reach better consistency with the postscript terminal:", -" The plot size has been changed from 5 x 3 inches to 5 x 3.5 inches;", -" the character width is now estimated to be 60% of the font size", -" while the old epslatex terminal used 50%; now, the larger number of", -" postscript linetypes and symbols are used. To reach an appearance that is", -" nearly identical to the old one specify the option `oldstyle`. (In fact", -" some small differences remain: the symbol sizes are slightly different, the", -" tics are half as large as in the old terminal which can be changed using", -" `set tics scale`, and the arrows have all features as in the postscript", -" terminal.)", -"", PS_COMMON_PROLOG_INFO PS_COMMON_DOC1 " `blacktext` forces all text to be written in black even in color mode;", @@ -4721,7 +4742,6 @@ START_HELP(pslatex) " set terminal [pslatex | pstex] {default}", " set terminal [pslatex | pstex]", " {rotate | norotate}", -" {oldstyle | newstyle}", " {auxfile | noauxfile}", PS_COMMON_OPTS1 " {<font_size>}", @@ -4742,13 +4762,6 @@ PS_COMMON_DOC1 " \\special{psfile=...} command. Remember to close the `output file` before", " next plot unless in `multiplot` mode.", "", -" Gnuplot versions prior to version 4.2 generated plots of the size", -" 5 x 3 inches using the ps(la)tex terminal while the current version generates", -" 5 x 3.5 inches to be consistent with the postscript eps terminal. In", -" addition, the character width is now estimated to be 60% of the font size", -" while the old epslatex terminal used 50%. To reach the old format specify", -" the option `oldstyle`.", -"", " The pslatex driver offers a special way of controlling text positioning: ", " (a) If any text string begins with '{', you also need to include a '}' at the", " end of the text, and the whole text will be centered both horizontally", diff --git a/term/pslatex.trm b/term/pslatex.trm index 291e5d12a..709edf0eb 100644 --- a/term/pslatex.trm +++ b/term/pslatex.trm @@ -525,8 +525,10 @@ EPSLATEX_common_init() if (ISCAIROTERMINAL) fprintf(gpoutfile, "\\usepackage{transparent}\n"); - if (inputenc) + if (inputenc) { + fprintf(gpoutfile, "\\usepackage{ucs}\n"); fprintf(gpoutfile, "\\usepackage[%s]{inputenc}\n", inputenc); + } fprintf(gpoutfile, "\ \\makeatletter\n\ @@ -1076,7 +1078,8 @@ TERM_TABLE_START(epslatex_driver) PS_text, null_scale, PS_graphics, PS_move, PS_vector, EPSLATEX_linetype, EPSLATEX_put_text, PS_text_angle, PS_justify_text, PS_point, do_arrow, PS_set_font, - PS_pointsize, TERM_BINARY|TERM_IS_POSTSCRIPT|TERM_CAN_CLIP|TERM_IS_LATEX /*flags */, + PS_pointsize, + TERM_BINARY|TERM_IS_POSTSCRIPT|TERM_CAN_CLIP|TERM_IS_LATEX|TERM_REUSES_BOXTEXT, 0 /*suspend */, 0 /*resume */, PS_fillbox, PS_linewidth, #ifdef USE_MOUSE diff --git a/term/qt.trm b/term/qt.trm index d8c7b50c5..f106cf6b6 100644 --- a/term/qt.trm +++ b/term/qt.trm @@ -51,7 +51,7 @@ TERM_TABLE_START (qt_driver) qt_text_angle, qt_justify_text, qt_point, do_arrow, qt_set_font, qt_pointsize, - TERM_CAN_MULTIPLOT|TERM_NO_OUTPUTFILE|TERM_ALPHA_CHANNEL|TERM_CAN_DASH|TERM_ENHANCED_TEXT|TERM_POLYGON_PIXELS|TERM_LINEWIDTH, + TERM_CAN_MULTIPLOT|TERM_NO_OUTPUTFILE|TERM_ALPHA_CHANNEL|TERM_CAN_DASH|TERM_ENHANCED_TEXT|TERM_POLYGON_PIXELS|TERM_LINEWIDTH|TERM_COLORBOX_IMAGE, 0 /* suspend */, 0 /* resume */, qt_fillbox, qt_linewidth #ifdef USE_MOUSE , qt_waitforinput, qt_put_tmptext, qt_set_ruler, qt_set_cursor, qt_set_clipboard diff --git a/term/svg.trm b/term/svg.trm index 0cb1ed1b7..da3e36e05 100644 --- a/term/svg.trm +++ b/term/svg.trm @@ -111,7 +111,6 @@ TERM_PUBLIC void SVG_hypertext(int, const char *); #ifdef WRITE_PNG_IMAGE TERM_PUBLIC void SVG_image(unsigned m, unsigned n, coordval *image, gpiPoint *corner, t_imagecolor color_mode); -static int SVG_imageno = 0; #endif #define SVG_SCALE 100. /* Coordinate accuracy is 1/SVG_SCALE pixel */ @@ -1881,15 +1880,17 @@ SVG_image (unsigned m, unsigned n, coordval *image, gpiPoint *corner, t_imagecol PREC, X(corner[1].x) - X(corner[0].x), PREC, Y(corner[1].y) - Y(corner[0].y)); /* Feb 2017 - always embed images */ - if (TRUE || SVG_standalone || SVG_domterm) { + #if (1) /* Embed the PNG file in SVG by converting to base64 */ fprintf(gpoutfile, "xlink:href='data:image/png;base64,"); if (write_png_base64_image(m, n, image, color_mode, gpoutfile)) os_error(NO_CARET, "SVG_image: could not write to gnuplot output file."); fprintf(gpoutfile, "'/>\n"); - } else { + #else + { /* Write the image to a png file */ + static int SVG_imageno = 0; char *image_file; char *base_name = SVG_name ? SVG_name : "gp"; int wpiresult; @@ -1906,7 +1907,8 @@ SVG_image (unsigned m, unsigned n, coordval *image, gpiPoint *corner, t_imagecol if (wpiresult != 0) os_error(NO_CARET, "SVG_image: could not write to PNG reference file."); - } + } + #endif } #endif @@ -2286,11 +2288,11 @@ TERM_TABLE_START (domterm_driver) SVG_move, SVG_vector, SVG_linetype, SVG_put_text, SVG_text_angle, SVG_justify_text, SVG_point, do_arrow, SVG_set_font, do_pointsize, TERM_CAN_DASH | TERM_ALPHA_CHANNEL|TERM_LINEWIDTH, - 0 /* suspend */, 0 /* resume */ , SVG_fillbox, SVG_linewidth + 0 /* suspend */, 0 /* resume */ , SVG_fillbox, SVG_linewidth, #ifdef USE_MOUSE - , 0, 0, 0, 0, 0 /* no mouse support for svg */ + NULL, 0, 0, 0, 0, /* pseudo-mousing: replace NULL with term_waitforinput */ #endif - , SVG_make_palette, + SVG_make_palette, SVG_previous_palette, SVG_set_color, SVG_filled_polygon diff --git a/term/tek.trm b/term/tek.trm index fa38a714c..7962b4555 100644 --- a/term/tek.trm +++ b/term/tek.trm @@ -496,8 +496,8 @@ SEL_reset() static int SIXEL_findslot(int rgbval); static void SIXEL_setfont(void); -#define SIXEL_XMAX (640) -#define SIXEL_YMAX (480) +#define SIXEL_XMAX (639) +#define SIXEL_YMAX (479) #define SIXEL_VCHAR (FNT5X9_VCHAR) #define SIXEL_HCHAR (FNT5X9_HCHAR) #define SIXEL_VTIC (FNT5X9_HBITS) @@ -510,11 +510,13 @@ static void SIXEL_setfont(void); /* This is the _maximum_ number of allowed palette entries. */ #define SIXEL_NCOL 256 -static int SIXEL_mode = 1; // mono=0, color=1 -static int SIXEL_font = 1; // small=1,medium=2,large=3 -static int SIXEL_ncol = 16; // actual number of colors to be used +static int SIXEL_mode = 1; /* mono=0, color=1 */ +static int SIXEL_font = 1; /* small=1,medium=2,large=3 */ +static int SIXEL_ncol = 16; /* actual number of colors to be used */ static int SIXEL_lt; -static int SIXEL_fp, SIXEL_np; +static int SIXEL_fp = 0; /* start of gnuplot palette colors */ +static int SIXEL_np = 0; /* size of gnuplot palette */ +static int SIXEL_anchor = 1; /* Anchor plot at top left */ struct SIXEL_colorspec { int state; /* see definitions above */ @@ -549,6 +551,7 @@ SIXEL_findslot(int rgbval) /* if not found, try to find an unused slot */ dopt = 0x30000; /* max is 3 times 256 squared */ + iopt = 0; for (i = 0; i < SIXEL_ncol; i++) { if (SIXEL_palette[i].state != SIXEL_COL_USED) { SIXEL_palette[i].state = SIXEL_COL_USED; @@ -577,7 +580,7 @@ SIXEL_findslot(int rgbval) enum SIXEL_id { SIXEL_SMALL, SIXEL_MEDIUM, SIXEL_LARGE, SIXEL_MONOCHROME, SIXEL_COLOR, SIXEL_COLORS, - SIXEL_SIZE, + SIXEL_SIZE, SIXEL_ANCHOR, SIXEL_SCROLL, SIXEL_OTHER }; @@ -591,6 +594,8 @@ static struct gen_table SIXEL_opts[] = { "c$olour", SIXEL_COLOR }, { "colors", SIXEL_COLORS }, { "size", SIXEL_SIZE }, + { "anchor", SIXEL_ANCHOR }, + { "scroll", SIXEL_SCROLL }, { NULL, SIXEL_OTHER } }; @@ -618,7 +623,7 @@ SIXEL_options() break; case SIXEL_COLOR: SIXEL_mode = 1; - // We do not change number of colors here. + /* We do not change number of colors here. */ term->flags &= ~TERM_MONOCHROME; c_token++; break; @@ -641,9 +646,17 @@ SIXEL_options() } break; } + case SIXEL_ANCHOR: + SIXEL_anchor = 1; + c_token++; + break; + case SIXEL_SCROLL: + SIXEL_anchor = 0; + c_token++; + break; case SIXEL_OTHER: default: - int_error(c_token, "unknown option; expecting: {small, medium, large}, {monochrome, color}, or {size x,y}"); + int_warn(c_token, "unknown terminal option"); break; } } @@ -669,6 +682,8 @@ SIXEL_options() strcat(term_options, " monochrome"); else sprintf(term_options + strlen(term_options), " colors %d", SIXEL_ncol); + if (strncmp(term->name, "sixel", 5) == 0) + strcat(term_options, SIXEL_anchor ? " anchor" : " scroll"); sprintf(term_options + strlen(term_options), " size %d,%d", term->xmax + 1, term->ymax + 1); } @@ -709,6 +724,11 @@ SIXEL_text() int i, j, k, l, ic, n, pr, no; char c, pc; unsigned * map; + int *m; + + /* place each new plot at upper left of terminal window */ + if (SIXEL_anchor) + fprintf(gpoutfile,"\033[H"); /* initialization to Sixel mode and pixel aspect ratio, but do not change the background */ @@ -725,7 +745,7 @@ SIXEL_text() map = gp_alloc(6 * b_xsize * sizeof(unsigned), "sixeltek"); for (j = b_ysize - 6; j >= 0; j -= 6) { - // get pixel values only once + /* get pixel values only once */ for (i = 0; i < b_xsize; i++) for (l = 0; l < 6; l++) map[i * 6 + l] = b_getpixel(i, j + l); @@ -734,13 +754,27 @@ SIXEL_text() pr = 0; pc = '\0'; n = 0; + m = (int *)(&map[0]); for (i = 0; i < b_xsize; i++) { +#if (0) unsigned mask = 0x20; ic = 0; for (l = 0; l < 6; l++) { ic |= (map[i * 6 + l] == k) ? mask : 0; mask >>= 1; } +#else + /* The loop above is by far the most exercised bit of code. + * Unrolling it substantially decreases execution time. + */ + ic = 0; + if (*(m++) == k) ic |= 0x20; + if (*(m++) == k) ic |= 0x10; + if (*(m++) == k) ic |= 0x08; + if (*(m++) == k) ic |= 0x04; + if (*(m++) == k) ic |= 0x02; + if (*(m++) == k) ic |= 0x01; +#endif c = (char) (ic + 63); if (c == pc && i != b_xsize - 1) { n++; @@ -757,9 +791,10 @@ SIXEL_text() if (n > 3) { no += fprintf(gpoutfile, "!%d%c", n, pc); } else { - for (l = 1; l <= n; l++) + int ii; + for (ii = 1; ii <= n; ii++) fputc(pc, gpoutfile); - no += n; + no += n; } if (i == b_xsize-1 && c != pc) { fputc(c, gpoutfile); @@ -783,12 +818,8 @@ SIXEL_text() free(map); /* get out of Sixel mode */ -#ifndef VMS fputs("\033\\\n", gpoutfile); -#else - fputs("\033\\\n\n", gpoutfile); -#endif - (void) fflush(gpoutfile); /* finish the graphics */ + fflush(gpoutfile); } @@ -819,24 +850,33 @@ TERM_PUBLIC void SIXEL_graphics() { int i; - - b_boxfill(FS_EMPTY, 0, 0, b_xsize, b_ysize); - for (i = 0; i < SIXEL_ncol; i++) { - struct linestyle_def *this; + struct linestyle_def *this; + + /* palette color 0 is background */ + SIXEL_palette[0].state = SIXEL_COL_USED; + SIXEL_palette[0].rgbval = 0xFFFFFF; + /* palette color 1 is foreground */ + SIXEL_palette[1].state = SIXEL_COL_USED; + SIXEL_palette[1].rgbval = 0x000000; + /* the rest of the palette starts out undefined */ + for (i = 2; i < SIXEL_ncol; i++) { SIXEL_palette[i].state = SIXEL_COL_UNDEFINED; SIXEL_palette[i].rgbval = 0; - for (this = first_perm_linestyle; this != NULL; this = this->next) { - if (i == this->tag-1) { - /* Load color into SIXEL_palette[i] */ - if (this->lp_properties.pm3d_color.type == TC_RGB) { - int rgbval = this->lp_properties.pm3d_color.lt; - SIXEL_palette[i].state = SIXEL_COL_DEFINED; - SIXEL_palette[i].rgbval = rgbval; - } - break; - } + } + /* reserve one palette entry for each permanent line color */ + i = 2; + for (this = first_perm_linestyle; this != NULL; this = this->next) { + if (this->lp_properties.pm3d_color.type == TC_RGB) { + int rgbval = this->lp_properties.pm3d_color.lt; + SIXEL_palette[i].state = SIXEL_COL_USED; + SIXEL_palette[i].rgbval = rgbval; + i++; } } + + /* background fill */ + b_setvalue(0); + b_boxfill(FS_OPAQUE, 0, 0, b_xsize, b_ysize); } @@ -845,22 +885,29 @@ SIXEL_linetype(int linetype) { int i; + SIXEL_lt = linetype; + + /* monochrome */ if (SIXEL_mode == 0) { b_setlinetype(linetype); + return; + } + + if (linetype == LT_AXIS) { + b_setlinetype(1); + b_setvalue(2); + } else if (linetype == LT_BLACK) { + b_setlinetype(0); + b_setvalue(2); + } else if (linetype < 0) { + b_setlinetype(0); + b_setvalue(0); + } else if (linetype > 0) { + i = linetype % SIXEL_ncol; + b_setvalue(1 + i); } else { - if (linetype < 0) { - if (linetype == LT_AXIS) - b_setlinetype(1); - i = SIXEL_findslot(0); /* find slot with black color */ - b_setvalue(1 + i); - } else if (linetype > 0) { - i = linetype % SIXEL_ncol; - b_setvalue(1 + i); - } else { - b_setlinetype(0); - } + b_setlinetype(0); } - SIXEL_lt = linetype; } @@ -885,33 +932,50 @@ SIXEL_make_palette(t_sm_palette *palette) if (palette == NULL) { /* If we already have a palette, overwrite it */ if (SIXEL_fp > 0) { - for (i = SIXEL_fp; i < SIXEL_ncol; i++) + for (i = SIXEL_fp; (i < SIXEL_ncol) && (i < SIXEL_fp + SIXEL_np); i++) SIXEL_palette[i].state = SIXEL_COL_UNDEFINED; - // return SIXEL_np; } + /* Find the first unused slot */ + for (i = 0; i < SIXEL_ncol; i++) + if (SIXEL_palette[i].state == SIXEL_COL_UNDEFINED) + break; + SIXEL_fp = i; - SIXEL_np = SIXEL_ncol; - for (SIXEL_fp = 0; SIXEL_fp < SIXEL_ncol; SIXEL_fp++) { + /* If there is enough space, reserve another few slots for user-defined colors */ + if (SIXEL_ncol == 256) + SIXEL_fp = 128; + else if (SIXEL_ncol - i > 138) + SIXEL_fp += 10; + + /* The remaining contiguous unused space is the new max palette size */ + SIXEL_np = 0; + for (i = SIXEL_fp; i < SIXEL_ncol; i++) { if (SIXEL_palette[SIXEL_fp].state != SIXEL_COL_UNDEFINED) - SIXEL_np--; - else break; + SIXEL_np++; } + FPRINTF((stderr, "SIXEL_make_palette: reporting %d colors available\n", SIXEL_np)); return SIXEL_np; } - for (i = 0; i < sm_palette.colors; i++) { - SIXEL_palette[SIXEL_fp + i].state = SIXEL_COL_DEFINED; + for (i = 0; i < SIXEL_np; i++) { + /* Requested palette may be smaller than allocated palette */ + if (i >= sm_palette.colors) { + SIXEL_palette[SIXEL_fp + i].state = SIXEL_COL_UNDEFINED; + continue; + } + SIXEL_palette[SIXEL_fp + i].state = SIXEL_COL_USED; SIXEL_palette[SIXEL_fp + i].rgbval = 0; - c = GPMIN((int) (palette->color[i].r * 256), 255); + c = (int) (palette->color[i].r * 255); SIXEL_palette[SIXEL_fp + i].rgbval |= c << 16; - c = GPMIN((int) (palette->color[i].g * 256), 255); + c = (int) (palette->color[i].g * 255); SIXEL_palette[SIXEL_fp + i].rgbval |= c << 8; - c = GPMIN((int) (palette->color[i].b * 256), 256); + c = (int) (palette->color[i].b * 255); SIXEL_palette[SIXEL_fp + i].rgbval |= c; } - return 0; + SIXEL_np = sm_palette.colors; + return SIXEL_np; } @@ -931,16 +995,29 @@ SIXEL_set_color(t_colorspec *colorspec) default: return; case TC_LT: - SIXEL_linetype(colorspec->lt); + if (colorspec->lt > 0) + SIXEL_linetype(colorspec->lt); + else if (colorspec->lt == LT_BLACK) + b_setvalue(2); + else if (colorspec->lt == LT_AXIS) + b_setvalue(2); + else + b_setvalue(0); return; case TC_RGB: i = SIXEL_findslot(colorspec->lt); b_setvalue(1 + i); return; case TC_FRAC: - i = SIXEL_fp + (int)(colorspec->value * SIXEL_np); - SIXEL_palette[i].state = SIXEL_COL_USED; - b_setvalue(1 + i); + if (CHECK_SMPAL_IS_DISCRETE_GRADIENT) { + i = index_from_gray(colorspec->value); + } else { + i = (colorspec->value < 0) ? 0 : (int)(colorspec->value * sm_palette.colors); + if (i >= sm_palette.colors) + i = sm_palette.colors - 1; + } + SIXEL_palette[SIXEL_fp + i].state = SIXEL_COL_USED; + b_setvalue(1 + SIXEL_fp + i); return; } } @@ -1319,7 +1396,7 @@ TERM_TABLE_START(sixel_driver) b_justify_text, line_and_point, do_arrow, set_font_null, 0, 0, 0, 0, SIXEL_fillbox, b_linewidth, #ifdef USE_MOUSE - NULL, NULL, NULL, NULL, NULL, + term_waitforinput, NULL, NULL, NULL, NULL, #endif SIXEL_make_palette, NULL, SIXEL_set_color, SIXEL_filled_polygon, @@ -1409,7 +1486,8 @@ START_HELP(tek40) "?term sixeltek", "?sixeltek", " Syntax:", -" set terminal sixeltek {<fontsize>} {color|colors <n>|mono} {size <x>,<y>}", +" set terminal sixeltek {<fontsize>} {mono|color|colors <n>} {size <x>,<y>}", +" {animate}", "", " The `sixel` output format was originally used by DEC terminals and printers.", " This driver supports palette images with a maximum of 256 colors. The default", @@ -1417,9 +1495,12 @@ START_HELP(tek40) "", " The font size can be specified as `small`, `medium` or `large`.", "", -" For use with xterm emulation, xterm must be compiled/configured with", +" `anchor` causes each new plot to be anchored at the top left of the window.", +" `scroll` intead draws each plot at the current cursor position and allows it", +" to scroll with the text.", +"", +" For use with xterm, xterm must be compiled/configured with", " \"--enable-sixel-graphics\" and started with \"-ti 340\" on the command line.", -" The menu option \"sixelScrolling\" should be selected.", "", " Note that gnuplot also supports another sixel output terminal, `sixelgd`,", " that offers more options and features." diff --git a/term/write_png_image.c b/term/write_png_image.c index 02a7fec44..3040186a4 100644 --- a/term/write_png_image.c +++ b/term/write_png_image.c @@ -7,28 +7,36 @@ #ifndef WRITE_PNG_IMAGE #define WRITE_PNG_IMAGE +typedef int (*writebyte_cb)(void *, unsigned char); + typedef struct base64state { int shift; unsigned char bit6; unsigned int byte4; - FILE* out; + writebyte_cb writebyte; + void* out; } base64s; static const unsigned char base64_lut[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +static int +writebyte_fputc(void *out, unsigned char ch) { + return fputc(ch, (FILE *)out); +} + void -init_base64_state_data (base64s *b64, FILE *out) { +init_base64_state_data (base64s *b64, writebyte_cb cb, void *out) { b64->shift = 6; b64->bit6 = 0; b64->byte4 = 0; b64->out = out; + b64->writebyte = cb; } static int piecemeal_write_base64_data_finish (base64s *b64) { - if (b64->shift < 6) { - if (fputc(base64_lut[b64->bit6 & 0x3F], b64->out) == EOF) + if (b64->writebyte(b64->out, base64_lut[b64->bit6 & 0x3F]) == EOF) return 1; if (b64->byte4 == 0) b64->byte4 = 3; @@ -36,7 +44,7 @@ piecemeal_write_base64_data_finish (base64s *b64) { b64->byte4--; } while (b64->byte4 > 0) { - if (fputc('=', b64->out) == EOF) + if (b64->writebyte(b64->out, '=') == EOF) return 1; b64->byte4--; } @@ -63,7 +71,7 @@ piecemeal_write_base64_data (const unsigned char *data, unsigned int length, bas b64->bit6 |= (databyte >> -b64->shift); } } - if (fputc(base64_lut[b64->bit6 & 0x3F], b64->out) == EOF) + if (b64->writebyte(b64->out, base64_lut[b64->bit6 & 0x3F]) == EOF) return 1; b64->shift += 6; b64->bit6 = (databyte << b64->shift); @@ -113,7 +121,7 @@ cairo_write_base64_callback (void *closure, const unsigned char *data, unsigned } static int -write_png_base64_image (unsigned m, unsigned n, coordval *image, t_imagecolor color_mode, FILE *out) { +write_png_base64_cb (unsigned m, unsigned n, coordval *image, t_imagecolor color_mode, writebyte_cb cb, void *out) { cairo_surface_t *image_surface; cairo_status_t cairo_stat; unsigned int *image255; @@ -127,7 +135,7 @@ write_png_base64_image (unsigned m, unsigned n, coordval *image, t_imagecolor co image255 = gp_cairo_helper_coordval_to_chars(image, m, n, color_mode); image_surface = cairo_image_surface_create_for_data((unsigned char*) image255, CAIRO_FORMAT_ARGB32, m, n, 4*m); - init_base64_state_data (b64, out); + init_base64_state_data (b64, cb, out); cairo_stat = cairo_surface_write_to_png_stream(image_surface, cairo_write_base64_callback, b64); cairo_surface_destroy(image_surface); if (cairo_stat != CAIRO_STATUS_SUCCESS) { @@ -142,6 +150,11 @@ write_png_base64_image (unsigned m, unsigned n, coordval *image, t_imagecolor co return retval; } +static int +write_png_base64_image (unsigned m, unsigned n, coordval *image, t_imagecolor color_mode, FILE *out) { + return write_png_base64_cb(m, n, image, color_mode, writebyte_fputc, (void *)out); +} + #else /* libgd PNG code mainly taken from gd.trm */ #include <gd.h> @@ -234,7 +247,7 @@ write_png_image (unsigned M, unsigned N, coordval *image, t_imagecolor color_mod } static int -write_base64_data (const unsigned char *data, unsigned int length, FILE *out) { +write_base64_data (const unsigned char *data, unsigned int length, writebyte_cb cb, void *out) { base64s *b64; int retval = 0; @@ -242,7 +255,7 @@ write_base64_data (const unsigned char *data, unsigned int length, FILE *out) { if (b64 == NULL) return 1; - init_base64_state_data (b64, out); + init_base64_state_data (b64, cb, out); if (piecemeal_write_base64_data (data, length, b64) != 0) retval = 1; @@ -255,7 +268,7 @@ write_base64_data (const unsigned char *data, unsigned int length, FILE *out) { } static int -write_png_base64_image (unsigned M, unsigned N, coordval *image, t_imagecolor color_mode, FILE *out) { +write_png_base64_cb (unsigned M, unsigned N, coordval *image, t_imagecolor color_mode, writebyte_cb cb, void *out) { gdImagePtr im; void *pngdata; int pngsize; @@ -270,13 +283,18 @@ write_png_base64_image (unsigned M, unsigned N, coordval *image, t_imagecolor co return 1; } - retval = write_base64_data (pngdata, pngsize, out); + retval = write_base64_data (pngdata, pngsize, cb, out); gdFree(pngdata); gdImageDestroy(im); return retval; } + +static int +write_png_base64_image (unsigned M, unsigned N, coordval *image, t_imagecolor color_mode, FILE *out) { + return write_png_base64_cb(M, N, image, color_mode, writebyte_fputc, (void *)out); +} #endif /* HAVE_CAIRO_PDF */ #endif /* WRITE_PNG_IMAGE */ #endif /* TERM_BODY */ diff --git a/term/wxt.trm b/term/wxt.trm index 43fba1daf..0ac56b16e 100644 --- a/term/wxt.trm +++ b/term/wxt.trm @@ -70,7 +70,7 @@ t_linecap wxt_linecap = BUTT; /* default text font family: */ char *wxt_set_fontname = NULL; /* default text size*/ -int wxt_set_fontsize = 0; +double wxt_set_fontsize = 0; double wxt_set_fontscale = 1.0; /* window title */ char wxt_title[MAX_ID_LEN + 1] = ""; @@ -175,7 +175,7 @@ TERM_PUBLIC void wxt_options() if (*s) { char *sep = strchr(s,','); if (sep) { - sscanf(sep+1, "%d", &wxt_set_fontsize); + sscanf(sep+1, "%lf", &wxt_set_fontsize); *sep = '\0'; } free(wxt_set_fontname); diff --git a/term/x11.trm b/term/x11.trm index 05fc97fc5..cc104ad79 100644 --- a/term/x11.trm +++ b/term/x11.trm @@ -357,7 +357,6 @@ X11_args(int argc, char *argv[]) nx11++; } if (i >= (sizeof(optvec) / sizeof(char *))) { - fprintf(stderr, "warning: X11 options will be truncated\n"); free(xargv_orig); return nx11; /* optvec is full */ } @@ -902,7 +901,7 @@ X11_waitforinput(int options) return getc(stdin); #else - // normal path + /* normal path */ fd_set fds; static struct gp_event_t ge; static int l = 0; @@ -915,16 +914,18 @@ X11_waitforinput(int options) if (ipc_back_fd < 0) { if (paused_for_mouse) { - // We're waiting for a command from the back-channel IPC, but this pipe - // doesn't exist, so we'll never get the command we're waiting for. Give - // up. + /* We're waiting for a command from the back-channel IPC, but this pipe + * doesn't exist, so we'll never get the command we're waiting for. + * Give up. + */ paused_for_mouse = 0; int_error(NO_CARET,"Mousing not active"); } if (options & TERM_WAIT_FOR_FONTPROPS) { - // Similar. No back-channel, so we'll never get the "done" event. - // Here I just silently return + /* Similar. No back-channel, so we'll never get the "done" event. + * Here I just silently return. + */ return 0; } return getc(stdin); @@ -935,11 +936,12 @@ X11_waitforinput(int options) * as on some systems /dev/null is not selectable. * TODO: should we close the ipc_back_fd in this case ? */ - // While we have ipc_back_fd data to process, process it. If not, read the - // stdin data + /* While we have ipc_back_fd data to process, process it. + * If not, read the stdin data. + */ do { int ierr; - struct timeval *timeout = NULL; // wait forever by default + struct timeval *timeout = NULL; /* wait forever by default */ FD_ZERO(&fds); FD_SET(ipc_back_fd, &fds); @@ -962,21 +964,21 @@ X11_waitforinput(int options) } if (!FD_ISSET(ipc_back_fd, &fds)) { - // no ipc_back_fd data available. I can move on + /* no ipc_back_fd data available. I can move on */ if (options & TERM_ONLY_CHECK_MOUSING) return 0; if (blocking_loop_reading_ipc_back_fd) - // This shouldn't happen. In this case we should be waiting - // for ipc_back_fd data forever, so select() should never - // return with no data. In any case, I ask for more data if - // there isn't any + /* This shouldn't happen. In this case we should be waiting + * for ipc_back_fd data forever, so select() should never + * return with no data. In any case, I ask for more data if + * there isn't any. + */ continue; break; } - // got some ipc_back_fd data. Process all of it before moving on to - // stdin + /* got some ipc_back_fd data. Process all of it before moving on to stdin */ have_any_ipc_back_fd_data = true; n = read(ipc_back_fd, (void *) (l + (char *) &ge), sizeof(ge) - l); @@ -1046,6 +1048,13 @@ X11_init() { static int been_here = 0; + /* If the program started with some other terminal driver + * and is only now changing to x11, more setup is needed. + * In particular we need to start the outboard driver gnuplot_x11. + */ + if (!X11_full_command_path) + parse_driver(X11_command); + if (!X11_ipc) { /* first time through or after a reset */ #if defined(OS2) @@ -1763,6 +1772,8 @@ transmit_gradient(gradient_struct *gradient, int cnt, int type) TERM_PUBLIC int X11_make_palette(t_sm_palette *palette) { + char colorMode; + if(!palette) { return 0; } @@ -1772,8 +1783,12 @@ X11_make_palette(t_sm_palette *palette) return -1; } + colorMode = palette->colorMode; + if (colorMode == SMPAL_COLOR_MODE_VIRIDIS) + colorMode = SMPAL_COLOR_MODE_GRADIENT; + fprintf(X11_ipc, "%c %c %c %c %d\n", - X11_GR_MAKE_PALETTE, (char)(palette->colorMode), + X11_GR_MAKE_PALETTE, colorMode, (char)(palette->positive), (char)(palette->cmodel), palette->use_maxcolors); @@ -1786,6 +1801,7 @@ X11_make_palette(t_sm_palette *palette) palette->formulaG, palette->formulaB); break; case SMPAL_COLOR_MODE_GRADIENT: + case SMPAL_COLOR_MODE_VIRIDIS: transmit_gradient(palette->gradient, palette->gradient_num, palette->gradient_type); break; case SMPAL_COLOR_MODE_CUBEHELIX: diff --git a/tutorial/.gitignore b/tutorial/.gitignore deleted file mode 100644 index db4204b95..000000000 --- a/tutorial/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -Makefile -Makefile.am -Makefile.in -eg?.tex -linepoin.tex -test.tex -*.aux -*.log -*.dvi -*.pdf -*.ps -*.eps -*.toc diff --git a/tutorial/Makefile.am.in b/tutorial/Makefile.am.in deleted file mode 100644 index dc66cc2cb..000000000 --- a/tutorial/Makefile.am.in +++ /dev/null @@ -1,81 +0,0 @@ -## Process this file with automake to produce Makefile.in -*-Makefile-*- -AUTOMAKE_OPTIONS = foreign - -##plt-files-begin -##plt-files-end - -EXTRA_DIST = Makefile.am.in $(PLT_FILES) \ -header.tex makefile.dst tutorial.tex eg3.dat - -CLEANFILES = tutorial.aux tutorial.dvi tutorial.log tutorial.pdf tutorial.ps \ -tutorial.toc eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex eg7.tex \ -eg7.eps eg7.pdf test.tex - -DVIPS = dvips -LATEX = @LATEX@ - -SUFFIXES = .dvi .plt .pdf .tex .ps - -# default target -all: @TUTORIAL@ - -tutorial: tutorial.dvi - -notutorial: - -# To touch it up after changes: -remake: tutorial.dvi - -ps: tutorial.ps - -tutorial.ps: tutorial.dvi - -pdf: tutorial.pdf - -tutorial.dvi: eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex eg7.tex eg7.eps test.tex \ - tutorial.tex header.tex - @echo Building LaTeX tutorial - TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(LATEX) tutorial - TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(LATEX) tutorial - -tutorial.pdf: eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex eg7.tex eg7.pdf test.tex \ - tutorial.tex header.tex - @echo "Building LaTeX tutorial (PDF version)" - TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(PDFLATEX) tutorial - TEXINPUTS=.:$(srcdir):${TEXINPUTS}: $(PDFLATEX) tutorial - -RUN_GNUPLOT = if test -x $(top_builddir)/src/gnuplot ; then \ - GNUPLOT_PS_DIR=$(top_srcdir)/term/PostScript \ - GNUPLOT_LIB=$(srcdir) \ - GNUTERM=latex \ - $(top_builddir)/src/gnuplot $< ; \ - else \ - gnuplot $< ; \ - fi - -eg7.eps: eg7.plt - $(RUN_GNUPLOT) - -.dvi.ps: - $(DVIPS) -o $@ $< - -.plt.tex: - $(RUN_GNUPLOT) - -.eps.pdf: - epstopdf $< - -distclean-local: - @if test "$(top_srcdir)" != "$(top_builddir)" ; then \ - rm -f eg3.dat; \ - fi - -Makefile.am: Makefile.am.in - rm -f $@ $@t - sed -n '1,/^##plt-files-begin/p' Makefile.am.in > $@t - echo PLT_FILES = *.plt | fmt | (tr '\012' @; echo ) \ - |sed 's/@$$/%/;s/@/ \\@/g;' | tr @% '\012 ' >> $@t - sed -n '/^##plt-files-end/,$$p' $< >> $@t - chmod og-w $@t - mv $@t $@ - diff --git a/tutorial/eg1.plt b/tutorial/eg1.plt deleted file mode 100644 index 805fa2adb..000000000 --- a/tutorial/eg1.plt +++ /dev/null @@ -1,3 +0,0 @@ -set terminal latex -set output "eg1.tex" -plot [-3.14:3.14] sin(x) diff --git a/tutorial/eg2.plt b/tutorial/eg2.plt deleted file mode 100644 index bcf2ef9cb..000000000 --- a/tutorial/eg2.plt +++ /dev/null @@ -1,7 +0,0 @@ -set terminal latex size 7cm, 5cm -set output "eg2.tex" -set format xy "$%g$" -set title 'This is a plot of $y=\sin(x)$' -set xlabel 'This is the $x$ axis' -set ylabel 'This is\\the\\$y$ axis' -plot [0:6.28] [0:1] sin(x) diff --git a/tutorial/eg3.dat b/tutorial/eg3.dat deleted file mode 100644 index 1e3c07bc5..000000000 --- a/tutorial/eg3.dat +++ /dev/null @@ -1,40 +0,0 @@ --20.000000 -9.125028 --19.000000 -9.109280 --18.000000 -9.091787 --17.000000 -9.072243 --16.000000 -9.050265 --15.000000 -9.025369 --14.000000 -8.996933 --13.000000 -8.964147 --12.000000 -8.925931 --11.000000 -8.880819 --10.000000 -8.826766 --9.000000 -8.760835 --8.000000 -8.678648 --7.000000 -8.573396 --6.000000 -8.433886 --5.000000 -8.240405 --4.000000 -7.954906 --3.000000 -7.494275 --2.000000 -6.642892 --1.000000 -4.712389 -0.000000 0.000000 -1.000000 4.712389 -2.000000 6.642892 -3.000000 7.494275 -4.000000 7.954906 -5.000000 8.240405 -6.000000 8.433886 -7.000000 8.573396 -8.000000 8.678648 -9.000000 8.760835 -10.000000 8.826766 -11.000000 8.880819 -12.000000 8.925931 -13.000000 8.964147 -14.000000 8.996933 -15.000000 9.025369 -16.000000 9.050265 -17.000000 9.072243 -18.000000 9.091787 -19.000000 9.109280 diff --git a/tutorial/eg3.plt b/tutorial/eg3.plt deleted file mode 100644 index f4b7d6c11..000000000 --- a/tutorial/eg3.plt +++ /dev/null @@ -1,8 +0,0 @@ -set terminal latex -set output "eg3.tex" -set format xy "$%g$" -set title "This is another plot" -set xlabel "$x$ axis" -set ylabel "$y$ axis" -set key at 15,-10 -plot x with lines, "eg3.dat" with linespoints diff --git a/tutorial/eg4.plt b/tutorial/eg4.plt deleted file mode 100644 index 2252557e9..000000000 --- a/tutorial/eg4.plt +++ /dev/null @@ -1,10 +0,0 @@ -set terminal latex -set output "eg4.tex" -set format y "$%g$" -set format x "$%.2f$" -set title 'This is $\sin(x)$' -set xlabel "This is the $x$ axis" -set ylabel "$\\sin(x)$" -unset key -set xtics -pi, pi/4 -plot [-pi:pi] [-1:1] sin(x) diff --git a/tutorial/eg5.plt b/tutorial/eg5.plt deleted file mode 100644 index 5da115e73..000000000 --- a/tutorial/eg5.plt +++ /dev/null @@ -1,15 +0,0 @@ -set terminal latex -set output "eg5.tex" -set format y "$%g$" -set format x '$%4.1f\pi$' -unset clip points -set title 'This is $\sin(x)$' -set xlabel "This is the $x$ axis" -set ylabel '$\sin(x)$' -unset key -set xtics ('$-\pi$' -pi,\ - '$-\frac{\pi}{2}$' -pi/2,\ - "0" 0,\ - '$\frac{\pi}{2}$' pi/2,\ - '$\pi$' pi) -plot [-pi:pi] [-1:1] sin(x) diff --git a/tutorial/eg6.plt b/tutorial/eg6.plt deleted file mode 100644 index 419974b69..000000000 --- a/tutorial/eg6.plt +++ /dev/null @@ -1,13 +0,0 @@ -set terminal latex size 5.0,3.0 -set output "eg6.tex" -set format y "$%g$" -set format x '$%5.1f\mu$' -set title "This is a title" -set xlabel "This is the $x$ axis" -set ylabel 'This is\\a longer\\version\\ of\\the $y$\\ axis' offset -1 -set label "Data" at -5,-5 right -set arrow from -5,-5 to -3.3,-6.7 -set key top left -set xtic -10,5,10 -plot [-10:10] [-10:10] "eg3.dat" title "Data File" with linespoints lt 1 pt 7,\ - 3*exp(-x*x)+1 title '$3e^{-x^{2}}+1$' with lines lt 4 diff --git a/tutorial/eg7.plt b/tutorial/eg7.plt deleted file mode 100644 index dff49d459..000000000 --- a/tutorial/eg7.plt +++ /dev/null @@ -1,30 +0,0 @@ -set term epslatex color solid -set output 'eg7.tex' -unset border -set dummy u,v -unset key -unset encoding -set parametric -set view 60, 30, 1.2, 1.3 -set isosamples 50, 20 -set hidden3d offset 1 trianglepattern 3 undefined 1 altdiagonal bentover -set noxtics -set noytics -set noztics -set title "Interlocking Tori - PM3D surface with depth sorting" -set urange [ -3.14159 : 3.14159 ] noreverse nowriteback -set vrange [ -3.14159 : 3.14159 ] noreverse nowriteback -set pm3d depthorder -x=.10; y=.15; dy=.05 -set label "left torus:" at screen x,y; y=y-dy -set label '$x=\cos u+\frac{1}{2}\cos u \cos v$' at screen x,y; y=y-dy -set label '$y=\sin u+\frac{1}{2}\sin u \cos v$' at screen x,y; y=y-dy -set label "$z=\\frac{1}{2}\\sin v$" at screen x,y -x=.65; y=.08 -set label '\parbox{2.5in}{right torus:\\$x=1+\cos u+\fr\ -ac{1}{2}\cos u \cos v$\\$y=\frac{1}{2}\sin v$\\\ -$z=\sin u + \frac{1}{2}\sin u \cos v$}' at screen x,y left -set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean -splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with pm3d, \ - 1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with pm3d - diff --git a/tutorial/header.tex b/tutorial/header.tex deleted file mode 100644 index 603c9a085..000000000 --- a/tutorial/header.tex +++ /dev/null @@ -1,93 +0,0 @@ -% -% Header file for tutorial.tex -% - -% Spacing -\newcommand{\singlespace} - {\addtolength{\baselineskip}{-.333\baselineskip}} -\newcommand{\doublespace} - {\addtolength{\baselineskip}{.5\baselineskip}} - -% Spacing for the whole document -\newcommand{\currentspace}{} % use this for single space -% \newcommand{\currentspace}{\doubleespace} % use this for double space - -% Common abbreviations -% (Remember to put '\ ' after if an interword space is -% desired rather than end-of-sentence space. Same for '.etc)' ). -\newcommand{\eg}{{\em e.g.}} % e.g. -\newcommand{\ie}{{\em i.e.}} % i.e. -\newcommand{\etc}{{\em etc.}} % etc. -\newcommand{\vs}{{\em vs.}} % vs. -\newcommand{\usec}{{$\mu$}sec} % microseconds - -% \boxfigure{pos}{wid}{text}: A figure with a box around it -% -% pos the usual figure placement arg: eg. htbp -% wid the width of the figure, in some units: eg. 5in -% text the contents of the figure, including picture/caption/label/etc -% -\newlength{\boxwidth} -\newcommand{\boxfigure}[3]{ - \begin{figure}[#1] - \setlength{\boxwidth}{#2} - \addtolength{\boxwidth}{.1in} - - \centering - \framebox[\boxwidth]{ - \begin{minipage}{#2} - #3 - \end{minipage} - } - \end{figure} -} - -% use \fullboxwidth for arg 2 of boxfigure to get box of size \textwidth - -% To show a syntax for a gnutex command -\newenvironment{syntax}{\begin{quote}\tt}{\end{quote}} - -\ifx\LaTeXe\undefined -% old LaTeX version -% add `,a4' to `toc_entry' to load settings for A4-paper -% see below if you add 11pt or 12pt -\documentstyle[titlepage,a4]{article} -\else -% LaTeX2e version -% add `[a4paper]' before `{article}' to load settings for A4-paper -% see below if you add 11pt or 12pt -\documentclass[titlepage,a4paper]{article} % DSL 24 May 1995 -\usepackage{latexsym} -\usepackage{amssymb} -% If you are concerned about -% LaTeX Warning: \oval, \circle, or \line size unavailable on input line -% warnings, uncomment one of the following lines. You'll need to create -% tutorial.ps then. -%\usepackage{eepic} -%\usepackage{pspicture} -\fi - -% Other packages -\usepackage{url} -\usepackage{subfigure} - -% Only needed for epslatex driver -\usepackage{graphicx} -\usepackage{color} - -% Only needed for the tikz driver -% \usepackage{gnuplot-lua-tikz} - -% Margins -\sloppy -\setlength{\textwidth}{6.5in} -\setlength{\textheight}{9in} -\setlength{\topmargin}{-0.5in} -\setlength{\oddsidemargin}{0pt} -\setlength{\evensidemargin}{0pt} - -% see above -\newlength{\fullboxwidth} -\setlength{\fullboxwidth}{\textwidth} -\addtolength{\fullboxwidth}{-0.1in} - diff --git a/tutorial/linepoin.plt b/tutorial/linepoin.plt deleted file mode 100644 index 3c6a6e718..000000000 --- a/tutorial/linepoin.plt +++ /dev/null @@ -1,18 +0,0 @@ -# Plots all line types and point types -set term latex -set out "linepoin.tex" -set clip points -set dummy t,y -unset key -set parametric -set samples 14 # for trange 0:13, we get 14 points: 0, 1, ..., 13 -set style function lines -set xtics 1,1,12 -set ytics 1,1,6 -set title "Up to 6 line types and 12 point types" -set trange [0 : 13] -set xlabel "Points" -set xrange [0 : 13] -set ylabel "Lines" -set yrange [0 : 7] -plot t,1, t,2, t,3, t,4, t,5, t,6, 1,t w p, 2,t w p, 3,t w p, 4,t w p,5,t w p, 6,t w p, 7,t w p, 8,t w p, 9,t w p, 10,t w p, 11,t w p, 12,t w p diff --git a/tutorial/makefile.dst b/tutorial/makefile.dst deleted file mode 100644 index 2da748bb1..000000000 --- a/tutorial/makefile.dst +++ /dev/null @@ -1,30 +0,0 @@ -# Makefile for gnuplot LaTeX tutorial -# To make the manual from scratch, we run latex two times -all: tutorial.dvi done - -done: - latex tutorial - echo > done - -# To touch it up after changes: -remake: tutorial.dvi - -# Always runs latex, e.g., to get labels right -force: - latex tutorial - -tutorial.dvi: eg1.tex eg2.tex eg3.tex eg4.tex eg5.tex eg6.tex eg7.tex test.tex \ - tutorial.tex header.tex - latex tutorial - rm -f done - -.SUFFIXES: .tex .plt - -.plt.tex: - gnuplot $< - -clean: - rm -f *~ *.log eg?.tex test.tex - -spotless: - rm -f *~ *.log *.aux *.dvi eg?.tex test.tex done diff --git a/tutorial/test.plt b/tutorial/test.plt deleted file mode 100644 index bec0dd934..000000000 --- a/tutorial/test.plt +++ /dev/null @@ -1,3 +0,0 @@ -set term latex -set out "test.tex" -test diff --git a/tutorial/test_tikz.plt b/tutorial/test_tikz.plt deleted file mode 100644 index 26c522bfe..000000000 --- a/tutorial/test_tikz.plt +++ /dev/null @@ -1,3 +0,0 @@ -set term tikz -set out "test_tikz.tex" -test diff --git a/tutorial/tutorial.tex b/tutorial/tutorial.tex deleted file mode 100644 index 322d60837..000000000 --- a/tutorial/tutorial.tex +++ /dev/null @@ -1,510 +0,0 @@ -% -% Tutorial for gnuplot plotting program, for LaTeX users -% David Kotz -% Duke University Computer Science Department -% -% Slightly updated by the gnuplot team in 2004, for gnuplot 4.0. -% Updated for gnuplot 4.2 to include epslatex example by Ethan A Merritt -% Updated for gnuplot 4.4 to replace 'set size' with 'set term latex size' -% Updated for gnuplot 4.6 to mention the newer TeX-based terminals -% -% NOTE: If LaTeX runs out of memory processing plots, -% add ``with lines 4'' to each curve in eg*.plt and rerun make. -% - -% some header info -\input{header} - - -\begin{document} - - -\begin{titlepage} - -\begin{center} -{\Large \bf \LaTeX\ and the Gnuplot Plotting Program} - -\vskip2cm - -{\bf David Kotz} \\[0.4cm] -Principal author of this tutorial for gnuplot 3.0, July 3, 1991 \\[1.0cm] - -{\bf current gnuplot team} \\[0.4cm] -Updates of this tutorial for gnuplot 4.0, March 2004 \\ -Update of this tutorial for gnuplot 4.2, August 2006 \\ -Update of this tutorial for gnuplot 4.4, September 2010 \\ -Update of this tutorial for gnuplot 4.6, February 2012 - -\vskip2cm - -% All plots in this document were made with the current version of gnuplot. - -\end{center} - -\vfil -\vfil -\tableofcontents -\vfil - -\end{titlepage} - - -\pagestyle{myheadings} -\markright{Gnuplot \LaTeX\ Tutorial Version 4.6} - -\currentspace % defined in header.tex - -\section{Introduction and History} - -Gnuplot was originally developed by Colin Kelley and Thomas Williams -in 1986 to plot functions and data files on a variety of terminals. -In 1988 and 1989 I created an alternate version, known as Gnu\TeX, -that supported a new ``terminal type'' called {\tt latex}, so gnuplot -would output \LaTeX\ code. The plot could then be included in a -\LaTeX\ document. I added a number of embellishments, supported only -by the {\tt latex} terminal, allowing the user to produce -publication-quality plots. - -In late 1989 and early 1990 Gnu\TeX\ and a number of other gnuplot -variants were merged together into a new release of gnuplot, 2.0. This -includes, among many other improvements, a \LaTeX\ driver derived from -the one in Gnu\TeX. -Anyone interested in using gnuplot with \LaTeX\ should read the next -section, a tutorial, and the primary gnuplot manual. - -The reader should note that the \LaTeX\ picture environments output by -gnuplot can be quite large and complicated, and can easily exceed the -memory capacity of \TeX. If an enlarged version of \TeX\ is available, -it is wise to use it. Otherwise, keep your plots simple and add -\verb+\clearpage+ to your document where necessary. - -There is also an EEPIC driver ({\tt eepic}), intended for use with -the EEPIC macro package for \LaTeX. EEPIC allows for much more -efficient line-drawing, runs through \LaTeX\ faster, and uses less -memory. See Section~\ref{s:eepic} for more information. - -Other gnuplot terminal types have been added that take advantage of -newer \TeX\ and \LaTeX\ packages and variants, including {\tt emtex}, -{\tt metafont}, {\tt epslatex}, {\tt tikz}, and {\tt context}. - -\section{Using gnuplot for \LaTeX: a Tutorial} - -Gnuplot is by nature an interactive program. Users making plots for -\LaTeX\ will generally not use gnuplot interactively. Whenever hard -copy is desired from gnuplot, the program need not be run on a -graphics terminal. In this case the output is directed to a file or -pipe, then sent to the appropriate output device. - -We now ignore the interactive nature of gnuplot and provide the input -to gnuplot from a file, \ie, -\begin{verbatim} - gnuplot plotcommands.gp -\end{verbatim} -In this example, all of the commands to gnuplot are contained in the -file {\tt plotcommands.gp}. Multiple filenames may be supplied to gnuplot -this way, read in the order they are given. The output (one or more -plots) may be piped to another program or redirected to a file. -Usually, however, we direct the output explicitly with an instruction -to gnuplot (the {\tt set output "outfile.tex"} command). Gnuplot continues to -print error messages to the terminal (stderr). After printing, the output file -has to be closed by {\tt set output}, \ie{} without the file name specification. - -\paragraph{Example 1:} Here is a first example, producing a plot for -this document. The gnuplot input file is given below, and the output -appears as Figure~\ref{eg1}. The input file defines the output to be -in \LaTeX, gives a file name for the output, and plots $y=\sin(x)$ for -$x$ on $[-\pi,\pi]$. To produce the figure, I simply -\verb+\input{eg1}+ in a {\tt center} environment in a {\tt figure} -environment. In following examples, I will enclose the figure in a box -to make it look a little better. - -\singlespace -\begin{verbatim} - set terminal latex - set output "eg1.tex" - plot [-3.14:3.14] sin(x) -\end{verbatim} -\currentspace - -\begin{figure}[htbp] - \begin{center} - \input{eg1} - \end{center} - \caption{A first example: $y=\sin(x)$.} - \label{eg1} -\end{figure} - -Note that gnuplot has drawn in the axes, labeled the tic marks for us, -scaled the $y$ axis automatically, and added a key in the -upper-right-hand corner (this may be moved with the {\tt set key} -command, and removed with {\tt unset key}% -\footnote{In gnuplot version 4.0, the syntax {\tt set noXXX} changed to -{\tt unset XXX}.}). - -This is the default line style for the \LaTeX\ driver. Because of the -limited picture capabilities of \LaTeX, many dots are required to -approximate drawing a solid line. This may overload the memory of many -\TeX\ implementations. There are other line types available that draw -dotted lines and use much less memory. The EEPIC driver draws solid -lines with much less memory usage. - -\paragraph{Example 2:} Now we will embellish the plot a little with -some labels. This input file produces Figure~\ref{eg2}. - -\singlespace -\begin{verbatim} - set terminal latex size 7cm, 5cm - set output "eg2.tex" - set format xy "$%g$" - set title 'This is a plot of $y=\sin(x)$' - set xlabel 'This is the $x$ axis' - set ylabel 'This is\\the\\$y$ axis' - plot [0:6.28] [0:1] sin(x) -\end{verbatim} -\currentspace - -\begin{figure}[htbp] - \begin{center} - \input{eg2} - \end{center} - \caption{A fancier example.} - \label{eg2} -\end{figure} - -We have specified the plot to be 7 cm wide and 5 cm tall with -the {\tt set term latex size ...} command. This is the size of the -area used by the plot, {\em including} space for the labels. -In the first example, this size was the default 5 inches by 3 inches. - -We have requested that the format used by the $x$- and $y$-axis tic -mark labels be in \LaTeX\ math mode. This makes the labels look a -little better. The default is \verb+set format xy "%g"+. The \verb+%g+ -represents the general-purpose floating point formatting specification -for the {\tt printf} function in C. Any valid floating-point -formatting specification, or \LaTeX\ command, is allowed in the -format. - -A title for the plot and labels for the axes were set up in the next -three commands. Note that they are processed by \LaTeX\ and so may -have math mode and other symbols in them. The ylabel may have multiple -lines, delineated with \verb+\\+. The ylabel can be moved around with -optional offset parameters (see {\tt set ylabel} in the gnuplot -manual). Typically, the ylabel needs to be moved to the left to avoid -interfering with the left-hand side of the plot. Once these labels -are set up, they will be used for all subsequent plot commands until -they are changed. These labels are also supported by the other -terminal types, but (of course) any \LaTeX\ code in the string will -not be interpreted. We have also defined the range of both $x$ (now -$[0,2\pi]$) and $y$ (here $[0,1]$). - -So far we have plotted one curve, $y=\sin(x)$, on one plot. In -gnuplot, each {\tt plot} command generates a new plot. If the output -is to a screen, the screen is cleared. If to a printer, a new page is -produced. In the {\tt latex} case, a new picture is started. It is not -likely that \LaTeX\ users will want this to happen, so generally each -plot has its own input file and is kept in a separate output ({\tt -.tex}) file for inclusion at different places in the document. - -\paragraph{Example 3:} To place more than one curve on a plot, use one -{\tt plot} statement and separate the description of each curve by a -comma. In our next example, we will plot both a function and a data -file on the same plot. This plot is shown in Figure~\ref{eg3}. - -\singlespace -\begin{verbatim} - set terminal latex - set output "eg3.tex" - set format xy "$%g$" - set title "This is another plot" - set xlabel "$x$ axis" - set ylabel "$y$ axis" - set key at 15,-10 - plot x with lines, "eg3.dat" with linespoints -\end{verbatim} -\currentspace - -\boxfigure{htbp}{\fullboxwidth}{ - \begin{center} - \input{eg3} - \end{center} - \caption{An example with two curves on the same plot.} - \label{eg3} -} - -Here you will see that the $x$ range was not specified. The $x$ range -is determined automatically, unless specified by the user. In -this case, it is defined by the range of the data file -\verb+"eg3.dat"+. The function is plotted over the same range. If no -data files or $x$ range are supplied, the default range of $[-10:10]$ -is used. We have also moved the key to a different position. The -function $y=x$ is plotted ``with lines'', which is the default plot -style for functions, and is shown here to illustrate the plot style -option. The data file {\tt eg3.dat} is plotted with style {\tt -linespoints}, a style like {\tt lines} that also plots a symbol at -each data point. - -There is a style called {\tt points} that only plots the symbols at -data points, and another called {\tt dots} that plots a tiny dot for -each data point. The {\tt points} and {\tt linespoints} styles -produce a different point symbol for each curve on the plot (for up to -twelve symbols, after which they are re-used; see -Figure~\ref{testcomp} for a complete list). The {\tt lines} and {\tt -linespoints} styles use a different line style for each curve on the -plot (in this example the dots have different spacing). The -style {\tt impulses} draws a perpendicular from each point to the -$x$-axis. Finally, the {\tt errorbars} style can draw error bars at -each data point (see the gnuplot manual). - -\paragraph{Example 4:} In the above plots of $\sin(x)$, it would make -more sense to label the axis in units of $\pi$. The position and -labels of the tic labels may be specified by the user, with the {\tt -set xtics} and {\tt set ytics} commands. This is demonstrated by -the following example, shown in Figure~\ref{eg4}. - -\singlespace -\begin{verbatim} - set terminal latex - set output "eg4.tex" - set format y "$%g$" - set format x "$%.2f$" - set title 'This is $\sin(x)$' - set xlabel "This is the $x$ axis" - set ylabel "$\\sin(x)$" - unset key - set xtics -pi, pi/4 - plot [-pi:pi] [-1:1] sin(x) -\end{verbatim} -\currentspace - -\boxfigure{htbp}{\fullboxwidth}{ - \begin{center} - \input{eg4} - \end{center} - \caption{An example of the {\tt set xtics} command.} - \label{eg4} -} - -Since {\tt pi} is a predefined variable in gnuplot, we can use it -anywhere we may use an expression. The {\tt set xtics} command here -specifies that the tics on the $x$ axis start at $-\pi$ and increment -by $\pi/4$. Since no end point is given, the tics continue to the -right edge. We have also turned off the key, and changed the format to -restrict the $x$-axis tic labels to 2 decimal places. Note that the -y axis label was delimited by double quotes, so the -backslash had to be escaped. Within single quotes, as in the title, -gnuplot passes the backslashes through with no changes. -(The exception: a backslash at the end of a line---even within single -quotes---is used by gnuplot for line continuation.) - -With a little more work, the plot can look even better. Another form -of this command allows us to specify the label and position of each -tic individually. Replacing the above {\tt set xtics} command with -the following gives us Figure~\ref{eg5}. We also make use of the line -continuation character, the backslash (\verb+\+), to spread out this -command for readability. - -\singlespace -\begin{verbatim} - set xtics ('$-\pi$' -pi,\ - '$-\frac{\pi}{2}$' -pi/2,\ - "0" 0,\ - '$\frac{\pi}{2}$' pi/2,\ - '$\pi$' pi) -\end{verbatim} -\currentspace - -\boxfigure{htbp}{\fullboxwidth}{ - \begin{center} - \input{eg5} - \end{center} - \caption{A fancy example of the {\tt set xtics} command.} - \label{eg5} -} - -\paragraph{Going further:} You should now be able to make a variety of -plots for your \LaTeX\ document. We will present a final example -without explanation that showcases some of the capabilities of -gnuplot. You may find documentation for the various commands in the -gnuplot manual, though hopefully this example is somewhat -self-explanatory. This is shown in Figure~\ref{eg6}. - -\singlespace -\begin{verbatim} - set terminal latex size 5.0, 3.0 - set output "eg6.tex" - set format y "$%g$" - set format x '$%5.1f\mu$' - set title "This is a title" - set xlabel "This is the $x$ axis" - set ylabel 'This is\\a longer\\version\\ of\\the $y$\\ axis' offset -1 - set label "Data" at -5,-5 right - set arrow from -5,-5 to -3.3,-6.7 - set key top left - set xtic -10,5,10 - plot [-10:10] [-10:10] "eg3.dat" title "Data File" with linespoints lt 1 pt 7,\ - 3*exp(-x*x)+1 title '$3e^{-x^{2}}+1$' with lines lt 4 -\end{verbatim} -\currentspace - -\begin{figure} - \begin{center} - \input{eg6} - \end{center} - \caption{An example of many features.} - \label{eg6} -\end{figure} - -\paragraph{Line and point types:} For reference, we show all of the -line and point types available in Figure~\ref{testcomp}. - -\subsection{Summary --- Use with \LaTeX} -In summary, to use the most basic \LaTeX\ mode of gnuplot, the first -command to gnuplot should be -\begin{syntax} - set terminal latex -\end{syntax} -and the output of gnuplot should be directed to a file, for example, -\begin{verbatim} - set output "plot.tex" -\end{verbatim} -This may be anything you like but it should have a {\tt .tex} extension, -of course. The default plot size is 5 inches by 3 inches. -You can change this be specifying a size in either cm or inches when -you select the terminal -\begin{syntax} - set terminal latex size 7cm, 5cm -\end{syntax} - - -Then you do the (s)plot, and finally issue commands to close the file and -switch the terminal back to the default by -\begin{verbatim} - set output - set terminal pop -\end{verbatim} - -Finally, the file will contain all of the plots you have -specified (you probably only want one plot per file). This file can -then be used in a \LaTeX\ document, \eg, - -\singlespace -\begin{verbatim} - \begin {figure} - \begin{center} - \input{plot} - \end{center} - \end {figure} -\end{verbatim} -\currentspace -This puts the plot into a figure. - -You will also want to read about the following commands: {\tt set -title, set xlabel, set ylabel, set key, set label, set xtics, set -ytics}, and {\tt set clip}. These are all described in the regular -gnuplot manual. - -\section{Use with EEPIC} -\label{s:eepic} -EEPIC is a macro package extending the picture environment of \LaTeX. -If you have the EPIC or EEPIC macros, and your {\tt dvi} translator -supports the {\em tpic\/} \verb+\special+s, then you can save \LaTeX\ -memory. With EEPIC pictures, the {\tt plot.tex} file will be smaller, -\LaTeX\ will run much faster (and need much less memory), and the {\tt -dvi} file will be smaller. The quality of the output is about the -same. If you change the source, you can generate some more interesting -line styles. - -To use EEPIC, set gnuplot's terminal type to {\tt eepic} instead of -{\tt latex}, and use gnuplot as before. The line styles will change. -Include the file {\tt plot.tex} in your document as before, along with -the document style options {\tt [epic,eepic]}. - -\section{Other \TeX-based terminal types in gnuplot} - -In addition to the \texttt{latex} terminal, the following \LaTeX-friendly -terminals are available. The gnuplot documentation contains more information -about the options and usage for each of these. - -\begin{itemize} -\item \texttt{emtex}: Like the \texttt{latex} terminal, but supports emtex -specials: any line slopes contrary to a very limited set of \LaTeX{} slopes. - -\item \texttt{epslatex}: Combined \LaTeX{} and postscript parts for text and -lines, respectively, with the postscript part included by -\verb+\includegraphics{...}+ command. - -\item \texttt{pstex} and \texttt{pslatex}: Combined \TeX{} / \LaTeX{} and -postscript parts for text and lines, respectively, included by -\verb+\special{psfile=...}+ command. - -\item \texttt{mf} and \texttt{mp}: Produces metafont and metapost outputs. - -\item \texttt{pslatex and epslatex}: New versions of these terminals were -introduced in gnuplot 4.4. See the example below. - -\item \texttt{tikz}: Much improved graphics compaired to earlier \LaTeX terminals. -Use of the terminal requires a lua interpreter that is called by gnuplot. -The resulting .tex file can be processed using pdflatex. - -\item \texttt{context}: Produces output for the {Con{\TeX}t} environment. - -\end{itemize} - -The {\tt tikz} and {\tt context} terminals support newer gnuplot features -such as transparency and embedded images. The {\em standalone} terminal -option allows you to create a *.tex document that can be processed by itself -without being embedded in a wrapping document. - -\section{Example of using the epslatex terminal driver} -\label{epslatex} - -The epslatex terminal driver allows you to mix the best features of \TeX\ -and PostScript. Text elements are typeset by \TeX\, while the graphic -elements are created and positioned in parallel by gnuplot's PostScript -driver. The plot can use either color or grayscale. -The driver produces two different files, one for the eps part of the figure -and one for the \LaTeX{} part. The name of the \LaTeX{} file is taken from the -`set output` command. The name of the eps file is derived by replacing -the file extension (normally ``.tex'') with ``.eps'' instead. - -With the epslatex terminal you cannot use ``\verb+\\+'' in a plain -string to denote newline. You can either put each line in a separate -label and specify vertical spacing -manually, or put the entire label in a \verb+\parbox+. -For example, the labels in Figure~\ref{epslatex_test} were -generated with the following commands: -\begin{verbatim} - x=.10; y=.15; dy=.05 - set label "left torus:" at screen x,y; y=y-dy - set label '$x=\cos u+\frac{1}{2}\cos u \cos v$' at screen x,y; y=y-dy - set label '$y=\sin u+\frac{1}{2}\sin u \cos v$' at screen x,y; y=y-dy - set label "$z=\\frac{1}{2}\\sin v$" at screen x,y - x=.65; y=.08 - set label '\parbox{2.5in}{right torus:\\$x=1+\cos u+\fr\ - ac{1}{2}\cos u \cos v$\\$y=\frac{1}{2}\sin v$\\\ - $z=\sin u + \frac{1}{2}\sin u \cos v$}' at screen x,y left -\end{verbatim} -\boxfigure{htbp}{\fullboxwidth}{ - \begin{center} - \input{eg7} - \end{center} - \caption{Interlocking tori demo, drawn using the epslatex driver.} - \label{epslatex_test} -} - -\begin{figure}[htbp] - \begin{center} - \input{test} - \end{center} - \caption{Line and point types for the basic latex terminal. Note lack of text rotation.} - \label{testcomp} -\end{figure} - -\section{Contact for help} - -For general gnuplot questions, you can post to the gnuplot newsgroup -\url{comp.graphics.apps.gnuplot}. -Additional sources of information are listed on the gnuplot homepage -\url{http://www.gnuplot.info}. - -\end{document}