[comp.newprod] SoftQuad Publishing Software Release 2.9

ian@sq.sq.com (Ian Darwin) (07/29/88)

Last year SoftQuad and AT&T entered into a co-marketing arrangement.
Under the terms of this agreement, which was negotiated over many
months and followed evaluations by AT&T of various products, SoftQuad
Publishing Software is available in source and binary form through AT&T
and SoftQuad as an enhanced product derived from AT&T's UNIX
Documenter's Workbench, Release 2.0 Software.

SoftQuad Publishing Software (SQPS) is a professional typesetting and
formatting package. It provides tools for text, tables, equations,
drawing, and graphics inclusion for a wide range of printers.
Versions are available for both UNIX and DOS operating systems.

Here is a partial list of what's new in SoftQuad's Release 2.9:

** General **

    - Simplified installation and use by providing a user-customization
facility that lets both the user and the system administrator specify 
preferred printer, command options, etc., and gives flexibility in
placement of files and directories.

** Sqtroff **

    - Addition of bitmaps, filling and shading, and a new "box"
primitive to the "draw command" facilities.  Full graphics with white
text on dark background ("reverse") is supported on PostScript(tm) devices 
and IMAGEN printers with 3.4/3.5 or later firmware;  HP and AT&T 495 printers
and other devices provide a subset of this shading capability.
    - Made more useful by substantially improving error checking.  Increased 
clarity and robustness of the error messages.  Option (-w) enables warning 
checking, analogous to the C language programming aid lint.  Useful to all
consumers, but particularly valuable if you are using advanced
sqtroff constructs, developing new macro packages, or modifying old ones.
    - A help option on the command line that prints a long-format list of
command options. This list is in an external file, so it can be
replaced for foreign-language users.
    - Macros can check the validity of numeric expressions before using
them, and can test whether a macro/string or register is defined.
    - Sqtroff is more flexible in the way it handles measurement.
Default scale unit in numerical expressions can be user-specified.
New scale indicators can be defined, e.g. millimetres or didot points.
    - Numerical expressions are evaluated more carefully.  "!" and "|" now
real operators in "numerical" expressions. Added "!=" (not equal) operator.
    - Both page and diversion traps can be disabled with the .vpt request.
    - Five (instead of three) environments are available.
    - Long names are allowed for special-symbol names (up to 128 chars long).
    - Longer long-names are allowed for macros, strings, requests and 
registers than in our Release 2.8 (was 14 chars, now 128).
    - Sqtroff now understands syntactic levels: \w'\*x' works even
if \*x contains a ' character.  Also, [...] can be used for readability
in place of '...' (e.g. \h[-\w[\*[savedstring]]u]).

** Device Support **

    - Landscape mode where possible (HP, IMAGEN, PostScript, AT&T 495).
    - Improved support of HP LaserJet and AT&T 495 devices, including
configurable "draw info" file for consistent line drawing on devices that
must draw with dots, underlines, and "or-bars".
    - "Available" option to specify which font sets (IMAGEN, HP, AT&T 495)
or cartridges (HP, AT&T 495) are currently available.
    - Ability to compensate for manufacturing variations in page position
among print engines and margin variations from one brand of printer to another.
    - Position of \(rn tunable to align with \(sr in each font.
    - Bitmap inclusion (most laser printer devices and PostScript).

** Sqtbl **

This release of sqtbl has undergone massive revision, and we
believe we now have the best version of tbl in the UNIXverse:

    - Improved handling of user errors, such as incorrect format specs.
    - Sqtbl catches more errors, such as T} for }T, saving print/debug cycles.
    - Fixed areas where the program was not robust: several bugs in which
incorrect table format specifications or extremely long input lines
caused core dumps or program loops.
    - Multi-page tables with large embedded text blocks work more
reliably, even with .TH and box/allbox across pages.
    - Lines inside tables meet up correctly, even with changed .vs.
    - New controls on thickness of lines.
    - The troff code produced is more nearly human-readable.

** MM Macros **

    - Corrected a few errors in the MM macros and rewrote some macros.
    - Took advantage of sqtroff's new numerical expression features to
make some macros more flexible as well as more robust.

** Added Programs **

