output: Use Cairo and Pango to draw charts, instead of libplot.
[pspp-builds.git] / doc / configuring.texi
index 164d9ab1aac182a38c04120ef1028e8fb30684aa..a1007d921da87716f8015c8e751e3b99b90090ff 100644 (file)
@@ -11,9 +11,10 @@ This chapter describe how to configure PSPP for your system.
 * Configuration files::         How configuration files are read.
 * Environment variables::       All about environment variables.
 * Output devices::              Describing your terminal(s) and printer(s).
-* PostScript driver class::     Configuration of PostScript devices.
+* Cairo driver class::          Configuration of Cairo devices.
 * ASCII driver class::          Configuration of character-code devices.
 * HTML driver class::           Configuration for HTML output.
+* PostScript driver class::     Configuration of PostScript devices.
 * Miscellaneous configuring::   Even more configuration variables.
 @end menu
 
@@ -324,7 +325,7 @@ A unique identifier, used to determine whether to enable the driver.
 
 @item class name
 One of the predefined driver classes supported by PSPP.  The
-currently supported driver classes include `postscript' and `ascii'.
+currently supported driver classes include `cairo' and `ascii'.
 
 @item device type(s)
 Zero or more of the following keywords, delimited by spaces:
@@ -540,26 +541,27 @@ interpreted; only the lower 8 bits are used.
 Tokens, outside of quoted strings, are delimited by white space or equals
 signs.
 
-@node PostScript driver class
-@section The PostScript driver class
+@node Cairo driver class
+@section The Cairo driver class
 
-The @code{postscript} driver class is used to produce output that is
-acceptable to PostScript printers and other interpreters.
+The @code{cairo} driver class can produce output in PDF, PostScript,
+and SVG formats.  It has full support for international character
+sets.
+
+The Cairo driver is only available if your copy of PSPP was built with
+the Cairo library.
 
 The available options are listed below.
 
 @table @code
 @item output-file=@var{file-name}
 
-File to which output should be sent.  This can be an ordinary file name
-(i.e., @code{"pspp.ps"}), a pipe (i.e., @code{"|lpr"}), or
-stdout (@code{"-"}).  Default: @code{"pspp.ps"}.
+File to which output should be sent.  Default: @code{"pspp.pdf"}.
 
-@item headers=@var{boolean}
+@item output-type=@var{output-type}
 
-Controls whether the standard headers showing the time and date and
-title and subtitle are printed at the top of each page.  Default:
-@code{on}.
+Type of output to write to the output file, one of @code{pdf},
+@code{ps}, or @code{svg}.  Default: @code{pdf}.
 
 @item paper-size=@var{paper-size}
 
@@ -578,6 +580,12 @@ assumed.
 
 Either @code{portrait} or @code{landscape}.  Default: @code{portrait}.
 
+@item headers=@var{boolean}
+
+Controls whether the standard headers showing the time and date and
+title and subtitle are printed at the top of each page.  Default:
+@code{on}.
+
 @item left-margin=@var{dimension}
 @itemx right-margin=@var{dimension}
 @itemx top-margin=@var{dimension}
@@ -587,29 +595,17 @@ Sets the margins around the page.  The headers, if enabled, are not
 included in the margins; they are in addition to the margins.  For a
 description of dimensions, see @ref{Dimensions}.  Default: @code{0.5in}.
 
-@item prop-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
-@itemx emph-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
-@itemx fixed-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
+@item prop-font=@var{font-name}
+@itemx emph-font=@var{font-name}
+@itemx fixed-font=@var{font-name}
 
 Sets the font used for proportional, emphasized, or fixed-pitch text.
