High-speed dot matrix output apparatus
This application is a continuation of application Ser. No. 08/224,191 filed Apr. 7, 1994, which is a continuation of application Ser. No. 07/908,889 filed Jul. 7, 1992 abandoned, which is a continuation of application Ser. No. 07/789,401 filed Oct. 3, 1991 abandoned, which is a continuation of application Ser. No. 07/724,478 filed Jun. 28, 1991 abandoned, which is a continuation of application Ser. No. 07/342,871 filed Apr. 25, 1989. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an output apparatus, and in particularly to an output apparatus for image output using the dot matrix method. 
     2. Related Background Art 
     In such apparatus, there have conventionally been employed a method of directly converting code data into dot matrix data, and a method of converting code data into non-dot matrix data such as vector data or run-length data and then converting such data into dot matrix data. 
     Though the former method can achieve a high-speed conversion, it requires a large memory capacity for storing the dot matrix data. On the other hand, the latter method can reduce the memory capacity but cannot achieve a high-speed conversion. Also, using these methods, it is not easy to increase the kinds of characters employed in printing. 
     SUMMARY OF THE INVENTION 
     In consideration of the foregoing, an object of the present invention is to provide an output apparatus of low cost capable of efficient output in dot matrix form. 
     According to one aspect of the present invention is provided an output apparatus having dot matrix conversion means for converting code data into dot matrix data; auxiliary detachable conversion means for converting code data into dot matrix data; non-dot matrix conversion means for converting code data into non-dot matrix data and then into dot matrix data; and conversion control means for referring to said auxiliary conversion means, said dot matrix conversion means and said non-dot matrix conversion means in this sequential order in the conversion of code data. 
     According to another aspect of the present invention is provided an output apparatus provided therein with a dot matrix data memory unit and a non-dot matrix data memory unit, and an auxiliary memory unit connectable to said apparatus, wherein a desired dot matrix pattern is formed utilizing said auxiliary memory unit, said dot matrix data memory unit and said non-dot matrix data memory unit in this order of preference. 
     According to another aspect of the present invention is provided an output apparatus having a dot matrix data memory unit, a non-dot matrix data memory unit and an auxiliary memory unit, wherein the pattern generation in response to input code is executed by referring to said auxiliary memory unit, said dot matrix data memory unit and said non-dot matrix data memory unit in this sequential order. 
     These and other objects, features and advantages of the present invention will be more fully appreciated from a consideration of the following detailed description of the preferred embodiments, taken in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a printing apparatus constituting an embodiment of the present invention; 
     FIG. 2 is a flow chart of a printing sequence of said embodiment; and 
     FIG. 3 is a flow chart of a sequence utilizing dot matrix data in another embodiment. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Now the present invention will be clarified in detail by reference to the preferred embodiments thereof, shown in the attached drawings. 
     FIG. 1 is a block diagram of a printing apparatus constituting an embodiment of the present invention, wherein are shown an external host computer 1 for releasing edited text data; a main body 2 of the printing apparatus; an auxiliary memory unit 3 detachable from the main body 2 and serving to store dot matrix data corresponding to character data; a data receiver unit 4 for receiving the text data (code data) from the host computer 1 and storing said data in an unrepresented buffer; and a data analyzer 5 for analyzing whether the received code data are character data or other control data. A character pattern generator 6 generates dot matrix pattern data corresponding to character data, either by direct generation of dot matrix pattern data by referring the text data to a dot matrix character memory unit 10 or the auxiliary memory unit 3, or by indirect conversion of said code data into vector data or run-length data by referring said code data to the non-dot matrix character memory unit 11 followed by a conversion into dot matrix pattern data by calculation. An instruction execution unit 7 executes control, for example in response to a line feed code, for an output buffer 8 and a printer unit 9. The output buffer 8 stores a group of font data developed into a pattern, in the form of a bit map. The printer unit prints the contents of the output buffer 8. 
     A dot matrix character memory unit 10, consisting of a ROM or a RAM, stores dot matrix data corresponding to character data. A non-dot matrix character memory unit 11 stores vector data or run-length data corresponding to the character data. An auxiliary memory interface 12 serves to read the dot matrix data corresponding to the character data, from the mounted auxiliary memory 3. 
     FIG. 2 is a flow chart of the printing sequence of the present embodiment. In this sequence, a step S13 receives the text data from the host computer. A step S14 discriminates whether the text data have been completed (end of file), and, if completed, the sequence is terminated. If not complete, the sequence proceeds to a step S15 for discriminating whether said data are character data. If so, the sequence proceeds to a step S16 for discriminating whether the auxiliary memory 3 is mounted, for example by a signal from a connecting pin. If it is mounted, a step S18 analyzes said character data. If there are corresponding dot matrix data, a step S20 develops the dot matrix data obtained from the auxiliary memory 3 in the output buffer 8. On the other hand, if the step S18 identifies the absence of the corresponding dot matrix data, the sequence proceeds to a step S19 for referring said character data to the internal dot matrix character memory 10. In the presence of the corresponding dot matrix data, the sequence proceeds to the step S20 for developing the dot matrix data, obtained from the dot matrix character memory 10, in the output buffer 8. In the absence of said corresponding dot matrix data, the sequence proceeds to a step S21 for referring said character data to the non-dot matrix character memory 11, then reads the corresponding vector or run-length data, converts said data into dot matrix data by calculation, and develops said dot matrix data in the output buffer 8. A step S22 discriminates whether a printing operation is requested, and if requested, the printing operation is executed in a step S23. Otherwise the sequence returns to the step S13 for awaiting next data reception. Also, if the step S15 does not identify character data, the sequence proceeds to a step S17 for executing the content of the instruction code. 
     The above-explained control sequence enables high-speed printing in general, since the priority is given to the direct dot matrix conversion. 
     Also the number of characters can be increased as the dot matrix data can be supplied from the auxiliary memory, and the ROM or RAM in the main body can still be of a limited capacity. 
     Also, as the code data are referred to the auxiliary conversion means, dot matrix conversion means and non-dot matrix conversion means in this order, a major part of the accesses is made to the auxiliary conversion means so that high-speed printing can be achieved even if the ROM or RAM in the main body is of a limited capacity. It is also possible to constitute the auxiliary memory 3 with an internal RAM and to enable loading of a desired font from the outside. Such font is temporarily stored, separately from the internal fonts. Also, it is possible to alter the order of the steps S16, S19 and S21 according to an instruction from manual host computer or from the keys. 
     Another Embodiment 
     In another embodiment, the dot matrix character memory 10 is composed of a high-speed cache memory (not shown). If the same dot matrix data are present both in the auxiliary memory 3 and the cache memory (i.e., there is an overlap of data between those memories), said data are deleted from the cache memory and the evacuated area is used for registering other necessary dot matrix data (preferably those formed by the non-dot matrix character memory 11). 
     FIG. 3 is a flow chart of a control sequence for utilizing the dot matrix data in said other embodiment. A step S24 discriminates whether the auxiliary memory 3 is mounted on the main body 2, and, if not, the sequence proceeds to a step S28. If it is mounted, the sequence proceeds to a step S25 for discriminating the presence of overlapping dot matrix data in the auxiliary memory 3 and the cache memory in the dot matrix character memory 10. The overlapping can be easily identified for example by a type code (font set code) attached to the auxiliary memory 3. In the absence of overlapping the sequence proceeds to a step S28. In the presence of overlapping, the sequence proceeds to a step S26 for discriminating whether the overlapping dot matrix data can be deleted from the cache memory. Said discrimination can be made by a deletion-inhibiting signal attached in advance by the user to a desired type code in the cache memory. If said data are deletable, a step S27 deletes said dot matrix data from the cache memory. A step S28 then secures the empty area in the cache memory, and, upon said securing, a step S29 generates the dot matrix data of necessary character codes by means of the non-dot matrix character memory 11, and registers said data in the cache memory. 
     In the above-explained sequence, many characters can be stored in the form of dot matrix data available for high-speed processing. 
     Also the size of the cache memory can be reduced by storing the dot matrix data for the cache memory in advance in the auxiliary memory 3. It is possible to use only one auxiliary memory 3 or several interchangeable auxiliary memories. 
     As explained in the foregoing, the present invention enables high-speed processing, since priority is given to data generation from the dot matrix character memory. Also, the memory capacity of the entire apparatus can be reduced as the conversion from the non-dot matrix is employed in combination. 
     Furthermore, since the auxiliary memory is interchangeable, it is possible to reduce the memory capacity in the main body, and to provide characters of many variations. 
     In the foregoing description the auxiliary memory 3 is externally connectable to the main body of the apparatus, but it is also possible to constitute said auxiliary memory 3 with an internal RAM and to supply necessary fonts from the outside. 
     The foregoing description is based on an assumption that the properties of data such as style or size are equivalent to the different memories. 
     In this manner the present invention enables one to obtain an output apparatus provided therein with a dot matrix data memory, a non-dot matrix data memory and an auxiliary memory, in which the pattern generation in response to input codes is conducted by reference to said auxiliary memory, said dot matrix data memory and said non-dot matrix data memory in this sequential order. 
     Also the present invention enables one to obtain an output apparatus capable, in case a pattern exists in overlapping manner in a cache memory defined in a dot font memory and in an auxiliary dot font memory, both provided in the apparatus, of deleting such overlapping pattern in said cache memory.