Added several programs that were in DWB 2.0 but not in previous releases of
our product, to bring our product in line with field release of DWB 2.0.

     checkmm - verify an mm document (fixed a major bug in file handling)
     deroff - remove troff constructs
     diffmk - mark differences between document versions
     macref - macro reference
     ptx - permuted index generator (brought the user interface into line
       with other UNIX commands to avoid accidental destruction of user files)
     soelim - include .so'd documents for preprocessing

** Background - Earlier enhancements from DWB/ditroff **

The following summarizes major enhancements made to previous
releases of SoftQuad Publishing Software, above and beyond standard AT&T 
releases of Documenter's Workbench and Device-Independent Troff:

    - Hyphenation:  The basic hyphenation algorithm is supplemented
with a user-specifiable hyphenation exception dictionary and a very
fast access algorithm.
    - Kerning:  SQPS supports both sector kerning (contour kerning) for
specifying the contours of each character, and "kerning pair" kerning
for specifying which pairs of characters need to be adjusted.
    - Intermediate language:  Sqtroff outputs an intermediate language
that is higher-level than ditroff's, so that each printer's
characteristics can be used more effectively.  The `Context' language is 
easy to read, both for people and for programs such as grep, sed, and awk.
    - Trace:  This facility, invaluable for debugging macro problems,
presents a readable runtime trace of requests, macros, and arguments.
    - Long names for macros, registers, and requests eliminate the insane
and often disastrous contortions induced by the old two-character limit.
    - Aliases for requests, macros, and strings provide greater flexibility
in designing macro packages with consistent user-interfaces.
    - Twenty-five (instead of nine) arguments can be passed
to macros, extending the possibility of database applications.
    - Many bug fixes and improvements to error checking & user interface.

** Documentation **

    - Our manual for sqtroff (Text Formatting: Technical Reference)
is totally reorganized and almost entirely rewritten, with thorough
discussions and an exhaustive index.  An entire chapter is dedicated to
the rudiments of typesetting.  Many features that were poorly
documented in previous manuals are now explained in detail, including
"copy mode", traps, and environments.  The alphabetic summary of
requests, escape sequences, and registers includes cross-references to
related discussions, requests, and registers.
    - Our pre-processor manual (Pre-processors: Technical Reference),
based on the DWB2 manuals, has been rewritten and reorganized with
more extensive discussions, examples, and a permuted index.
    - Our manuals have won awards for in Technical Communication
at regional and international competitions of the Society for Technical
Communication.

** Contributed Programs **

The contributed programs have been drawn from our own staff's personal
programs (neat programs that aren't mature enough to be considered part
of the product), from our users, and a few from USENET.  The list of
programs grows periodically; at present it includes pretty printers for
C and for troff, a "portable bitmap" library, several small macro
packages, converters (dca to troff, troff to dvi, wordstar to troff,
texinfo to troff), a yacc parser for sqtroff's intermediate language, a
small-capitals filter for troff, etc.  These programs are shipped in source
form, since it is expected that users will want to extend or modify them.

** Availability **

This package is available now for most common UNIXes: Sun 3, AT&T 3B,
Amdahl UTS, A/UX, XENIX, Ultrix, and a growing list of others.

The package is also available for MS-DOS; the port was done by DOS
experts at Mortice-Kern Systems, Waterloo, Ontario, Canada.

SoftQuad also offers:
    consulting on publishing projects
    custom development of macro packages
    development of Document Type Declarations (DTDs) for
    	Standard Generalized Markup Language (SGML)
    Author/Editor(tm) - structured editor producing validated SGML files
    SoftQuad Rules Builder(tm) - text editor producing SGML DTDs
    Sobemap MarkIt(tm) parser for validating SGML files and
    	transforming them for publishing & dbms applications

Please contact our marketing group for more details and samples
of SoftQuad Publishing Software output.

    SoftQuad Inc.
    720 Spadina Avenue
    Toronto, Ontario
    Canada M5S 2T9
    800-387-2777 (from U.S.A. only)	Uucp: {utzoo|utai}!sq!mail
    416-963-8337			Internet: mail@sq.com

Ian Darwin, Director of R&D, SoftQuad Inc.