-The only required value is @var{afm-file}, the AFM file for the font.
-
-If specified, @var{font-file} will be downloaded to the printer at the
-beginning of the print job.  The font file may be in PFA or PFB format.
-
-The font is reencoded as specified in @var{encoding-file}, if specified.
-Each line in @var{encoding-file} should consist of a PostScript
-character name and a decimal encoding value (between 0 and 255),
-separated by white space.  Blank lines and comments introduced by
-@samp{#} are also allowed.
+Most systems support CSS-like font names such as ``serif'' and
+``monospace'', but a wide range of system-specific font are likely to
+be supported as well.
 
-The files specified on these options are located as follows.  If
-the file name begins with @samp{/}, then it is taken as an absolute
-path.  Otherwise, PSPP searches its configuration path for the specified
-name prefixed by @code{psfonts/} (@pxref{File locations}).
-
-Default: proportional font @code{Times-Roman.afm}, emphasis font
-@code{Times-Italic.afm}, fixed-pitch font @code{Courier.afm}.
+Default: proportional font @code{serif}, emphasis font @code{serif
+italic}, fixed-pitch font @code{monospace}.
 
 @item font-size=@var{font-size}
 
@@ -653,14 +649,11 @@ a single @samp{#}, which is replaced by the chart number.  Default:
 @file{"pspp-#.png"}.
 
 @item chart-type=@var{type}.
-Type of charts to output.  Available types typically include @samp{X},
-@samp{png}, @samp{gif}, @samp{svg}, @samp{ps}, @samp{cgm}, @samp{fig},
-@samp{pcl}, @samp{hpgl}, @samp{regis}, @samp{tek}, and @samp{meta}.
+Type of charts to output, either @samp{png} or @samp{none}.
 Default: @samp{png}.
 
-You may specify @samp{none} to disable chart output.  Charts are also
-disabled if your installation of PSPP was compiled without
-@code{libplot}.
+Charts are always disabled if your installation of PSPP was compiled
+without the @code{cairo} library.
 
 @item paginate=@var{boolean}
 
@@ -812,6 +805,104 @@ format.  The name should contain a single @samp{#}, which is replaced by
 the chart number.  Default: @file{"pspp-#.png"}.
 @end table
 
+@node PostScript driver class
+@section The PostScript driver class
+
+The @code{postscript} driver class is used to produce output that is
+acceptable to PostScript printers and other interpreters.
+The PostScript driver class does not support charts.
+
+The PostScript driver class is deprecated.  It is likely to be removed
+in a future version of PSPP.  We suggest that you use the Cairo driver
+class instead, which can output PostScript as well and has better font
+support, including support for international character sets, and does
+support charts.
+
+The available options are listed below.
+
+@table @code
+@item output-file=@var{file-name}
+
+File to which output should be sent.  This can be an ordinary file name
+(i.e., @code{"pspp.ps"}), a pipe (i.e., @code{"|lpr"}), or
+stdout (@code{"-"}).  Default: @code{"pspp.ps"}.
+
+@item headers=@var{boolean}
+
+Controls whether the standard headers showing the time and date and
+title and subtitle are printed at the top of each page.  Default:
+@code{on}.
+
+@item paper-size=@var{paper-size}
+
+Paper size.  You may specify a name (e.g.@: @code{a4}, @code{letter})
+or measurements (e.g.@: @code{210x297}, @code{8.5x11in}).
+
+The default paper size is taken from the @env{PAPERSIZE} environment
+variable or the file indicated by the @env{PAPERCONF} environment
+variable, if either variable is set.  If not, and your system supports
+the @code{LC_PAPER} locale category, then the default paper size is
+taken from the locale.  Otherwise, if @file{/etc/papersize} exists,
+the default paper size is read from it.  As a last resort, A4 paper is
+assumed.
+
+@item orientation=@var{orientation}
+
+Either @code{portrait} or @code{landscape}.  Default: @code{portrait}.
+
+@item left-margin=@var{dimension}
+@itemx right-margin=@var{dimension}
+@itemx top-margin=@var{dimension}
+@itemx bottom-margin=@var{dimension}
+
+Sets the margins around the page.  The headers, if enabled, are not
+included in the margins; they are in addition to the margins.  For a
+description of dimensions, see @ref{Dimensions}.  Default: @code{0.5in}.
+
+@item prop-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
+@itemx emph-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
+@itemx fixed-font=@var{afm-file}[,@var{font-file}[,@var{encoding-file}]]
+
+Sets the font used for proportional, emphasized, or fixed-pitch text.
+The only required value is @var{afm-file}, the AFM file for the font.
+
+If specified, @var{font-file} will be downloaded to the printer at the
+beginning of the print job.  The font file may be in PFA or PFB format.
+
+The font is reencoded as specified in @var{encoding-file}, if specified.
+Each line in @var{encoding-file} should consist of a PostScript
+character name and a decimal encoding value (between 0 and 255),
+separated by white space.  Blank lines and comments introduced by
+@samp{#} are also allowed.
+
+The files specified on these options are located as follows.  If
+the file name begins with @samp{/}, then it is taken as an absolute
+path.  Otherwise, PSPP searches its configuration path for the specified
+name prefixed by @code{psfonts/} (@pxref{File locations}).
+
+Default: proportional font @code{Times-Roman.afm}, emphasis font
+@code{Times-Italic.afm}, fixed-pitch font @code{Courier.afm}.
+
+@item font-size=@var{font-size}
+
+Sets the size of the default fonts, in thousandths of a point.  Default:
+10000 (10 point).
+
+@item line-gutter=@var{dimension}
+
+Sets the width of white space on either side of lines that border text
+or graphics objects.  @xref{Dimensions}.  Default: @code{1pt}.
+
+@item line-spacing=@var{dimension}
+
+Sets the spacing between the lines in a double line in a table.
+Default: @code{1pt}.
+
+@item line-width=@var{dimension}
+
+Sets the width of the lines used in tables.  Default: @code{0.5pt}.
+@end table
+
 @node Miscellaneous configuring
 @section Miscellaneous configuration