There are a number of tasks which may take place between receipt of a document and the eventual generation of printout of the received document. In general, these tasks may be categorized into either of two classes. A first class of tasks is related to fixing problems in the document that could prevent production of satisfactory print output. Such tasks may be related to making changes to the document required to result in successful printing of the document. They may involve addition, deletion or alteration of content within the document, and may be made by or for the document creator. A second class of tasks is related to the physical production of the document itself, e.g., printing, finishing and post-production operations.
Both classes of tasks—particularly the first class, and to a lesser degree the second class—result from—or are exacerbated by—copyright laws which generally restrict the ability of authors to include copyright-protected fonts within documents. Such restrictions are in opposition to the objective of printing documents in the exact manner in which they were intended.
Partial solutions to these problems are known. For example, transformation of all font information into graphical images is a method by which a document may be produced without violating copyright laws. However, such a transformation does not allow the image to be edited after the graphical images are generated. A second partial solution is to transcode fonts into similar font sets which are not protected by copyright laws. At least in theory, this solution allows changes to be made to a completed document; however, a variety of problems make this solution unsatisfactory. First, this solution may in fact violate copyright laws, since the transform of the fonts may be a protected derivative of the protected fonts. Moreover, since most tools are not fully compatible with the transcoding, the transcoded fonts are not easily edited; accordingly, the edited fonts do not match the original fonts. Therefore, known attempts to solve these and other problems result in obvious flaws within the printed document, as well as an enormous amount of time invested by the document printer doing trial-and-error operations.
As a result, new and improved solutions to these and other problems would be welcome.
Font and text management within a document provides utility in authoring and/or printing documents. In one example, a first portion of the document is configured to include text and references to fonts for use in rendering the text. Additionally, a second portion of the document is configured to include a graphical representation of the text.
The following detailed description refers to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure (Fig.) in which the reference number first appears. Moreover, the same reference numbers are used throughout the drawings to reference like features and components.
The document authoring module 102 may be configured for authoring documents 104 of various types, including: PDF (portable document format) documents, PCL® (printer control language) documents, PostScript® document and others. The document authoring module 102 and document printing module 106 may be configured as one or more plug-ins for an application, such as Adobe® Acrobat®, or may be configured as one or more stand-along applications. The document 104 may additionally be configured to include one or more portions, layers, sections or other components. In the example of
A first layer 112 within the document 104 may be configured to include content in the form of text 114, which may be supplied by the author. One or more sections of the text 114 may be associated with one or more fonts. Accordingly, one or more references to fonts 116 may be included in the first layer 112 to indicate the associated font(s).
Advantageously, the first layer 112, containing text 114 and references to fonts 116, is suitable for being edited. In particular, the text 114 and fonts within that layer may be manipulated by many authoring programs, such as word processors, presentation applications (e.g. PowerPoint®) and many others.
Optionally, actual fonts 118 may be included within the layer 112, where copyright laws permit. The utility of this inclusion is not universal, however, since fonts which copyright laws allow to be included will probably already be present on any system which is used to render and print the document 104.
A second layer 120 may be configured by the layer configuration module 108 to include a graphical representation 122 of the text 114 found in the second layer 112. Advantageously, a graphical representation 122 of the text 114—created, for example, using vector elements—does not need fonts or references to fonts to be rendered and printed, since graphical images are rendered and printed independent of text and fonts. As a result, the second layer 120 may be printed without reference to any fonts. Therefore, failure of a printer or other output device to have a legal copy of any particular font is not fatal, since the graphical representation 122 is printed without utilizing any fonts or references to fonts.
Use of the second layer 120 therefore provides an alternative to use of the first layer 112. Generally, where the fonts associated with references 116 are present on a printing system, use of the first layer is preferable. Additionally, were the fonts are available and changes need to be made to the document, then the text 114 of the first layer is fully editable. Alternatively, where the fonts are not present, use of the second layer is preferable.
A third layer 124 may optionally be included within the document 104, and may include an image of the document or images in the document. The third layer may be organized according to pages within the document, or may be organized according to the entire document. In one example, the third layer may include images of the document, such as images of each page of the document, including a representation of the text and/or the images in the document. The third layer may also include images in the document, such as images required by other layers, such as layer one 112. For example, the third layer 124 may include one or more graphical images 126, such as business graphics, logos, photographs and/or any other type of graphical image. The third layer 124 is typically not directly related to the text 114 or images of the text 122; instead, the third layer 124 contains the photos, images and/or graphics included by the user, such as when operating the document authoring module 102.
The document printing module 106 is configured to render and print the document 104. An example of a document printing module 106 is seen in
The font discovery module 130 is configured to locate fonts indicated by the references 116, or fonts 118 which are located within the layer 112. For example, references to fonts 116 may be present within one or more layers. To render the text 114 in the manner intended by the document authoring module 102, it will be necessary to determine if the referenced fonts are available on the system which will be used to render and print the document. This determination may be made by the font discovery module 130, which inventories the available fonts for comparison against the required fonts.
A rendering module 132 is configured to render the document 104, thereby facilitating the printing process. The rendering module is configured to render the first layer 112 when that layer is discovered (if hidden) by the layer discovery module 128, and when the fonts to which there are references 116 are available and/or when fonts 118 are included within the layer 112. Alternatively, the rendering module 132 is configured to render the second layer 120, which contains a graphical representation 122 of the text. The rendering module 132 may additionally render a third layer 124, containing one or more images 126, if the third layer is present.
At block 202, a first portion of a document is configured to include text and references to fonts. For example, a first layer 112 of a document 104 may be configured to include text 114 and references to fonts 116 for use in rendering the text. In an optional configuration seen at block 204, actual fonts 118 can be embedded within the first layer 112, instead of—or in addition to—the references 116 to fonts. In some cases this may be beneficial. However, fonts which can be legally embedded within the document are typically found on most printing systems, e.g., using an asset management component with fonts, which might be used to print the document; accordingly, embedding fonts may provide little utility and use a larger amount of space in disk.
At block 206, it is determined if the author prefers to include a graphical representation 122 of text within the document 104. Such an inclusion may be preferred, for example, to preserve the integrity of the original document. The author preference may be indicated in any desired manner, such as by display of a user interface 110 (
At block 210, a third portion of the document may optionally be configured to include an image. For example, a third portion may be configured as a third layer 124, and may include an image 126 such as business graphics, a logo, a photograph, artwork or any other graphical image.
At block 212, one or more layers of the document may be hidden. For example, the user interface 110 may be used by the author to instruct the layer configuration module 108 to hide the first layer 112. Hiding a layer allows document printing modules not configured to recognize a plurality of layers to process the document 104 in a known manner, using only non-hidden layers. In contrast, document printing modules (e.g. the documenting printing module 106 of
At block 214, the third portion of the document may be flattened with at least one other portion of the document. For example, layer three 124 of the document 104 may be flattened with either layer one 112 or layer two 120. Thus, the flattening results in the text 114 of layer one 112 or the text representation 122 of layer two 120 being combined with the images (e.g. photographs) of layer three 124. Accordingly, the flattened document will include text and images. Once flattened, the document may be processed by conventional document printing systems.
At block 302, a document having first and second portions is received. Receipt of the document may be performed in a variety of ways, one of which is illustrated for purposes of example at blocks 304, 306. In the example of block 304, a document 104 (
At block 308, a check is made to determine if hidden layers were discovered and if the fonts referenced by the one or more hidden layers were available. For example, the check confirms if fonts associated with the references 116 are available on the system which is being utilized to print the document 104 in a hidden layer 112. Such as check can be made by the font discovery module 130 or similar structure. Note that if the layer discovery module 128 failed to discover hidden layer 112, then layer 120 can be utilized in its place.
Where hidden layers were discovered and the fonts referenced within the hidden layers were available, block 310 indicates that the text within the first layer 112 of the document is rendered using the referenced fonts. In one example, this may be performed as seen in blocks 312-316. At block 312, the text 114 from the first layer 112 is obtained. Because the hidden layer was previously recognized (such as by the layer discovery module 128), the text 114 is easily obtained. At block 314, the referenced fonts are obtained by using the references 116 found in the first layer 112 (such as by the font discovery module 130). At block 316, the referenced fonts are used in a process which renders the text 114 of the document 104 (such as by the rendering module 132).
Where hidden layers were discovered and the fonts referenced within the hidden layers were not available, block 318 indicates that a graphical representation of the text is rendered. Typically, the graphical representation of the text 122 is found in a second layer 120 of the document 104, which is typically visible, but may be hidden. The rendering may be performed by the rendering module 132 or similar software.
At block 404, text 114 within the first layer 112 is edited. This may be performed with any type of authoring program, such as a word processor able to interface to the layer authoring module 102. At block 406, the graphical representation 122 of the text is deleted. In one example, the graphical representation 122 is deleted automatically in response to actual editing of the text 114, which makes the representation 122 of the text obsolete.
Although the disclosure has been described in language specific to structural features and/or methodological steps, it is to be understood that the appended claims are not limited to the specific features or steps described. Rather, the specific features and steps are exemplary forms of implementing this disclosure. For example, actions described in blocks of the flow diagrams may be performed in parallel with actions described in other blocks, the actions may occur in an alternate order, or may be distributed in a manner which associates actions with more than one other block. And further, while elements of the methods disclosed are intended to be performed in any desired manner, it is anticipated that computer- and/or processor-readable instructions will be performed by a computer and/or processor, typically located within authoring and/or printing software and/or hardware, such as a computer, a printer, a print server, or similar systems. Similarly, the blocks may be performed by the actions of hardware devices, such as application specific integrated circuits (ASICs) without being embodied in software.