A device and method for control of font selection

Abstract: The invention relates to a device and method for control of font selection, and more particularly to an arrangement for providing operator control over font substitution in an electronic printer. In a printer system (2) which allows printing in multiple fonts, where the font (300) to be used is specified in an encoded document to be printed, an operator designation of font equivalency (315) is provided which specifies acceptable font substitutes (312) of available fonts for unavailable fonts (300). Upon detection of a document specification of an unavailable font (300), a print controller searches a mapping of known fonts (300) to available fonts to determine if an equivalent font has been designated. The mapping is operator-set in accordance with the operator perception of equivalence. Font equivalency mapping may be a yes/no equivalent, indicating substitution or job fault, or the mapping may have a multilevel substitution hierarchy, in which degrees of equivalency (315) are determined by the operator, and result in different warnings or machine operations dependent on different degrees of equivalency (315). An operator may also program the job to allow printing if the equivalency (315) falls within a certain degree, changing that degree depending upon customer sensitivity to font use.

Description: The invention relates generally to a device and method for control of font selection, and more particularly, but not exclusively, to an arrangement for providing operator control over font substitution selection in an electronic printer. Large high speed electronic printers are now combinations of printing engines with extensive computational capability. As such printers enter the workplace, primarily in the print shop environment, the advantage of such devices over offset presses will be noted in the ease in which new jobs can be programmed. However, new customers that will be served by such devices are extremely sensitive to print quality, in general, and specifically, to the appearance of each page of text. One feature of the job to which print shops are particularly sensitized is the use of specified fonts for a printing job. Heretofore, it has been difficult to specify fonts for use by electronic printers, which usually only provide a limited number of typefaces (such as modern, classic, helvetica, terminal, etc.) in a limited number of font sizes (8-point, 10-point, 12-point, etc.), and font orientations (portrait, landscape, inverse portrait, inverse landscape) with other specified font characteristics (bold, italic, stricken). Font provisions for electronic printers usually offer a limited number of resident fonts, and allow use of added fonts, commonly through cartridge addition which must be changed for each typeface or font, although addition of fonts via a communication channel is known. Generally fonts are very memory intensive, and in a small scale use, only a few fonts can be made available on a single printer. A single, very complete typeface which might provide bitmaps for several fonts of many sizes, each size in any of four orientations, each size and orientation also provided with specified characteristics, and which provides a large number of characters through each font, takes up a significant amount of electronic memory. Of course, some typefaces are more or less developed than others. In large high speed electronic printers, significantly larger memories are available, allowing the storage of many fonts in a font memory. However, the memory of such devices is not infinite, the addition of new fonts might require operator intervention, and in general, a user would desire optimization of his use of font memory by providing the most used fonts in device storage, and have relatively little used fonts stored on external media for use in the device only as required. A class of users may exist who do not know what fonts are available, who send jobs specifying certain fonts. A user may elect for reasons of cost, availability or simplicity, to have a relatively small number of fonts available for use. In such cases, where the font called by a document to be printed is not available, a substitute may be used, or a default in the printing of the document must be declared. In a highly automated device, such a default may be undesirable. Substitution of available fonts for unavailable fonts is a problem that has been considered. Typically, a print controller implements a substitution algorithm, which looks at the font characteristic information of available fonts, for comparison to the called-for font, and finds the nearest match, in accordance with a preset hierarchy of comparisons. Alternatively, the operator might specify a default. The hierarchy is set by the aesthetics of the algorithm developer. Thus, for example, the algorithm might attempt to match point size, weight, orientation, etc., on a weighted, or ordered basis. However, heretofore only two results have come from that comparison; first, an available font is substituted (sometimes accompanied by notice to the operator on a first sheet), or second, a fault is declared. However, when a fault is not declared, the substituted font may be unacceptable to the font sensitive user. An unacceptable job, which may result when a unacceptable font is used, and may be several thousand pages collated and bound, is an expensive error. It is an object of the present invention to provide a device and method for providing an operator with greater control of font selection thereby minimising the possibility of expensive printing errors. Accordingly, the present invention provides a device for providing operator control of font selection, including means for converting a selected font to an available font, said converting means including a font library storing a number of fonts therein, each stored font accessible when required for identifying a character, when said selected font is among said stored fonts, characterised by a programmable look up table, mapping known fonts not available in said font library, to fonts stored in said font library, as substitutions therefor, means for determining, from said programmable look up table, a substitution font for a known font to a stored font; and means for using said substitution font for each selected font. In another aspect of the invention there is provided a method of controlling font substitution in an arrangement identifying characters in an electronically formatted document, each character designated as printable in a selected font, including storing in a font library a number of fonts, each stored font accessible when identified for a character, when said selected font is among said stored fonts, characterised by determining, from a programmable look up table mapping known fonts not stored in said font library to stored fonts, a substitution font for a selected font determined not to be stored in said font library, and using said substitution font for each selected font. In accordance with one embodiment of the invention, there is provided a printer system which allows printing in multiple fonts, where the font to be used is specified in an encoded document to be printed, an operator designation of font equivalency is provided which specifies acceptable font substitutes of available fonts for unavailable fonts. Upon detection of a document specification of an unavailable font, a print controller searches a mapping of known fonts to available fonts to determine if an equivalent font has been designated. The mapping is operator-set in accordance with the operator perception of equivalency. The embodiment of the invention may form an integral part within a printer system, or as a standalone adjunct to document creation. In accordance with another embodiment of the invention, substitutions may be prioritized, in the case where two substitutions may apply to a single font in different circumstances. In accordance with yet another embodiment of the invention, font equivalency mapping may have a yes/no indication of equivalence, indicating substitution or warning of substitution, or the mapping may have a multilevel substitution hierarchy, in which degrees of equivalency are determined by the operator, and result in different warnings dependent on different degrees of equivalency. A designation of equivalency, other than "perfect" equivalency, may result in a warning of substitution on a printed cover sheet, a pre-print confirmation requirement with the operator, who must take action to continuing the job, a machine fault, or other responses dependent upon the level of equivalency. An operator may also program the job to allow printing if the equivalency falls within a certain degree, changing that degree depending upon customer sensitivity to font use. The invention will be described further, by way of example, with reference to the accompanying drawings, in which:- Figure 1 is an isometric view of an illustrative xerographic reproduction machine incorporating an embodiment of the present invention; Figure 2 is a block diagram depicting the major elements of the printing system shown in Figure 1; Figure 3 is a plan view illustrating the principal mechanical components of the printing system shown in Figure 1; Figure 4 is a schematic view showing certain construction details of the document scanner for the printing system shown in Figure 1; Figures 5A, 5B, and 5C comprise a schematic block diagram showing the major parts of the control section for the printing system shown in Figure 1; Figure 6 is a block diagram of the Operating System, together with Printed Wiring Boards and shared line connections for the printing system shown in Figure 1; Figure 7 shows a font file for an example character; Figure 8 shows a user interface screen for a font substitution table; and Figures 9A and 9B show a flow chart of the internal font substitution process. With reference to the drawings, where the showings are for the purpose of illustrating an embodiment of the invention and not for the purpose of limiting same, at Figures 1 and 2, there is shown an exemplary laser based printing system 2 for processing print jobs in accordance with an embodiment of the present invention. Printing system 2 for purposes of explanation is divided into a scanner section 6, controller section 7, and printer section 8. While a specific printing system is shown and described, the present invention may be used with other types of printing systems such as ink jet, ionographic, etc. "Printer" as used herein also includes the creation of print for a display, such as a CRT. Referring particularly to Figures 2-4, scanner section 6 incorporates a transparent platen 20 on which the document 22 to be scanned is located. One or more linear arrays 24 are supported for reciprocating scanning movement below platen 20. Lens 27 and mirrors 28, 29, 30 cooperate to focus array 24 on a line-like segment of platen 20 and the document being scanned thereon. Array 24 provides image signals or pixels representative of the image scanned which after suitable processing by processor 25, are output to controller section 7. For an alternate source of images for printing, documents in a page description language (PDL) such as Xerox Interpress, or Adobe Postscript can be sent from an external source, such as, for example, a publishing workstation, via a network connection, to image manipulation section 58, which will translate the document in a well known manner to a format suitable for printing, at controller section 7, for delivery to printer section 8. Conversion means (not shown), connected to the system either directly or through a network connection, may be provided for converting the PDL of incoming imaging data different that of the PDL of the system to the appropriate electronic format. The invention described herein may be incorporated into that device or into the printer system as described. Of course, in all cases, data may also be delivered to the system via storage media, such a floppy disk or tape, etc. Other data entry means may also be provided. Processor 25 converts the analog image signals output by array 24 to digital and processes the image signals as required to enable system 2 to store and handle the image data in the form required to carry out the job programmed. Processor 25 also provides enhancements and changes to the image signals such as filtering, thresholding, screening, cropping, reduction/enlarging, etc. Following any changes and adjustments in the job program, the document must be rescanned. Documents 22 to be scanned may be located on platen 20 for scanning by automatic document handler (ADH) 35 operable in either a Recirculating Document Handling (RDH) mode or a Semi-Automatic Document Handling (SADH) mode. A manual mode including a Book mode and a Computer Forms Feeder (CFF) mode are also provided, the latter to accommodate documents in the form of computer fanfold. For RDH mode operation, document handler 35 has a document tray 37 in which documents 22 are arranged in stacks or batches. The documents 22 in tray 37 are advanced by vacuum feed belt 40 and document feed rolls 41 and document feed belt 42 onto platen 20 where the document is scanned by array 24. Following scanning, the document is removed from platen 20 by belt 42 and returned to tray 37 by document feed rolls 44. For operation in the SADH mode, a document entry slot 46 provides access to the document feed belt 42 between tray 37 and platen 20 through which individual documents may be inserted manually for transport to platen 20. Feed rolls 49 behind slot 46 form a nip for engaging and feeding the document to feed belt 42 and onto platen 20. Following scanning, the document is removed from platen 20 and discharged into catch tray 48. For operation in the CFF mode, computer forms material is fed through slot 46 and advanced by feed rolls 49 to document feed belt 42 which in turn advances a page of the fanfold material into position on platen 20. Referring to Figures 2 and 3, printer section 8 comprises a laser type printer and for purposes of explanation is separated into a Raster Output Scanner (ROS) section 87, Print Module Section 95, Paper Supply section 107, and Finisher 120. ROS 87 has has a laser 91, the beam of which is split into two imaging beams 94. Each beam 94 is modulated in accordance with the content of an image signal input by acousto-optic modulator 92 to provide dual imaging beams 94. Beams 94 are scanned across a moving photoreceptor 98 of Print Module 95 by the mirrored facets of a rotating polygon 100 to expose two image lines on photoreceptor 98 with each scan and create the latent electrostatic images represented by the image signal input to modulator 92. Photoreceptor 98 is uniformly charged by charging devices 102 at a charging station preparatory to exposure by imaging beams 94. The latent electrostatic images are developed by developer 104 and transferred at transfer station 106 to a print media 108 delivered by Paper Supply section 107. Media 108 may comprise any of a variety of sheet sizes, types, and colors. For transfer, the print media is brought forward in timed registration with the developed image on photoreceptor 98 from either a main paper tray 110 or from auxiliary paper trays 112, or 114. The developed image transferred to the print media 108 is permanently fixed or fused by fuser 116 and the resulting prints discharged to either output tray 118, or to finisher 120. Finisher 120 includes a stitcher 122 for stitching or stapling the prints together to form books and a thermal binder 124 for adhesively binding the prints into books. Referring to Figures 1, 2 and 5, controller section 7 is, for explanation purposes, divided into an image input controller 50, User Interface (UI) 52, system controller 54, main memory 56, image manipulation section 58, and image output controller 60. The scanned image data input from processor 25 of scanner section 6 to controller section 7 is compressed by image compressor/ processor 51 of image input controller 50 on PWB 70-3. As the image data passes through compressor/processor 51, it is segmented into slices N scanlines wide, each slice having a slice pointer. The compressed image data together with slice pointers and any related image descriptors providing image specific information (such as height and width of the document in pixels, the compression method used, pointers to the compressed image data, and pointers to the image slice pointers) are placed in an image file. The image files, which represent different print jobs, are temporarily stored in system memory 61 which comprises a Random Access Memory or RAM pending transfer to main memory 56 where the data is held pending use. As best seen in Figure 1, UI 52 includes a combined operator controller/CRT display consisting of an interactive touch sensitive screen 62, keyboard 64, and mouse 66. UI 52 interfaces the operator with printing system 2, enabling the operator to program print jobs and other instructions, to obtain system operating information, instructions, programming information, diagnostic information, etc. Items displayed on touchscreen 62 such as files and icons are actuated by either touching the displayed item on screen 62 with a finger or by using mouse 66 to point cursor 67 to the item selected and keying the mouse. A similar user interface is described in U.S. Patent No. 4,267,443, issued May 12, 1981 to Carroll et al., the relevant portions thereof being hereby incorporated by reference into the present application. Generally, operation and control information is stored in system memory and accessed by the system controller when necessary. The system controller regulates the operation of the machine based on user programming of desired features, and the system status, as determined by conventional switches and sensors. The features within the machine are then regulated through the control of individual electrical and electromechanical devices, such as conventional servomotors, solenoids, etc. Main memory 56 has plural hard disks 90-1, 90-2, 90-3 for storing machine Operating System software, machine operating data, and the scanned image data currently being processed. When the compressed image data in main memory 56 requires further processing, or is required for display on touchscreen 62 of UI 52, or is required by printer section 8, the data is accessed in main memory 56. Where further processing other than that provided by processor 25 is required, the data is transferred to image manipulation section 58 on PWB 70-6 where the additional processing steps such as collation, make ready, decomposition, etc are carried out. Following processing, the data may be returned to main memory 56, sent to UI 52 for display on touchscreen 62, or sent to image output controller 60. Image data output to image output controller 60 is decompressed and readied for printing by image generating processors 86 of PWBs 70-7, 70-8 (seen in Figure 5A). Following this, the data is output by dispatch processors 88, 89 on PWB 70-9 to printer section 8. Image data sent to printer section 8 for printing is normally purged from memory 56 to make room for new image data. Referring particularly to Figures 5A-5C, control section 7 includes a plurality of Printed Wiring Boards (PWBs) 70, PWBs 70 being coupled with one another and with System Memory 61 by a pair of memory buses 72, 74. Memory controller 76 couples System Memory 61 with buses 72, 74. PWBs 70 include system processor PWB 70-1 having plural system processors 78; low speed I/O processor PWB 70-2 having UI communication controller 80 for transmitting data to and from UI 52, and streaming tape controller 81 which controls and receives information from streaming tape drive 53; PWBs 70-3, 70-4, 70-5 having disk drive controller/processors 82 for transmitting data to and from disks 90-1, 90-2, 90-3 respectively of main memory 56 (image compressor/processor 51 for compressing the image data is on PWB 70-3); image manipulation PWB 70-6 with image manipulation processors of image manipulation section 58; image generation processor PWBs 70-7, 70-8 with image generation processors 86 for processing the image data for printing by printer section 8; dispatch processor PWB 70-9 having dispatch processors 88, 89 for controlling transmission of data to and from printer section 8; and boot control-arbitration-scheduler PWB 70-10. Referring particularly to Figure 6, system control signals are distributed via a plurality of printed wiring boards (PWBs). These include EDN core PWB 130, Marking Imaging core PWB 132, Paper Handling core PWB 134, and Finisher Binder core PWB 136 together with various Input/Output (I/O) PWBs 138. A system bus 140 couples the core PWBs 130, 132, 134, 136 with each other and with controller section 7, while local buses 142 serve to couple the I/O PWBs 138 with each other and with their associated core PWB. On machine power up, the Operating System software is loaded from memory 56 to EDN core PWB 130 and from there to the remaining core PWBs 132, 134, 136 via bus 140, each core PWB 130, 132, 134, 136 having a boot ROM 147 for controlling downloading of Operating System software to the PWB, fault detection, etc. Boot ROMs 147 also enable transmission of Operating System software and control data to and from PWBs 130, 132, 134, 136 via bus 140 and control data to and from I/O PWBs 138 via local buses 142. Additional ROM, RAM, and NVM memory types are resident at various locations within system 2. Referring again to Figures 1, 2, and 7, user interface 52 is comprised of U/I housing 200, touch sensitive display 62, touch sensor 202, and keyboard 64. Signals from touch sensor 202 are interpreted with respect to the current programming screen. Subsequently user selections are displayed on CRT display 62 and the appropriate machine subsystems are enabled, disabled or adjusted accordingly. With reference to Figure 2, fonts are stored in the system at main memory 56, so that during page decomposition of a page description language (PDL) at image manipulation section 58, fonts identified by the PDL for a document may be placed into a file ready for printing. Image manipulation device 58 could be embodied within a printer controller as shown in Figure 2 or alternatively, in a stand alone component, which may produce and direct electronic data compatible with the printing device thereto. With reference to Figure 5B, when a new font is desired for addition to the library of fonts, font information is applied to the device, preferably at streaming tape drive 53, although certainly, the font information could be obtained from another media, network or communication channel. Streaming tape drive 53 is controlled by tape drive controller 81, which receives font information from a tape, and stores it to shared local RAM 83 on PWB 70-2, which acts as a buffer for the font information received. With reference to Figure 7, font information for each character in the font may include several parameters required when the font information is called by the PDL (page description language, e.g., Xerox Interpress, or Adobe Postscript) for use in a document. Accordingly, the information may include, generally, the file structure of Figure 7, which includes in addition to a bitmap of the character (at 210), the typeface name 212 (of course, encoded values may used in place of alphanumerics); font identification 214 in terms of weight, size and orientation; character set 216, a description of a group of characters which form a cohesive unit, such as the example, latin alphabet; and finally, the individual character code 218 in a character set which, for the PDL, represents an uppercase "A" no matter what font the character is in. These values are detectable, and comparisons may be set up between these values and stored values. It will no doubt be appreciated that if the font is a contour font, less information may be available, since usually only a single contour font is required for a typeface, but the principle remains the same with respect to the contour font identification of characters. Of course, the bitmap information is replaced by contour information in that situation. It should also be realized that bitmaps or contour information need not be provided for "incoming" fonts. However, certain identifying characteristics, such as character "width" , may be provided to assist the system in placing the substitution character in the final print document. In accordance with an embodiment of the invention and as shown in Figure 8, a table of equivalency mappings may be created, which displays incoming fonts and characteristics, and identifies substitute fonts. The screen shown in Figure 8 is representative of a look up table mapping of known fonts to stored fonts in memory. At column 300, incoming fonts (i.e., incoming fonts that are known) are identified at rows 302, 304, 306, 308, 310. For each of these fonts, a substitution font, available to the operator, is designated at column 312. Each font is also identified at column 314 as "on disk" if it is currently stored in machine memory, or "off" if the operator has the font available to him, but not currently loaded in machine memory, so that the user may treat his or her total collection of fonts as a library of fonts available to him, on or off the machine. A call for an unavailable font at the PDL is mapped to the new font, so that the new font may be used in generation of the bitmap image that the printer will ultimately print. An unavailable font may be mapped to more than one font, particularly where one of the fonts is not currently stored in machine memory. In that manner, the user can decide whether to take the time to load the best substitute font, or use the font currently stored in the machine memory. The described mapping function can be located either at a print controller or at a standalone device remote from the printer. In accordance with another embodiment of the invention, each equivalence or substitution mapping is given a level of degree of equivalency. This is an indicator representing the perception of the user as to how good a substitute the available font is for the unavailable font. Thus, at column 315, the equivalencies mapped are given a level or degree of equivalency on a scale of 1-3. Greater or lesser numbers of degrees of equivalency are possible, including the two element warning of "yes" (the fonts are equivalent for the purposes of the user) and "no" (the fonts while similar enough to be substituted occasionally, are not equivalent, and therefore a warning action is required). Looking at the example of Figure 8 to see how one operator's impression of equivalency might work, at row 302, incoming, unavailable font Helvetica ten point InverseLandscape font is mapped to available Triumvirate ten point InverseLandscape font. The operator has determined the two are highly equivalent, by designating them as having a level 1 degree of equivalence. By contrast, at row 310, unavailable Courier 22 Point Landscape font is mapped to Modern 24 Point Landscape font. These fonts are deemed by the operator to be poor equivalents, as the mapping is given a degree of equivalence of 3. While in the example shown, a font by font mapping is demonstrated, the equivalency could be mapped from typeface to typeface, as shown in row 306. An operator may also program the job to allow printing if the equivalency falls within a certain degree, changing that degree depending upon customer sensitivity to font use. As an example of the levels of equivalence, the following table is but an example: DEGREE DEFINITION POSSIBLE ACTION 1 Fully equivalent in all respects Print job 2 Not fully equivalent, but acceptable substitution in many cases. Print job with banner sheet warning 3 Unacceptable substitution for most cases. Print job only after confirmation Of course, the definitions may be the user perceptions of equivalence, and may relate to matches, or match differences of weight, point size, how complete the character set, appearance of the characters, etc. In accordance with a further embodiment of the invention, substitutions may be prioritized. In the case where two substitutions may apply to a single font in different circumstances, it is necessary to prioritize the substitution. As shown in the table of Figure 8, the situation may arise, for example, when a user has an excellent match for a single font within a typeface, such as for Helvetica 10 point InverseLandscape font mapped to Triumvirate 10 point InversePortrait, and a poorer match for the remainder of the typeface, Helvetica family mapped to Times Family. In such case, the better mapping should always be used. This may be done, as shown in Figure 8, at column 316 by a numerical priority indicator, in this example case given as 1-5 which indicates priority through the mapping. Alternatively the ordering of the mappings may be pre-emptive, so that the first applicable mapping reached, is used. When the document, in the PDL, specifies a particular font that is not available, an equivalency mapping searching function is enabled, which searches mapping for known fonts, and maps them to substitute fonts. A simplified flow chart of the operation is shown in Figure 9A for a simple yes/no case. The PDL decomposer at image manipulation section 58 reads the document PDL and calls for the specified font (step 400). At step 410, a determination is made if the specified font is available. This step is indicated as optional, because the user may know that none of the stored fonts will ever match the incoming fonts, and therefore alter the selection method to search the substitution table in all cases. If the specified font is available, then the normal printing process is continued from step 420. If the specified font is not available, an optional determination is made at step 430, to determine if substitution is allowed. As noted, a user may be so font sensitive that no substitution of any kind are allowed. Non-allowance of substitution causes a default to step 450, a Job Fault sequence that follows certain procedures for ending the job from its run condition, notifying the operator or user that the job will not run, purging partially run sheets if any, etc. Additionally other font responses may optionally be invoked, including a request for help from the user in determining what font to use. If substitution is allowed at step 430, then the substitution function is available to determine an equivalent font by scanning the mapping of Figure 8, at step 440. Next, at step 460, a determination is made as to whether the substitution font is available. If the substitute font is not available, then Job Fault step 450 procedures are followed, including the possible implementation of a nearest neighbor algorithm, which determined automatically the best match. If substitution is available, the substitution is made at step 470. After substitution is made, if equivalence indicators are used, at step 480, the equivalence indicators are checked to determine if a warning is required for the substitution. If required, a warning signal is generated at step 490. After the equivalence determination step 480, the next step in printing the document is entered. At Figure 9B, the optional step of prioritization is demonstrated. This process may be part of the "match requested font" step 440 of the flow chart of Figure 9A. At step 442, the search proceeds until matches are found. At step 444, if multiple matches are found, priorities are examined at step 446 to determine which match should be used before continuing the substitution process. In the case that an incoming font is not mapped to an available font, i.e., the font is not known by the system, a nearest neighbor algorithm may be implemented, and the results checked against available fonts and/or known fonts, so that a second pass against the table may be made. It will no doubt be appreciated that numerous changes and modifications are likely to occur to those skilled in the art, and it is intended in the appended claims to cover all those changes and modifications which fall within the scope of the present invention.

