Output apparatus

Abstract: There is provided an output apparatus having the function to temporarily store pattern data to be output. The apparatus comprises: a first converter to convert vector data which ex­ presses a pattern to be output into compression data in which the corresponding dot pattern was compressed; a second converter to convert the compression data converted by the first converter into the dot pattern; and an output device to output the dot pattern converted by the second converter. The apparatus also comprises: a data memory which can store vector data indicative of an output pattern, in a plurality of kinds of data formats different from the vector format; a converter for converting into the dot pattern on the basis of either one of the data formats stored in the data memory; and an output device to output the dot pattern converted by the converter.

Description: The invention relates to a character output apparatus and, more particularly, to an output apparatus wherein vector fonts are converted for output in a dot matrix (raster) format. An article "Vector Character Fonts in an All-Point-Addressable Printer", IBM Technical Disclosure Bulletin, Vol. 28, No. 11 (April 1986) page 5003, describes the basis of such an output device, in particular a printer. A font (set of character shapes) defined in vector format allows characters to be scaled to any size and orientation, before conversion to the dot format required by the output device. A conventional, dot-based character generator is described in DE-A-2731955 (Xerox Corp.). In this device, character dot patterns are stored either directly, or in a compressed, for example run length coded, form. It is assumed in this apparatus that all character patterns are stored in a font memory before printing can commence. In such a device, therefore, to print using a vector font requires that the entire font (every character at every desired size) is stored in its converted, dot pattern state, and there is a problem that the memory capacity requirement becomes excessive. Addressing this problem, EP-A-0354024 of Hitachi, not published at the priority date of the present application, describes a character generating system in which characters of a vector font are converted to dot patterns as required for output, and these dot patterns are also stored in a "cache" memory. These stored patterns may then be used when the same character is to be output subsequently, without converting from the vector data each time. The invention provides a character apparatus comprising: first converting means for converting vector data defining the shape of a character to be output into compressed dot pattern data defining a corresponding output dot pattern; second converting means for converting said compressed dot pattern data into the corresponding output dot pattern; output means for outputting the dot pattern generated by said second converting means; character pattern storage means for storing the compressed dot pattern data converted by said first converting means; and means adapted to read the stored pattern data from the storage means in place of operation of the first converting means in response to a request for subsequent output of the same said character. By providing a cache memory (pattern storage means) for compressed dot pattern data, a small memory capacity can be achieved, while avoiding as much as possible the time consuming process of converting from vector data to dot pattern data. The compressed dot pattern data may for example comprise a run length encoded version of the corresponding output dot pattern, in which case the second converting means will include a run length decoder. The character pattern storage means may be arranged under predetermined circumstances to store the output dot pattern for a character, such that the character can be output subsequently without operation of the first or second converting means. Such apparatus may further comprise means for in said predetermined circumstances converting the vector data for a character directly to output dot pattern data. In particular embodiments, storage of the compressd dot pattern data and/or the corresponding output dot pattern is selected automatically, according to properties of the character dot pattern and the available storage capacity. Such selection may be based for example on an output speed and a storage means capacity corresponding to the character dot pattern, or may be based on the size of the character to be output. For example, it may be found that for small point sizes, storage of the output dot pattern requires less capacity than storage of the run length encoded dot pattern, where for larger characters, the compressed dot pattern data format occupies less space. The invention further provides methods of operating an output apparatus, so as to achieve the above advantages. The embodiments of the invention will now be described with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram for schematically explaining a construction of a printing apparatus in an embodiment according to the present invention; Fig. 2 is a flowchart for explaining the printing operation of the embodiment; and Fig. 3 is a flowchart for explaining the printing operation in another embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A preferred embodiment according to the invention will be described in detail hereinbelow with reference to the drawings. Fig. 1 is a block diagram for schematically explaining a construction of an output apparatus in an embodiment according to the invention. In Fig. 1, reference numeral 1 denotes a printing apparatus as an output apparatus in the embodiment. A construction of the printing apparatus 1 will be described. Reference numeral 2 indicates an interface to input print data (character code) and a print command from an external host computer 20 and 3 denotes a CPU to control the whole apparatus. The CPU 3 has therein an ROM 4 and an RAM 5. A control program, an error processing program, a program according to a flowchart shown in Fig. 2, which will be explained hereinlater, and the like are stored in the ROM 4. The RAM 5 has work areas for various programs and a temporary save area. Reference numeral 6 denotes a vector font data storage in which the vector font data corresponding to the print data is stored. Reference numeral 7 indicates a dot developer for detecting the vector font corresponding to the print data from the vector font data storage 6 and for developing a dot pattern on a dot unit basis in a memory 8, which will be explained hereinlater. Reference numeral 8 indicates the memory to store the font pattern which was pattern developed by an amount of one page. Reference numeral 9 indicates a dot character cache memory to temporarily store the font pattern which was pattern developed by the dot developer 7 in a dot matrix format. Reference numeral 10 indicates a run length character cache memory to temporarily store the font pattern which was pattern developed by the dot developer 7 in a run length encoding format. Since the run length encoding format itself is a well-known technique which has already been used in a facsimile apparatus and the like, its detailed description is omitted. However, even if a number of such technical literatures exist, the patentability of the present invention is not denied by them. Reference numeral 11 indicates a cache memory selector to select either one of the two cache memories as a memory into which the font pattern which was developed by the dot developer 7 is to be stored. It is sufficient that the foregoing run length character has been compressed as compared with the dot character, and the invention is not limited to it. It is also possible to use one data format in the step of converting the vector data into the dot data. Different areas in one memory unit may be also used in place of the two cache memories. A selecting method in the cache memory selector 11 will be described in detail in conjunction with the explanation of Fig. 2 later. Reference numeral 12 denotes an output device to form a character onto a paper as a permanent visible image on the basis of the dot data of the amount of one page which was developed in the memory 8, Reference numeral 13 indicates a system, bus for addresses, data, control signals, etc. in the apparatus. In the embodiment of claims, the means which is expressed as a memory denotes one means or one area in one memory unit. A printing method of the printing apparatus 1 in the embodiment will now be described. Fig. 2 shows a flowchart for explaining the printing operation of the embodiment. First, a control command to print is input from the host computer 20, thereby setting the apparatus into the printable mode. After completion of such a preparation, print data is input from the host computer 20 (step S1). In the embodiment, the print data is input on a line unit basis. The font corresponding to the input print data is searched in the dot character cache memory 9 (step S2). If the corresponding font pattern could be detected in the memory 9, it is stored into the memory 8 (steps S3 and S4). Then, step S13 follows. On the other hand, if the font pattern cannot be detected in step S3, the corresponding font is searched in the run length character cache memory 10 (step S5). If the corresponding font data could be detected from the memory 10, a pattern is developed on a dot unit basis in the memory 8 on the basis of the font data (steps S6 and S7). On the other hand, if the font data cannot be detected in step S6, the vector font data of the corresponding font is detected on the basis of the data in the vector font data storage 6 and a dot pattern is developed in the memory 8 on the basis of the vector font data (step S8). A check is then made to see if the font data which could not be detected in either the dot character cache memory 9 or the run length character cache memory 10 is to be stored into one of those cache memories or not. In the embodiment, although not shown, a switch to decide whether the writing of data is permitted or inhibited is provided for the two cache memories. When the switch is turned on, the data writing is enabled. When the swith is turned off, the data writing is disenabled. Therefore, if the data writing is disenabled in step S9, step S13 follows. On the contrary, if the data writing is enabled in step S9, the point size of the dot pattern font is first detected. If the point size is the 14 point size or larger, the font is stored into the run length character cache memory 10 in a run length encoding format (steps S10 and S11). On the other hand, if the point size is determined to be smaller than the 14 point size in step S10, the font is stored into the dot character cache memory 9 in the dot matrix format (step S12). The point size can be arbitrarily set. As mentioned above, after step S4, S9, S11, or S12, the processing routine advances to step S13 and a check is made to see if the data of one page has completely been developed in the memory 8 or not. In the discrimination of step S13, if the print data of the amount of one page is not input from the host computer 20 yet, the processing routine is returned to step S1 and the above-mentioned processes are repeated. On the other hand, if the completion of the development of the data of one page is confirmed in step S13, the dot data in the memory 8 is transmitted to the output device 12 and printed (step S14). If a print request is still generated from the host computer 20, the processing routine is returned to step S1 and the processes similar to those mentioned above are repeated (step S15). It will be understood from the above description that, according to the embodiment, if the number of dot points of the font which was developed in a dot pattern is less than a reference value, the font is stored as an ordinary dot pattern, and if the number of dot points is the reference value or more, the font is stored in a run length encoding format, so that the memory capacity of the character cache can be saved as a whole. In the above embodiment, the cache memory has been selected by checking as a reference whether the point size of the font is the 14 point size or more or smaller. Such a selecting method can be applied in the invention. That is, the dot character cache memory is selected for the font in which the printing speed can be improved if it is stored in the dot matrix format. On the other hand, the run length character cache memory is selected for the font in which the memory capacity can be saved if it is stored in the run length encoding system. In such a case, the selection of the character cache can be controlled by the attribute (point size, pitch, etc.) of the font and the printing process can be executed at a high speed. Those data are stored in the vector font data storage 6 or the like. (Another embodiment) Another embodiment will now be described. Fig. 3 shows a flowchart for explaining the printing operation of another embodiment. In another embodiment, since the operations in steps S1′ to S5′ are the same as those in the above embodiment, their descriptions are omitted. A construction of the apparatus in another embodiment is similar to that in the above embodiment and the same parts and elements as those in the first embodiment are designated by the same reference numerals. If the corresponding font data has been detected in the run length character cache memory 10 in step S6′, a pattern is developed on a dot unit basis in the memory on the basis of the font data (step S7′). On the other hand, if the font data cannot be detected in step S6′, a check is made to see if the font which could not be detected in either of the memories 9 and 10 is to be stored into either one of the cache memories or not (step S8′). In another embodiment as well, in a manner similar to the first embodiment, although not shown, a switch to determine whether the data writing is permitted or inhibited is provided for the two cache memories. When the switch is turned on, the data writing is enabled. When the switch is turned off, the data writing is disenabled. Therefore, if the data writing is disenabled in step S8′, step S9′ follows. On the basis of the data in the vector font data storage 6, the vector data of the corresponding font is detected. On the basis of the vector font data, a dot pattern is developed in the memory 8. Alternatively, if the data writing is enabled in step S8′, the point size of the font is checked. If it is the 14 point size or larger, the font is stored into the run length character cache memory 10 in the run length encoding format (steps S10′ and S11′). The run length data is expanded and a dot pattern is developed in the memory 8 (step S12′). On the other hand, if the point size is determined to be smaller than the 14 point size in step S10′, the font is stored into the dot character cache memory 9 in the dot matrix format (step S13′). Further, on the basis of the data in the vector font data storage 6, the vector data of the corresponding font is detected. On the basis of the vector font data, a dot pattern is developed in the memory 8 (step S14′). After step S7′, S9′, S12′, or S14′, the processing routine advances to step S15′ and a check is made to see if the data of the amount of one page has completely been developed in the memory 8 or not. If the print data of the amount of one page is not input from the host computer 20 yet in the discrimination of step S15′, the processing routine is returned to step S1′ corresponding to step S1 which has already been described in the first embodiment and the above-mentioned processes are repeated. On the other hand, if the completion of the development of the data of one page has been confirmed in step S15′, the dot data in the memory 8 is transmitted to the output device 12 and printed (step S16′). If a print request is also generated from the host computer 20, the processing routine is returned to step S1′ and th. processes similar to those mentioned above are repeated (step S17′). It will be understood from the above description that, according to another embodiment, the operation and effects similar to those in the first embodiment can be obtained. As described above, according to the invention, the memory capacity of the character cache to store, for instance, dot fonts can be saved. In addition, the printing process can be executed at a high speed by the selecting control of the character cache memories. As described in detail above, in an apparatus for converting vector data into dot data and out putting a dot pattern, an output apparatus for executing the caching in a data format other than the dot data format can be provided. As described in detail above, an output apparatus in which a plurality of kinds of data formats of character data to be cached can be provided. As described in detail above, it is possible to provide an output apparatus in which a check is made to see if character data to be output exists in a dot character data cache memory or not, and if it does not exist, a check is made to see if the character data to be output exists in a compressed character data cache memory or not. As described in detail above, it is possible to provide an output apparatus in which a check is made to see if character data to be output has been stored in either one of a plurality of cache memories or not, and if it is not stored in any of the cache memories, vector data is converted in a predetermined data format and can be selectively stored into the cache memories. As described in detail above, it is possible to provide an output apparatus having a plurality of kinds of cache memories, wherein vector data is converted in another data format and the cache memory into which the vector data is stored can be selected. As described in detail above, it is possible to provide an output apparatus in which when vector data corresponding to a pattern to be output is converted into another data format and cached, the data format to be converted can be selected in accordance with the size of the pattern to be output. As described in detail above, it is possible to provide an output apparatus in which when vector data corresponding to a pattern to be output is converted into another data format and cached, the data format to be converted can be selected on the basis of an output speed or a memory capacity.

