# PSPP's standard output drivers.
#
# An introduction to the use of PSPP output drivers and this file
# follows.  However, refer to PSPP's Texinfo documentation for full
# information.
#
# Each output driver specification must be on a single line; however,
# lines may be spliced with a \ at the end of a line.  Line splicing
# is performed *before* comments (introduced by `#') are removed.
#
# Format is `DRIVERNAME:CLASSNAME:DEVICETYPE:OPTIONS'.
#
# DRIVERNAME is the name that identifies the driver to the user.  It
# is the name used on the -o command-line option.
#
# CLASSNAME is the internal name of the type of driver.  Device
# classes can be listed with `pspp -l'.
#
# DEVICETYPE identifies what type or types the devices is.  Zero or
# more of the following keywords may be given here: screen, printer,
# or listing.
#
# OPTIONS is a list of key/value pairs to pass to the driver.  Use
# spaces to separate pairs, and '=' to separate keys and values.
# Quotes " or ' can be used to delimit values that contain spaces.
# Example: paper-size="Envelope #10" charset=latin1
#
# Driver categories may be defined with lines of the form:
#
#   category=driver1 driver2 driver3 ... driverN
#
# To disable a driver, define a category with nothing on the right
# side.
#
# Macros may be defined with lines of the form:
#
#   define macro-name definition
#
# Macros may not be recursive; they may not take arguments.  (However,
# `definition' is macro-expanded *at time of definition*.)  Macros are
# referenced with $var or ${var} syntax; the latter is preferred.

# Preferred devices.
default=list-ascii
interactive=tty-ascii

# Output files.
define tty-output-file "|more"
define list-output-file "pspp.list"

# Generic ASCII devices
tty-ascii:ascii:screen:squeeze=on headers=off top-margin=0 bottom-margin=0 \
  paginate=off length=auto width=auto output-file=${tty-output-file}
list-ascii:ascii:listing:length=66 width=79 output-file=${list-output-file}
raw-ascii:ascii:listing:width=9999 length=9999 output-file=${list-output-file} \
  emphasis=none headers=off paginate=off squeeze=on \
  top-margin=0 bottom-margin=0

# ASCII devices that support bold & underline via backspacing.
tty-ascii-bi:ascii:screen:output-file=${tty-output-file}
list-ascii-bi:ascii:listing:length=66 width=79 output-file=${list-output-file}

# VT100 graphics devices.
define vt100-graphics \
  init='\033(B\033)0' \
  box[1000]='\16q\17' box[1010]='\16q\17' box[0010]='\16q\17' \
  box[0100]='\16x\17' box[0101]='\16x\17' box[0001]='\16x\17' \
  box[0011]='\16j\17' box[1100]='\16l\17' box[0110]='\16k\17' \
  box[1001]='\16m\17' box[1110]='\16w\17' box[1101]='\16t\17' \
  box[0111]='\16u\17' box[1011]='\16v\17' box[1111]='\16n\17'

tty-vt100:ascii:screen:squeeze=on headers=off top-margin=0 bottom-margin=0 \
  paginate=off output-file=${tty-output-file} ${vt100-graphics}
list-vt100:ascii:listing:length=66 width=79 output-file=${list-output-file} \
  ${vt100-graphics}

# HTML device.
html:html::

# PostScript device.
list-ps:postscript::

# Devices that support the IBM PC line-drawing characters.
define ibmpc-graphics \
  box[0000]='\x20' box[0001]='\xb3' box[0002]='\xba' \
  box[0010]='\xc4' box[0011]='\xd9' box[0012]='\xbd' \
  box[0020]='\xcd' box[0021]='\xbe' box[0022]='\xbc' \
  box[0100]='\xb3' box[0101]='\xb3' box[0102]='\xc4' \
  box[0110]='\xbf' box[0111]='\xb4' box[0112]='\xb6' \
  box[0120]='\xb8' box[0121]='\xb5' box[0122]='\xb9' \
  box[0200]='\xba' box[0201]='\xba' box[0202]='\xba' \
  box[0210]='\xb7' box[0211]='\xb6' box[0212]='\xb6' \
  box[0220]='\xbb' box[0221]='\xb9' box[0222]='\xb9' \
  box[1000]='\xc4' box[1001]='\xc0' box[1002]='\xd3' \
  box[1010]='\xc4' box[1011]='\xc1' box[1012]='\xd0' \
  box[1020]='\xcd' box[1021]='\xcf' box[1022]='\xca' \
  box[1100]='\xda' box[1101]='\xc3' box[1102]='\xc7' \
  box[1110]='\xc2' box[1111]='\xc5' box[1112]='\xd7' \
  box[1120]='\xd1' box[1121]='\xd8' box[1122]='\xce' \
  box[1200]='\xd6' box[1201]='\xc7' box[1202]='\xc7' \
  box[1210]='\xd2' box[1211]='\xd7' box[1212]='\xd7' \
  box[1220]='\xca' box[1221]='\xce' box[1222]='\xce' \
  box[2000]='\xcd' box[2001]='\xd4' box[2002]='\xc8' \
  box[2010]='\xcd' box[2011]='\xcf' box[2012]='\xca' \
  box[2020]='\xcd' box[2021]='\xcf' box[2022]='\xca' \
  box[2100]='\xd5' box[2101]='\xc6' box[2102]='\xcc' \
  box[2110]='\xd1' box[2111]='\xd8' box[2112]='\xce' \
  box[2120]='\xd1' box[2121]='\xd8' box[2122]='\xce' \
  box[2200]='\xc9' box[2201]='\xcc' box[2202]='\xcc' \
  box[2210]='\xcb' box[2211]='\xce' box[2212]='\xce' \
  box[2220]='\xcb' box[2221]='\xce' box[2222]='\xce'

tty-ibmpc:ascii:screen:length=$viewlength width=$viewwidth ${ibmpc-graphics} \
  output-file=${tty-output-file}
list-ibmpc:ascii:listing:length=66 width=79 output-file=${list-output-file} \
  ${ibmpc-graphics}

# Local Variables:
# fill-prefix: "# "
# End:
