|
Description  |
|
|
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. patent application Ser. No. 08/188,246,
filed Jan. 26, 1994, U.S. Pat. No. 5,542,052 entitled "Applying Traps to a
Printed Page Specified in a Page Description Language Format" and assigned
to the assignee of the present invention, the subject matter of which is
hereby incorporated by reference.
FIELD OF THE INVENTION
The invention generally relates to color trapping and, more particularly,
to a method of creating traps for objects in desktop publishing programs.
BACKGROUND OF THE INVENTION
Color printing has traditionally required the integration of many unique
and varied talents to see a project through from conception to a printed
page. Prior to "desktop publishing," ideas or concepts were typically
first drawn by hand and photographed, any text or illustrations added, and
the aggregate of pictures and text used to produce a printed page. The
traditional process generally required, in addition to design personnel, a
paste-up person, typesetting bureau and a lithography department that
would produce separations from the photographs. Desktop publishing has
relieved some of the burden of publishers by allowing color production,
i.e., drawing and layout, to be integrated electronically using personal
computers. Color documents can now be designed, enhanced, color-corrected,
and separated on a computer "desktop." The success of desktop publishing
is, in large part, the result of standards-based computer programs such as
the page description language (PDL) PostScript.RTM. from Adobe Systems
Incorporated of Mountain View, Calif. The PostScript language has become
the industry standard that serves as an intermediary between applications
packages, e.g., desktop publishing programs, and PDL-compatible composite
reproduction equipment, such as a desktop printer. The applications
packages translate information for a page into PDL for transmission to the
PDL-compatible desktop printer. The PDL-compatible printer includes an
interpreter that converts the PDL code to low-level instructions that
indicate to the printer how to render the text and graphics.
Alternatively, the information can be transferred to a file for
importation by another applications program or for use by a service
bureau. The process of interpreting and rendering PDL is often performed
within a raster image processor or "RIP." For further information on the
PostScript programming language, please see PostScript Language Reference
Manual, 2nd Ed., by Adobe Systems, Inc., published by Addison Wesley,
which is hereby incorporated by reference.
A desktop printer uses toner to produce the colors comprising a color
publication. Because composite printing is generally efficient only for
small quantity jobs, larger quantities of the same publication are
generally reproduced on a commercial printing press using ink. Methods of
printing color publications using a commercial printer press include
process-color printing, spot-color printing, or a combination of the two.
Process-color printing separates the original image into its cyan (C),
magenta (M), yellow (Y), and black (K) components to recreate the original
shadings of color in the publication. This is accomplished by printing
dots of the process-color inks in different combinations in close
proximity to simulate a variety of colors on a printed page. Spot-color
printing involves printing one or more specific colors (or inks) that have
been specified according to a color matching system. One popular color
matching system is the PANTONE.TM. MATCHING SYSTEM by Pantone, Inc.
Spot-color printing is often used to produce colors that are not easily
produced using CMYK inks, such as silver, gold, and fluorescent colors.
Spot-color printing is also used in lieu of printing the four process
colors, such as when only a couple of inks are required for a particular
publication.
Before a color publication can be reproduced on a commercial printing
press, each page containing composite art must be separated into its
component colors by printing a film separation for each ink (cyan,
magenta, yellow, and black, if process colors are to be printed) and any
spot colors. Thus, process-color printing always requires four film
separations. Spot-color printing requires a separation for each color
being printed. A commercial printer uses these film separations to create
the printing plates used on the press. For instance, if one specifies the
four process colors and a single spot color in a publication, there will
be five separations, and hence printing plates, for each page. A separate
component ink is added by each plate as the pages in the publication pass
through the press. For a more detailed explanation of the commercial
printing process, please see the Commercial Printing Guide from
PageMaker.RTM., Version 5.0. PageMaker.RTM. is a desktop publishing
program produced by Aldus Corporation, the assignee of the present
application. The PageMaker 5.0 User Manual and Commercial Printing Guide
are hereby incorporated by reference. For additional information on
desktop publishing generally, see Desktop Publishing in Color by Michael
Kieran, published by Bantam Books (1991), which is also incorporated by
reference.
High-quality printing, such as that required by the publishing industry,
poses many difficult problems in controlling the separations. For example,
color printing is compromised if paper is not properly aligned as it makes
multiple passes through the plates of a printer. This problem is typically
referred to as misregistration. One common solution to the registration
problem is to perform a technique known as trapping. Trapping refers to
expanding or "spreading" regions of a particular color beyond its normal
boundaries, and contracting or "choking" a color region so that a small
overlap exists between graphical objects where misregistration may occur.
Trapping techniques have traditionally been performed manually. Although
tedious, in the past, manual trapping techniques have been used in
applications such as magazine publishing, where the time and labor
required to create individual traps for each printed page are economically
justified.
In recent years, computer systems that perform choking and spreading
electronically have come into widespread use. A typical approach has been
to: (1) start with a PDL file such as a PostScript file; (2) convert the
vector graphics and/or text within the PDL file into a raster (bit mapped)
image through a RIP; and (3) trap the raster image using pixel data
comprising the image. The third step usually requires a creation of a
separate frame buffer for each of the process colors. Each frame buffer is
then choked and spread on a pixel-by-pixel basis, and the result used to
control the printing of its respective color. As will be appreciated, this
approach is very memory intensive.
A more recent approach to electronic trapping is set forth in U.S. Pat. No.
5,295,236 ("'236 patent"), titled "Applying Traps to a Printed Page
Specified in a Page Description Language Format" and assigned to the
assignee of the present invention. The '236 patent discloses a method and
apparatus for electronically trapping a printed color page in a desktop
publishing, layout, graphics, or similar applications program. The method
translates PDL instructions comprising the printed page into a format
suitable for detection and analysis of edges between color regions in the
printed page; creates, according to a set of trapping rules, a set of
traps between the color edges; and produces a trap output file that
includes the traps expressed in the PDL format. Such a method is referred
to as a "post-processing approach." An advantage to the method described
in the '236 patent is that virtually any printed page that is expressed in
a PDL format may be trapped regardless of the application that originally
created the graphics, i.e., the originating program. However, this
capability is at the expense of software complexity. In particular, the
PDL file must be interpreted before traps are created.
Another approach to electronic trapping is to have the originating program
also create traps for the graphics. As an example, in drawing programs
such as Aldus Freehand.RTM., a user is allowed to add outlines around
objects to accommodate trapping. Trapping approaches at the originating
program level are beneficial because additional trapping costs may be
eliminated, i.e., it is not necessary to utilize a post-processing program
or traditional trapping techniques. However, the capability to perform
trapping in originating programs is relatively new, and has typically
required extensive reworking of the computer code comprising the programs.
This, in turn, requires a new release of the software, and involves
associated costs with such a release, including extensive debugging.
Further, trapping capabilities in originating programs have typically been
very limited. One shortcoming is apparent in situations where the
background and/or foreground is formed by a number of differently colored
objects. This situation arises, for example, where individual text
characters overlap more than one object. Typical originating programs with
trapping capabilities tend to handle objects such as text or boxes in a
relatively course fashion, such that traps are only able to be applied to
an entire text block, or at best an entire character. Thus, the trap
results in these instances are less than desirable.
In contrast to the prior art discussed above, the invention alleviates the
need to change the computer code of the originating application to provide
trapping capabilities and reimplement the PDL interpreter. Hence, a
trapping method implemented in accordance with the invention may be
created, debugged, and distributed independent of the desktop publishing
program. Further, as will be described in detail below, the invention
allows very accurate trap placement, thus providing results superior to
trapping solutions currently available in originating programs.
SUMMARY OF THE INVENTION
The invention is a method of electronically trapping a printed page that
includes a plurality of objects expressed in a page description language,
with the page description language instructions being interpreted by a
raster image processor for output to an output device. The method
comprises the step of providing instructions to the raster image processor
to trap the objects in the page as the page description language
instructions comprising the objects are interpreted by the raster image
processor.
In accordance with other aspects of the invention, the printed page is in a
publication in a desktop publishing program. The publication including a
prolog and a script that specify the objects to be printed. The method
further includes the step of modifying the publication prolog to provide
the trapping instructions to the raster image processor. Further, the
script is sent unmodified to the raster image processor.
In accordance with still further aspects of the invention, the printed page
is in a publication in a desktop publishing program. The method comprises
the steps of: (a) modifying the publication prolog to instruct the raster
image processor to (i) create a directory of the color objects in the
publication and (ii)trap the color objects in the publication using the
shape directory; and (b) sending the modified publication prolog and
script to the raster image processor wherein trap areas are created as the
publication is rendered.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of the invention may be better understood
by referring to the following description together with the accompanying
drawings, wherein:
FIG. 1 is a block diagram of a trapping program in accordance with the
invention that works in conjunction with prior art desktop publishing
programs to trap a publication as it is being rasterized by a raster image
processor (RIP);
FIG. 2 is a block diagram illustrating a PDL publication, including a
prolog and script, being sent to a RIP by a desktop publishing program in
accordance with conventional procedure;
FIG. 3 is a flow chart illustrating a conventional procedure by which a
desktop publishing program sends information to a RIP enabling it to draw
a publication;
FIG. 4 is a flow chart illustrating the internal procedure followed by a
conventional RIP to draw an object in a PDL publication;
FIG. 5 is the block diagram of FIG. 2 but including revisions that
illustrate the sending of additional prolog commands to the RIP to
facilitate trapping of the publication in accordance with the invention;
FIG. 6 is a flow chart of an exemplary routine by which a desktop
publishing program sends information to a RIP enabling it to trap a
publication in accordance with the invention;
FIG. 7 is a flow chart of an exemplary routine illustrating how traps are
created for objects by the RIP in accordance with the invention;
FIG. 8 is a flow chart illustrating how objects are trapped within the RIP
in accordance with the invention, as a result of the instructions created
and sent to the RIP in FIG. 6;
FIG. 9 is a flow chart of an exemplary routine in accordance with the
invention for revising a trap created for a background object when
multiple overlaps interfere with the trap;
FIG. 10 is a block diagram of a simplified PDL, e.g., PostScript,
publication, including a prolog and script written in pseudo code;
FIG. 11 is a block diagram of the PDL publication illustrated in FIG. 10,
but including modifications to the prolog to provide trapping of the
publication during the rendering process at the RIP;
FIGS. 12A-12C illustrate a trapping example involving exemplary objects X
and Y to facilitate explanation of the invention;
FIGS. 13A-13C illustrate the trapping example of FIGS. 12A-12C but
including a third object Z that overlaps the original objects; and
FIGS. 14A-14C illustrate the repairing of a previous trap in accordance
with the procedure set forth in FIG. 9.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A trapping program 20 in accordance with the invention is illustrated in
FIG. 1. The trapping program 20 works in conjunction with a computer
program, such as a desktop publishing program 22, that is suitable for
incorporating text, graphics and other aspects of documents to be
published. The desktop publishing program 20 may be, for example, the
PageMaker.RTM. desktop publishing program sold and supported by Aldus
Corporation, the assignee of the present invention. It is noted, however,
that the benefits of the invention are not limited to use with an
application whose primary purpose is to combine text and graphics. Thus,
throughout the specification and claims, the term "desktop publishing
program" is hereby defined as any computer program that has the ability to
manipulate graphical objects, including programs such as presentation,
art, and drawing programs.
The trapping and desktop publishing programs 20 and 22 run on a processing
unit 24 controlled by an operating system 26. Memory 28 is connected to
the processing unit and generally comprises, for example, random access
memory (RAM), read only memory (ROM), and magnetic storage media such as a
hard drive, floppy disk, or magnetic tape. The processing unit and memory
are typically housed within a personal computer 30, including
Macintosh.TM., International Business Machines (IBM.TM.), and
IBM-compatible personal computers. When used with IBM and IBM-compatible
personal computers, the operating system 26 may incorporate a windowing
environment such as Microsoft Windows.TM..
The desktop publishing program 22 includes a user interface 32 that
interacts between the operating system 26 and the internal process
application of the desktop publishing program 22. Using the desktop
publishing program 22, an author creates the text, images, and graphics
comprising a publication. Text, images and graphics are generically
referred to as "objects" through the specification and claims. In many
cases, the data comprising a publication is also imported from one or more
sources including, for example, illustration, image enhancement, word
processing, and desktop publishing programs. At block 34, input data
including text 36 and graphics 38 that were created within or imported
into a publication are shown. After the input data comprising a
publication have been entered, the data may be trapped using the trapping
program 20. As will be apparent from the following discussion, this is
accomplished by sending instructions to a PostScript (PS) interpreter or
raster image processor (RIP) 40, e.g., within a printer or at a service
provider, to trap the objects in the publication as the PS instructions
comprising the publication are being interpreted. The RIP 40 then outputs
the data comprising the trapped publication to film or paper.
Prior to discussing the specific details of how trapping is accomplished by
the trapping program 20, background information on the operation of PDL
languages, and directed specifically toward the PS language, is provided.
While the remainder of this discussion focuses on the PS language, those
skilled in the art will appreciate that the ideas presented are applicable
to other page description languages as well.
With reference to FIG. 2, the recommended structure for a PDL file such as
a PS publication 50 file is that it contain two basic components: a prolog
52 and a script 54. The prolog 52 contains routines or procedures, as well
as named variables and constants, that will be used throughout the rest of
a publication. As is known by those skilled in the art, it is efficient to
have a routine to perform a given task that will be repeated multiple
times, e.g., drawing a line, box, or oval, and then call the routine with
the appropriate parameters. In contrast, a more burdensome approach would
be to set forth all of the instructions contained in the routine each time
a line, box, or oval is to be drawn. The prolog is written by a PDL
programmer, and will precede the first part of every publication, or
script, that uses it. The script 54 provides the setup for the publication
and describes the specific elements to be produced as the output in terms
of procedures and variables defined in the prolog, along with operand
data.
When a user of the desktop publishing program enters the print command, the
prolog 52 and script 54 are sent to the RIP 40 where the PDL language is
interpreted and converted into a bit map format. The bit map is used to
draw the objects in the publication on paper or film.
FIG. 3 is a flow diagram of a prior art routine that illustrates the
construction of a publication written in PS language at the
interpreter/RIP level. At block 100, the prolog from the publication is
sent to the RIP. The next (current) page to be printed is then targeted
for "printing" at block 110. Printing in this context refers to sending
the PS commands to a RIP, and not necessarily the act of placing ink on
paper. At block 112, a test is made to determine whether all objects in
the current page have been printed. If all objects in the current page
have not been printed, the next object to be considered is selected at
block 114. At block 116, the appropriate PS commands are constructed to
create the object. The PS commands are then sent to the RIP at block 118,
and the routine loops to block 112.
If all the objects in the current page were determined to be printed at
block 112, a test is made at block 120 to determine if all pages in the
publication have been printed. If all pages in the publication have not
been printed, the routine loops to block 110. Otherwise, the routine is
terminated and the RIP is ready to begin converting the PS code comprising
the publication into a format acceptable to an output device such as an
imagesetter (creating film) or a printer. FIG. 4 illustrates a simplified,
genetic version of the process | | |