A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description in consideration of the accompanying drawings, in which like reference numbers indicate like features, and wherein:
In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present invention.
With reference to
One or more aspects of the invention may be embodied in computer-usable data and/or computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices to render one or more fonts for output on a device such as a display or a printer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other data processing device. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc. As will be appreciated by one of skill in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA), and the like. Particular data structures may be used to more effectively implement one or more aspects of the invention, and such data structures are contemplated within the scope of computer executable instructions and computer-usable data described herein.
The font module sub-process (steps 207-211) generally involves the font module (e.g., plug-in) collecting and storing the necessary fonts into the same memory medium as the document, together with a job jacket which, according to one aspect of the invention, may be an XML file as further described below. Thus, in step 207, font module 117 collects identifying information for all fonts used to create the document. Step 207 may include the font module assembling a linked list of all font IDs used in the document, storing the font names and/or filenames in a database, or any other identification and storage technique. In step 209 the font module 117 stores copies of the identified fonts to non-volatile memory, preferably in the same location as the document. In step 211 the font module 117 prepares a job jacket for storage with the document. The job jacket contains references to the fonts necessary to reproduce the document, as well as a reference to the document itself.
According to an aspect of the invention, the job jacket may comprise an XML file having the same name as the original document, but with a different file extension, e.g., XML, JKT, etc. An illustrative job jacket is illustrated in
The job jacket along with the referenced document and font(s) constitute a print job, which may be provided to a pre-press operator for printing. The print job may be provided on portable media, e.g., USB flash drive, optical disk, or the like, and/or may be transmitted via one or more networks, e.g., over the Internet. The print job may further be encapsulated in a file encapsulation and/or compression format, e.g., .ZIP, .TAR, etc. According to an illustrative aspect of the invention, the creative professional can also provide the font module/plug-in as a fourth element of the print job.
According to an aspect of the invention, a search plug-in may be used to expedite searching an operating system or file storage for a particular font ID, e.g., a Font Sense ID. A search plug-in may be provided for the Spotlight™ search tool provided with Apple's Mac OS X, whereby Spotlight™ indexes the ID along with other relevant metadata (such as font name, author, etc.) of any font file stored on the computer and stores the information in Spotlight's™ underlying SQLite database for fast query and retrieval at a later time. Plug-ins for other search tools may also and/or alternatively be provided, e.g., Microsoft® Windows® Instant Search™ in its Vista® operating system, Google search, MSN search, or the like.
According to another alternative embodiment, the job jacket and/or Font Sense ID (or other font ID) of each font used in a document may be embedded within the document itself, e.g., as a slug in a QUARK® document file. In such a scenario, the print job might include only the document, or only the document and the font files. The receiving font module then searches the computer's storage for the applicable font ID(s) if necessary, and activates the font(s) in-process as described herein.
Various examples of the invention may thus provide a number of benefits to a pre-press operator. For example, a pre-press operation may avoid having to worry about other fonts being active, because no other fonts can interfere with the job printing. Further, printing can be completely automated, even when the document to be printed contains fonts with the same Postscript names as system fonts necessary to run the operating system. Still further, the use of the in-process activated fonts will not interfere with other fonts having the same postscript name concurrently being used by other processes that have been globally activated, such as system fonts.
Font activation may vary among operating systems. An illustrative contrast is between APPLE's MAC OS brand operating systems and MICROSOFT's WINDOWS® brand operating systems. For example, the font activation model in OS X is stack based, whereas in WINDOWS it typically is not. In OS X the font activation process can choose between local and global activation. Thus when you activate a font in-process in OS X the font will override the system font, but just for that process in which the font was activated (assuming local activation was selected).
By contrast, in the WINDOWS operating systems all font activations are global, even when called by a specific process. In-process font activation in WINDOWS operating systems work insofar as the desired end-result is achieved; however, the in-process activation is global. Thus, in OS X and similar operating systems the font activation would be locally in-process, whereas in WINDOWS and similar operating systems the font activation is global. Because font activation is always global in WINDOWS operating systems, if the font module overwrites a system font during in-process activation, the font module preferably reactivates the overwritten system font when the in-process font is deactivated at the end of the process. Activating globally in process may provide benefits where multiple desktop publishing applications use elements of the same print job. For example, a document may be embedded in another document as an object, and/or two desktop publishing applications might be operating in separate process spaces and might both need to have the fonts activated.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
This application claims priority to provisional U.S. Application Ser. No. 60/820,774, filed Jul. 28, 2006, herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60820774 | Jul 2006 | US |