Claims: A character output apparatus comprising: first converting means for converting vector data defining the shape of a character to be output into compressed dot pattern data defining a corresponding output dot pattern; second converting means for converting said compressed dot pattern data into the corresponding output dot pattern; output means for outputting the dot pattern generated by said second converting means; character pattern storage means for storing the compressed dot pattern data converted by said first converting means; and means adapted to read the stored pattern data from the storage means, in place of performing the conversion from vector data, in response to a request for subsequent output of the same said character. An apparatus according to claim 1, wherein said compressed dot pattern data comprises a run length encoded version of the corresponding output dot pattern. An apparatus according to claim 1 or 2, wherein the character pattern storage means is arranged under predetermined circumstances to store the output dot pattern for a character, such that the character can be output subsequently without operation of the first or second converting means. An apparatus according to claim 3, further comprising means for in said predetermined circumstances converting the vector data for a character directly to output dot pattern data. An apparatus according to claim 3 or 4, wherein automatic selection means are further provided for storing the compressed dot pattern data and/or the output character dot pattern according to properties of the character dot pattern and the available storage capacity. An apparatus according to claim 5, wherein said selection is based on an output speed and a storage means capacity corresponding to the character dot pattern. An apparatus according to claim 5, wherein said selection is based on the size of the character to be output. A method of operating a character output apparatus comprising the steps: converting vector data defining the shape of the character to be output into compressed dot pattern data defining a corresponding output dot pattern; converting said compressed dot pattern data into the corresponding output pattern; supplying the output dot pattern to an output means of the apparatus; storing the compressed dot pattern data converted from said vector data in a memory of the output apparatus; and in the event that the same character is to be output subsequently, reading the stored data from the storage means instead of performing the conversion from vector data. A method according to claim 8, wherein said compressed dot pattern data comprises a run length encoded version of the corresponding dot pattern. A method according to claim 8 or 9, further comprising the step of under predetermined circumstances storing the output dot pattern for a character such that the character can be output subsequently without conversion from vector data or compressed dot pattern data. A method according to claim 10, wherein in said predetermined circumstances the vector data for a character are converted directly to output dot pattern data for storage. A method according to claim 10 or 11, wherein storage of the compressed dot pattern data and/or the corresponding output dot pattern is selected automatically according to properties of the character dot pattern and the available storage capacity. A method according to claim 12, wherein said selection is based on an output speed and a storage capacity requirement corresponding to the character dot pattern. A method according to claim 12, wherein said selection is based on the size of the character to be output. An apparatus according to any one of claims 1 to 7, wherein said output means comprises a printer. A method according to any one of claims 8 to 14, wherein the output means comprises a printer.

Inventors: KUMADA SHUICHI, KUMADA, SHUICHI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1989
Main classification: G06K15
IPC codes: G06F3, G06K15, B41J2, G09G5