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.