XTSetterDoc.tioga
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Jean-Marc Frailong November 22, 1988 9:21:29 am PST
Weiser, January 22, 1991 0:44 am PST
XTSetter
CEDAR 7.0 —
XTSetter
Typesetting and printing to XNS servers
Jean-Marc Frailong
© Copyright 1987 Xerox Corporation. All rights reserved.
Abstract: XTSetter is a user interface to InterPress formatting and XNS printing. XTSetter knows how to format Tioga files and viewers, the screen and screen columns, and offers a general mechanism to format viewers. XTSetter prints exclusively on XNS InterPress print servers. A programming interface is also available.
Created by: Jean-Marc Frailong
Maintained by: Mark Weiser <Weiser> -- Reluctantly --
Keywords: printing, typesetting, Tioga documents, InterPress, XTSetter, XNS print servers
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

1. Interactive use
Creating a new XTSetter tool
XTSetter is part of the CedarChest set of tools. If you follow the regular Cedar operating guidelines, the package is in your command directory (///7.0/Commands/).
To create a new XTSetter tool, type in a command tool:
XTSetter <printerName>
This will create a new icon that controls the designated printer. The printerName may be defaulted, in which case it is taken from your profile (c.f. section 2 on profile entries). If the printer does not respond (either because it is not an XNS printer, or because it is down), the tool will not be created and an error message will appear in the command tool.
The areas of an XTSetter tool
An XTSetter tool contains up to 5 different areas (subviewers):
- a menu bar to initiate the main actions
- a server status information area (optional)
- an options panel controlling various format/print options (optional)
- a print request status area (optional)
- a log area
[Artwork node; type 'Artwork on' to command tool]
Appearance of an XTSetter viewer with Options & ServerStatus active
(picture not up-to-date for pcedar, awaits column printing in pcedar to fix)
Commands of an XTSetter tool
An XTSetter tool has the following menu bar:
New <-- Screen --> Color Print Options ServerStatus
New
The New command is used to create new tools. Select the name of the printer you want, and click the New menu entry. It behaves exactly like the XTSetter command.
<--
The "Print left screen" command will print a bitmap of the left column of the black and white display. Not yet implemented in PCedar.
Screen
The "Print screen" command will print a bitmap of the whole black and white display in landscape format. Not yet implemented in PCedar.
-->
The "Print right screen" command will print a bitmap of the right column of the black and white display. Not yet implemented in PCedar.
Color
The "Print color screen" command will print a bitmap of the color display in landscape format. Not yet implemented in PCedar.
Print
The Print command will print the currently selected object according to the following rules:
- if a file name is selected, the file will be formatted if it is not an Interpress master, and will then be printed. XTSetter knows about .interpress, .ip and .4050ip for Interpress masters (respectively IP3.0, IP2.0, compressed IP). Press and AIS files (suffixes .press and .ais) will be converted to IP masters properly.
- if a viewer is selected, its top-level parent will be formatted and printed. Viewers are formatted according to their class:
- Tioga and typescript viewers are formatted like regular tioga files. If the viewer has been edited, but not saved, the current contents of the viewer will be printed.
- Specific viewers may have a formatting procedure attached to them by their implementors
- If everything else fails, an attempt is made to print the viewer as it would be repainted on the screen if it were alone inside a column. This may fail for viewers that do not rely exclusively on device-independant Imager calls.
Options
Clicking the options menu entry will toggle on/off a panel (options area) controlling various formatting and printing options. The following options are supported:
- Compress: toggle switch. When on (white on black), Interpress masters will be converted to use the compressed format. This option is useful to print complex masters on 4050s (like Zipper) and is presented only for printers of that class. When Compress is on, even source IP masters will be reprocessed, except if they have the suffix .ip4050 .
- KeepIP: toggle switch. When on (white on black), Interpress masters created by XTSetter will be saved instead of being destroyed. They will be saved in a reasonable location based on what is being printed. The resulting file will have the suffix .interpress, .ip or .4050ip according to the type of master produced.
- Scale: Indicates a (real) scaling factor that should be applied when formatting Tioga documents (this is useful for styles like ACM that are supposed to print on paper larger than usLetter). Defaults to 1.0, reset to 1.0 after each use.
- Print style: indicates what style should be used to format files and Tioga viewers. If left blank, the style specified in the file/viewer is used. Left-clicking the button will offer a sequence of well-known styles. Right-clicking the button will select the current name for editing.
- Staple: toggle switch. When on (white on black), output will be stapled. If the printer does not support stapling (Ravens, for example), trying to set this option will make the button black on grey instead, and it will be ignored.
- 2-sided: toggle switch. When on (white on black), output will be printed on both sides of the paper. If the printer does not support 2-side printing (Ravens, for example), trying to set this option will make the button black on grey instead, and it will be ignored.
- Copies: Indicates the number of copies to be printed. This button is automatically reset to 1 copy after any print command.
- Page: Indicates the number of the first page to be printed. This button is automatically reset to 1 after any print command.
- To: Indicates the number of the last page to be printed. This button is automatically reset to 65535 (maximum value) after any print command.
- Paper: Indicates the printing medium required. There is a button per printing medium supported by the printer (the medium might not be loaded at the time the command is issued! c.f. ServerStatus information). Clicking one of the buttons will make it switch to white on black, and will select this medium for all further print requests.
- Device: Indicates the font choice to use. Legal options currently are press, xcc, and anacapa (left clicking will show these). Is also set by profile option XTSetter.Device. The device value is set as a property on the root node, and interpreted by the style. For backward compatibility, profile option XTSetter.UserPressFonts sets XTSetter.Device to "press".
Server status
Clicking the server status menu entry will toggle on/off a panel (server status area) indicating curent printer status. The following informations are displayed:
- Paper: a list of printing media currently supported by the printer (i.e. those that are physically available).
- Spooler: current status of the print spooler. Grayed when not available.
- Formatter: current status of the print formatter. Grayed when not available.
- Marking engine: current status of the marking engine. Grayed when not available.
Print request management
When a print request is initiated with one of the print buttons, it appears in the print request status viewer. A print request goes through 3 stages: formatting, sending and printing. Some information is printed on the log area at each stage.
When a request is initiated, it first goes through the formatting stage (unless starting from an Interpress master). In that stage, the print request viewer says "Formatting" and displays a pie viewer and a guarded STOP button. The pie viewer will go from all black to all white to indicate formatting progress. If the Stop button is clicked, the print request is completely cancelled and nothing will be printed, nor will any Interpress master appear in the user's file system.
Then, the Interpress master is sent and the request goes to the sending stage. There, the viewer indicates "Sending". There is no sending progress report (none is provided by the XNS print machinery), nor is it possible to cancel transmission. If the KeepIP option was on, the name of the generated Interpress master is written in the log area.
Finally, the print request is handled by the printer for device-dependant formatting and printing. The viewer will then display the current stage of that process. It is not possible to cancel a print request once received by an XNS printer (no protocol support).
When the request has been completed by the printer, the print request viewer will vanish and a summary report written in the log area.
Special tricks for special printers
In spite of standards, there is a lot of variety of Interpress printers. XTSetter currently supports the following flavors (a flavor is a rope denoting what the printer can really do):
- 3.0-PGS: Quoth, Quill
Support full IP 3.0 functionality. These printers are expected to have Press fonts and XC fonts. Normally, the Compress option should not be used.
- 3.0-CS: Zipper
Support commercial subset of IP3.0. Those printers do not have Press fonts. Masters with graphics should use compression.
- 2.1-RLS: Perfector
Support subset of IP2.1. Those printers do not have Press fonts. They do not support compression. There is little interest in using such printers from Cedar as they are usually alternate paths to 3.0-CS printers (e.g. Zipper & Perfector are physically the same...)
- 1.0 : Scripto, Papermate, ...
Low-end basic printers. No press fonts, no graphics, no compression. Use only for plain text.
The printers named above may be used directly. Other printers should be specified through the XTSetter.PrinterVersions profile option.
The default is 3.0-PGS, which is what any decent printer should do anyway.
2. Profile entries and customization
Profile entries generic to XNS printing
The following entries are used indirectly by XTSetter from the general printing interface:
Hardcopy.Banner : a message printed on the banner page
Hardcopy.InterpressPrinter : the name of the default XNS printer
Hardcopy.Key : No idea what this is -- Should probably never be used
Hardcopy.Medium : the default printing medium to be used (defaults to usLetter)
Hardcopy.PigeonHole : the name by which the printed output should be sorted (your Grapevine name by default)
Hardcopy.Priority : the printing priority. Ignored
Hardcopy.Stapled : TRUE if output should be stapled (defaults to TRUE)
Hardcopy.TwoSided : TRUE if output should be printed on both sides (defaults to TRUE)
Profile entries specific to XTSetter
The following entries are used by XTSetter:
XTSetter.Style : The default style to format Tioga documents. Default is NIL, meaning print using the document's own style.
XTSetter.StyleList : a list of all styles suggested for the Print style option button. Defaults to most well-known styles.
XTSetter.KeepIP : default value of the KeepIP option. Defaults to FALSE.
XTSetter.UsePressFonts : Deprecated, kept for backward compatibility. Use XTSetter.Device instead. If XTSetter.Device is not present, and XTSetter.UsePressFonts is true, then XTSetter.Device is set to "press".
XTSetter.Device : Indicates the font choice to use. Legal options currently are press, xcc, and anacapa. Is also available by button in the options submenu. The device value is set as a property on the root node, and interpreted by the style. For backward compatibility, profile option XTSetter.UserPressFonts sets XTSetter.Device to "press"..
XTSetter.PrinterVersions : list of printers not hardwired in XTSetter together with their properties: [<name> <flavor>]* where flavor is "3.0-PGS", "3.0-CS", "2.1-RLS", "1.0". Unknown flavors will use "3.0-PGS". The default in XTSetter are equivalent to:
"Quoth 3.0-PGS Quill 3.0-PGS TimsPrinter 3.0-PGS Zipper 3.0-CS Perfector 2.1-RLS Scripto 1.0 Papermate 1.0"
3. Programming interface
The programmer interface is XTSetter.mesa. It provides the programming equivalent of all buttons on an XTSetter tool. It also provides hooks for ViewerClass designers to specify their own viewer formatting program. The comments should make the interface obvious to understand.
4. Known bugs, deficiencies and wish list
Bugs
- Printing strange viewers may result in error windows (if the viewers use non-standard imager calls).
Deficiencies
- No recovery is attempted when a server denies a request. May be improved with a better understanding of when, how and why servers deny requests and what can be done then.
- Print requests may not be canceled once sent (XNS does not support request cancellation, and the Chat interface does not allow it either).
- Print request status updates may be rather late compared to what is happening on the printer because status is obtained by polling, and servers do not accept frequent polling. Same problem regarding printer status.
- There is no check that a given IP master will be printable by the target printer. Subsetting raises a lot of problems... The only right way would be to read the IP masters & check if the printer would support them, and coerce them if necessary...
- Printing from the screen does not work in PCedar yet... (MDW January 22, 1991).