ADC Home > Reference Library > Technical Notes > Legacy Documents > Printing >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Introducing the LaserWriter 8 Driver version 8.7


This Technote outlines some of the new features and changes that Apple has made in the LaserWriter 8 version 8.7 driver (released as part of Mac OS 9). It describes expanded technology and user interface support and what these mean to the developer community. LaserWriter 8.7 is only available as part of Mac OS 9 and can only be run on PowerPC machines running Mac OS 9.

 Updated: [Oct 5 1999]

Scriptable printing

Until the introduction of LaserWriter 8.7, it has been difficult for an application to extend the scriptability of the print Apple event. The application received the print event, but it was the printer driver that controlled and used the settings for the print job. In addition, the print settings used by each driver have been different. In LaserWriter 8.7, the driver allows an AppleScript script to give the control to an application by introducing parameters to set and control most of the user options available via the Print dialog. Applications are now provided with a coercion mechanism to turn these parameters into a valid print record with the options correctly configured based on the script. In order to accomplish this, new vocabulary has been defined to describe and reference the various options in the Print dialog. Technote 1178, "Scriptable Printing," details the extensions to the print event that allow scripters to control printing, and describes the changes applications and printer drivers will need to make to support these new printing features.

Back to top

PostScript Output Filter Plug-ins

LaserWriter 8.7 adds the ability for developers to create custom output filters to preprocess the PostScript code emitted by the driver prior to its being sent to a device using either a built-in I/O type or a custom hose. This allows developers to modify the PostScript code as it is emitted by the driver, or to insert their own PostScript code into any PostScript stream emitted by the driver.

PostScript output filter plug-ins can have user controls that appear in the LaserWriter 8.7 Print Dialog as custom panels. These panels work the same way as the driver's built-in panels; for example, users can save filter defaults on a printer-by-printer basis, just as they do for other portions of the print dialog.

For more information on PostScript Filters, see Technote 1179, "PostScript Output Filters For LaserWriter 8.7."

These PostScript output filter plug-ins have a file type of 'bird' so that they can be autorouted into the "Printing Plug-ins" folder in the Extensions folder when dropped on the System folder.

Back to top

Foreground default query

Apple has received requests for the ability for spoolers to default their print jobs to foreground. Therefore, with the 8.7 release, Apple has added a query that allows developers to enable this feature from their spooler:

%%?BeginQuery: RBIForegroundPrintingPreferred
%%?EndQuery: Unknown

Valid replies are True, False, and Unknown.

If the user has saved defaults for this printer, the behavior is the same as LaserWriter 8.6.5 and earlier. If the user does not have saved defaults for this printer, the results of the query are used.

When LaserWriter 8.7 brings up the print dialog, if there are no stored defaults for the printer, it tests the stored results of the query done at autosetup time. If the result from the query was True, then the driver defaults the Background Printing button to Foreground. If the result was False or Unknown, LaserWriter 8.7 defaults the Background Printing button to Background, the LaserWriter 8.6.5 default.

Back to top

Other Improvements (ColorSync, FontSync, 2-Byte TrueType Fonts)

ColorSync support

ColorSync 3.0, shipping as part of Mac OS 9, provides an improved ColorSync Control Panel to manage and control profiles for a complete workflow. LaserWriter 8.7 provides improved ColorSync integration by allowing the user to use the default output profile specified in the new ColorSync control panel. To use this feature the user needs to select Use ColorSync Output Profile and then Save Settings.

Figure 1
Figure 1 - ColorSync control panel

The name of the ColorSync Profile used is also now included in the Job Log. See Technote 1166, "LaserWriter 8.6.5 Job Log Format" for more information on the JobLog.

FontSync support

The FontSync Font IDs are now included in the Job Log. See Technote 1166, "LaserWriter 8.6.5 Job Log Format" for more information on the Job Log.

Improved support for 2-Byte TrueType Fonts

LaserWriter 8.7 synthesizes Bold, Italic, Expanded, Compressed, Shadow, and Outline styles for 2-byte fonts that do not already contain data for these styles. This works in conjunction with the font subsetting technology introduced in LaserWriter 8.6. See Technote 1146, "LaserWriter 8 and Fonts" for more information.

Back to top


As you can see, the 8.7 release of the LaserWriter 8 driver has many improvements for both users and developers.

Back to top


Apple's Technote web site

Technote 1179: PostScript Output Filters for LaserWriter 8.7

Technote 1178: Scriptable Printing

Technote 1146: LaserWriter 8 and Fonts

Technote 1144: Writing Custom Hoses for LaserWriter 8.6

Back to top



Acrobat version of this Note (124K).


Back to top

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.