Claims: A device for providing operator control of font selection, including means for converting a selected font to an available font, said converting means including a font library storing a number of fonts therein, each stored font accessible when required for identifying a character, when said selected font is among said stored fonts, characterised by a programmable look up table, mapping known fonts (300) not available in said font library, to fonts (312) stored in said font library, as substitutions therefor, means for determining, from said programmable look up table, a substitution font (312) for a known font (300) to a stored font; and means for using said substitution font (312) for each selected font. A device as claimed in claim 1, characterised in that said programmable look up table in said font memory, mapping each known font (312) to a stored font, allows user designation of said mapping and/or, provides indicia of equivalence (315) for each mapping, indicating a degree of similarity of each stored font (312) to each known font (300). A device as claimed in claim 3, characterised by operator warning means (490) for providing a hierarchy of warnings to an operator, in accordance with said indicia of equivalence (315). A device as claimed in any one of claims 1 to 3, characterised by means for mapping a known font (300) to a plurality of stored fonts (312), means (316) being provided for selecting a substitution font (312) in accordance with a predetermined priority (316). A method of controlling font substitution in an arrangement identifying characters in an electronically formatted document, each character designated as printable in a selected font, including storing in a font library a number of fonts, each stored font accessible when identified for a character, when said selected font is among said stored fonts, characterised by determining, from a programmable look up table mapping known fonts (300) not stored in said font library to stored fonts (312), a substitution font (312) for a selected font (300) determined not to be stored in said font library, and using said substitution font (312) for each selected font (300). A device as claimed in any one of claims 1 to 4, characterised in that said device is a print controller for a printer (2), including an arrangement to print characters in a document transmitted to the controller, each character designated for printing in the selected font. A device as claimed in claim 6, when dependent on claim 2, characterised in that said means for using said substitution font (312) for each selected font (300), upon determination of unavailability thereof, operates in accordance with a predetermined response to the degree of equivalence of the substitution. A device as claimed in claim 7, characterised in that said predetermined response includes printing with or without warning of font substitution, or declaration of a machine fault, or a request at a user interface for confirmation of acceptability of the font substitution. A method of controlling font substitution in a print controller for a printer (2) including an arrangement to print characters in a document transmitted to the controller, each character designated for printing in a selected font, including storing in a font library a number of fonts, each stored font accessible when required for printing a character, characterised by determining, from a programmable look up table mapping known fonts (300) not stored in said font library to stored fonts (312), a substitution font (312)zfor a selected font (300), using said substitution font (312) for each selected font (300), for printing characters in the document designated for printing in the selected font (300); and selecting a substitution font (312) for a known font (300) mapped to a plurality of substitution fonts (312) in accordance with a predetermined priority. A method of controlling font substitution in a print controller for a printer (2) including an arrangement to print characters in an electronically formatted document transmitted to the controller, each character designated for printing in a selected font, including storing in a font library a number of fonts, each stored font accessible when required for printing a character, when said selected font is among said stored fonts, determining whether the selected font is stored in said font library, characterised by determining, from a programmable look up table mapping known fonts (300) not stored in said font library to stored fonts (312), a substitution font (312) for a selected font determined not to be stored in said font library, and using said substitution font (312) for each selected font (300), for printing characters in the document designated for printing in the selected font (300). A device as claimed in any one of claims 1 to 4; or 6 to 8, characterised by means for determining whether the selected font is stored in said font library.

Inventors: HUBE RANDALL R, SAMPSON CHERYL A, SIMPSON RUSSELL W, HUBE, RANDALL R., SAMPSON, CHERYL A., SIMPSON, RUSSELL W.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1991
Main classification: B41J5
IPC codes: H04N1, B41J5, G03G15, G09G5, G06F17