• It can inspect the resulting page device dictionary and perhaps make additional alterations. This provides additional flexibility when the standard set of policy choices is inadequate.
At the time setpagedevice calls the PolicyReport procedure, it has completed set-ting up the new page device and installing it as the current device in the graphics state. It has also called the device’s BeginPage procedure (see Section 6.2.6, “De-vice Initialization and Page Setup”). Thus, invoking currentpagedevice within the PolicyReport procedure will return the page device dictionary for the newly installed device. It is permissible for the PolicyReport procedure to invoke setpagedevice recursively.
Figure 6.1 shows an example of trapping. The light and medium grays represent two different colorants, which are used to paint the background and the glyph denoting the letter A. The first figure shows the intended result, with the two col-orants properly registered. The second figure shows what happens when the colo-rants are misregistered. In the third figure, traps have been overprinted along the boundaries, obscuring the artifacts caused by the misregistration. (For emphasis, the traps are shown here in dark gray; in actual practice, their color would be similar to one of the adjoining colors.)
Although trapping can be implemented by the application generating the Post-Script page description, such application-level trapping suffers from several disad-vantages:
• The final set of colorants to be used is not known to the application.