DVItoVDU 3.0 for UNIX, October 1989
===================================
Andrew Trevorrow

DVItoVDU is a public-domain TeX previewer that drives a variety
of commonly available terminals.

This version of DVItoVDU was developed on a Pyramid running OS/x.
It should be reasonably easy to port the program to any other UNIX system
with a Pascal compiler.

Installation
------------

1. Use Build to create the dv-* programs.
   You may need to change the Pascal source files to suit your compiler.
2. Make sure all the files in this directory are world readable or executable.
3. Copy dv into something like /usr/bin, edit it and make any changes to
   suit your site (see in particular the values flagged by SYSDEP).

The important files in this directory
-------------------------------------

Executable files:
dv                     script to execute dv-* programs (one for each -v value)
Build                  compiles and links all dv-* programs
Makefile               ditto, but via make

Documentation and help files:
guidemacs.tex          TeX macros used by the following guide
userguide.tex          TeX source for the DVItoVDU User Guide
help                   the text file read by DVItoVDU's ? command
dv.man                 source file for on-line help

C source files:
unixio.h/c             UNIX i/o routines used in screenio.p

Pascal source files:
dvitovdu.p             the main module
globals.h              global data and routines
files.h                random file i/o routines
screenio.h/p           low-level terminal i/o routines
options.h/p            command line interface routines
dvireader.h/p          DVI file access routines
fontreader.h/p         PK and TFM file access routines
vdu.h                  generic VDU parameters and routines
aed512vdu.p            routines for AED 512
vt100vdu.p             routines for VT100
vt100132vdu.p          routines for VT100 in 132 column mode
vt220vdu.p             routines for VT220
regisvdu.p             routines for ReGIS compatible VDUs
vis240vdu.p            routines for VISUAL 240
tek4010vdu.h/p         routines for Tektronix 4010/4014 emulating VDUs
vis500vdu.p            routines for VISUAL 500
vis550vdu.p            routines for VISUAL 550
vis603vdu.p            routines for VISUAL 603 (by David Beard)
vis630vdu.p            routines for VISUAL 630 (ditto)
vt640vdu.p             routines for VT640 (VT100 with Retrographics)

Test files:
tripvdu.tex            TeX source for tripvdu.dvi, a torture test for DVItoVDU
verbatim.tex           \input by tripvdu.tex

Revision history
----------------

Version 1.0 was released in January 1988 and was based on an Apollo DOMAIN
Pascal version (which in turn was based on a VAX/VMS Modula-2 version).

Version 3.0 was released in October 1988 and corresponds to
VAX/VMS version 3.0 of DVItoVDU.  Here are the changes to version 1.0:

 - The version number is now displayed in the initial message line.
 - DVItoVDU can now handle PostScript fonts.
   The -p (psprefix) option defines the unique font name prefix used to
   recognize a PostScript font and the -t (tfmdir) option defines the
   location of the TFM files for these fonts.  Since no shape information
   is available, DVItoVDU shows filled boxes when drawing PostScript
   characters in Full mode (see FullCharPS in dvitovdu.p).
 - The -ho and -vo options allow horizontal and vertical margin shifting.
 - The -f (fontdir) option value must end with '/' (as must -t) and is now
   automatically prepended to the -d (dummyfont) option value.
 - The limitation requiring a fixed-length fontsize substring in PK file names
   has been removed.
 - The search for the end of a DVI file now allows for trailing NUL-bytes
   (after the terminating 223-bytes) to cope with DVI files that have been
   transferred to and from a VMS machine.
 - Added A+ and A- commands to enable/disable automatic calculation of
   window position and size after a page selection.
 - Now allow W/U/D/L/R commands before first page selection.
 - No longer force window location to top-left corner of paper if page empty.
 - Adjusted the bitmap size ranges in globals.h to use less memory for
   typical 300dpi documents.
