Method and apparatus for generating character pattern

Abstract: An apparatus for generating a character pattern includes a first memory for storing reference character font data as a coordinate point array, a second memory for storing parameter data in correspondence with at least character size data, and a generator for generating size data of a target character on the basis of the parameter data. Font data corresponding to an input character code is read out from the first memory and is developed into pattern data of a size corresponding to character size data converted by the generator. A method of generating a character pattern for the above apparatus is also disclosed.

Description: The present invention relates to a method and apparatus for generating a character pattern, wherein reference character data are defined as a coordinate point array on a stroke or edge, and these coordinate points are developed into character pattern data corresponding to a designated character size, and the developed character pattern data is output. Related Background Art In a conventional character pattern generator for receiving a character code and generating a character pattern corresponding to the input character code, character pattern data for each size is stored in a bit map font format, and dot pattern data corresponding to an input character code is read out and is used to display and print out data. When font data is stored in such a dot pattern format, character patterns for all sizes of each character pattern must be stored, and the capacity of a font memory is greatly increased. A printer, a display unit, and the like capable of generating character patterns having various sizes is available in which font data representing a so-called vector or outline font capable of generating character patterns having free sizes ranging from a large size to a small size for each alphabetic character can be stored. The most important advantage of the so-called vector, outline or scalable font is that characters having free sizes ranging from a small size to a large size can be generated for each alphabetic character, as described above. However, when a character pattern having a small size is to be generated, this character pattern is deformed, and readability of the character is degraded. This is mainly because the area for displaying and outputting the character is small, and line segments constituting the character contact each other. This phenomenon typically occurs in multi-stroke kanji characters such as No countermeasures are taken for this "deformation" phenomenon in conventional printers and display units. Even in a most advanced conventional device, font data designed to prevent this "deformation" phenomenon is prepared in advance. When pattern data for a given character expected to cause this "deformation" phenomenon is to be generated, the prepared font data is used to develop the corresponding character into a pattern. This arrangement, however, requires a memory for storing special font data. It is not economical to prepare these font data for all characters for small character patterns which may cause the "deformation" phenomenon. The most important factor in the fields of printing is readability, i.e., an easy-to-read printed document. For example, when characters are arranged to compose a sentence by using characters each of which has the face of a character designed to fully extend within a character frame and which has a predetermined relationship between the character size and the character face size, no problem is posed by a relatively large character size of 16 points or more. However, when the character size is decreased, adjacent characters adversely affect each other and become contiguous with each other, thereby greatly degrading readability of the character arrangement. On the contrary, when a character is used which has a face designed in advance to be smaller than a body frame, the "deformation" phenomenon for the character arrangement using a smaller point can be prevented. However, a character arrangement having a large character size looks sparse, thus degrading readability. In a character pattern generator using the outline or vector font described above, since the relationship between the character size and the character face size is predetermined regardless of different output sizes, a character having a small size is difficult to read. Document FR-A-2 638 264 discloses an apparatus an a method for avoiding deformations of a character font. The font is stored in the coordinate point format and the character fonts are adjusted in accordance with the desired size. In a first aspect, the present invention provides an apparatus for generating a character pattern, comprising: first memory means for storing a reference character font data as a coordinate point array; second memory means for storing parameter data in correspondence with at least character size data; and means for generating size data for a target character, the size data being adjusted on the basis of the parameter data to be different from a desired size, wherein font data corresponding to an input character code is read out from said first memory means and is developed into pattern data of a size corresponding to character size data converted by said generating means. In a second aspect, the present invention provides an apparatus for generating a character pattern, comprising: first memory means for storing reference character font data as a coordinate point array; second memory means for storing density data in correspondence with at least character size data or character type data; pattern developing means for reading out font data corresponding to an input character code and for developing the readout font data into pattern data of a designated character size; and means for adjusting, on the basis of the density data, a line segment width of a character pattern-developed by said pattern developing means. In a third aspect, the present invention provides a method of generating a character pattern using a first memory means which stores reference character font data as a coordinate point array and a second memory means which stores parameter data corresponding to character size data or character type data; the method comprising the steps of: reading out target font data in a desired size and generating a pattern having a size different from the desired size adjusted on the basis of the parameter data. In a fourth aspect, the present invention provides a method of generating a character pattern using a first memory means which stores reference character font data as a coordinate point array and a second memory means which stores density data in correspondence with character size data or character type data, the method comprising the steps of: reading out target font data in a desired size; and generating a pattern having a line segment width adjusted on the basis of the density data. An embodiment of the invention provides a method and apparatus for generating a character pattern, wherein when character patterns having various sizes are to be output, parameter data are multiplied with size data to output character patterns having optimal sizes for character arrangements. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing a schematic arrangement of a character pattern generator according to a first embodiment of the present invention; Fig. 2 is a flow chart showing character pattern generation processing in the character pattern generator according to the first embodiment; Fig. 3 is a block diagram showing a schematic arrangement of a character pattern generator according to a second embodiment of the present invention; Fig. 4 is a flow chart showing character pattern generation processing in the character pattern generator according to the second embodiment; and Fig. 5 is a sectional view showing an internal structure of a laser beam printer as an output unit. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the present invention can be realized by an apparatus or a system consisting of a plurality of apparatuses and also incorporates its realization by supplying a program to an apparatus or system. [Description of Character Pattern Generator (Fig. 1)] Fig. 1 is a block diagram showing a schematic arrangement of a character pattern generator according to the first embodiment. Referring to Fig. 1, an input means 11 receives a character code signal, a pattern generation instruction, and the like for an output target from an external device (not shown). The input means 11 includes signal hold circuits such as a buffer and a flip-flop. A processor 12 is connected to the input means 11. The processor 12 generates a character pattern of a designated size and a designated font in accordance with a character code signal and a pattern generation instruction input from the input means 11. The processor 12 comprises a central processing unit (CPU) 120, a ROM 121 for storing control programs of the CPU 120 and various data, a RAM 122 used as a work area of the CPU 120, and the like. A pattern data memory 13 prestores character pattern and character attribute data constituted by character edges as a set of coordinate points at memory addresses corresponding to character codes. The pattern data memory 13 comprises a disk or a nonvolatile memory (e.g., a read-only memory). The processor 12 is connected to an output means 14. The output means 14 displays and outputs a character pattern processed by the processor 12. The output means 14 includes a signal hold circuit, a parallel/serial signal converter, and a printing unit/display unit such as a printer or display. The operations of the input means 11, the pattern data memory 13, and the output means 14 are controlled by the processor 12. [Description of Operation (Figs. 1 & 2)] An operation of the character pattern generator shown in Fig. 1 will be described with reference to a flow chart in Fig. 2. The control sequence in Fig. 2 is stored in the ROM 121 in the processor 12 and is executed by the CPU 120. This processing sequence is started when a character code signal, a pattern generation instruction, or the like is input from the input means 11. In step S1, a character code input from the input means 11 is read. In step S2, designated character size data is input and is converted into character face in the RAM 122 in correspondence with each character size value. For example, assume that a designated character size is given as 10 points. If the parameter value 122a corresponding to this character size is 0.98, an actual character face size is calculated as 9.8 (= 10 x 0.98) points. This parameter value 122a is assigned corresponding to each character size (e.g., 10, 11, and 12 points). The input character size is multiplied with the corresponding parameter value, so that this character pattern can be displayed and output in a character pattern format having a size slightly smaller than the designated character size. At this time, a character feed amount of characters displayed and output at the output means 14 is kept unchanged. Therefore, even if the character size is reduced, an easy-to-read document can be printed or displayed. The flow advances to step S3. The font data read out from the pattern data memory 13 is developed into a pattern on the basis of the character face size data obtained in step S2. The flow then advances to step S4. The pattern-developed character pattern data is output from the processor 12 to the output means 14, and the processing is ended. Note that an output destination of the pattern data is any target such as a printing system (e.g., a ) or any target capable of transmitting data electrically, magnetically or in a format converted from the electrical or magnetic system (e.g., a CRT and a telephone line). According to the first embodiment, as described above, designated character size data is replaced with any character face size data by using a parameter to generate a character pattern. Therefore, even if a character pattern has a free size, it can have high readability and can be output. [Description of Second Embodiment (Figs. 3 & 4)] Fig. 3 is a block diagram showing a schematic arrangement of a character pattern generator according to the second embodiment. The same reference numerals as in the character pattern generator of Fig. 1 denote the same parts in Fig. 3, and a detailed description thereof will be omitted. Referring to Fig. 3, a density adjustment data memory 15 prestores data representing whether density adjustment is performed at the time of generation of a character pattern in correspondence with data representing a type of character and a character size. This density adjustment is particularly processing for changing a line width of a pattern whose character size is converted. In particular, when a character pattern having a small size is to be generated, the line width of the character is decreased to prevent the character "deformation" phenomenon which is caused by contact between adjacent line segments constituting a character or characters. Fig. 4 is a flow chart showing character pattern generation processing in the character pattern generator of the second embodiment. A control program for executing this processing is stored in a ROM 121a in a processor 12a. In step S11, a character code, a character pattern generation instruction, or the like is input from an input means 11, and density adjustment data of a character corresponding to the input pattern or instruction is read out from the density adjustment data memory 15 on the basis of the type of character or the character size data in step S12. The flow advances to step S13 to determine on the basis of the density adjustment data whether density adjustment must be performed. If YES in step S13, the flow advances to step S14. Pattern data of the corresponding character is generated in accordance with the font data corresponding to the character code and read out from a pattern data memory 13. At this time, processing such as thinning of line segments of this character pattern is performed. However, if NO in step S13, the flow advances to step S15 to develop this character code into pattern data as in normal pattern development. When the character pattern data corresponding to the character code input in step S11 is generated in step S14 or S15, the flow advances to step S16, and this pattern data is supplied to an output means 14, thereby printing it on recording paper or displaying it on a display. According to the second embodiment, as described above, even if a character having a small size is to be generated, the character pattern is not subjected to the character "deformation" phenomenon. Therefore, a character having high readability can be displayed and output. [Description of Laser Beam Printer (Fig. 5)] An arrangement of a laser beam printer 140 applicable to the output means 14 of this embodiment will be described with reference to Fig. 5. The present invention is not limited to the laser beam printer 140, but may be applied to a bubble-jet printer, an aerojet printer for injecting an ink by utilizing an air flow, a thermal printer, and the like, as a matter of course. Fig. 5 is a sectional view showing an internal structure of the laser beam printer 140 (to be referred to as an LBP hereinafter) of this embodIment. The LBP 140 can receive character pattern data from the processor 12 (or 12a) and can print it on printing paper. Referring to Fig. 5, the LBP 140 forms an image on recording paper serving as a recording medium on the basis of a character pattern supplied from the processor (e.g., 12 in Fig. 1). The LBP 140 has an operation panel 300 having switches and an LED display, and a printer control unit 101 for performing overall control of the LBP 140 and analyzing character pattern data or the like supplied from the processor 12. This printer control unit 101 mainly converts character pattern data into a video signal and outputs it to a laser driver 102. The laser driver 102 is a circuit for driving a semiconductor laser 103 and ON/OFF-controls a laser beam 104 emitted from the semiconductor laser 103 in accordance with an input video signal. The laser beam 104 is oscillated in the right-and-left direction by a rotary polygonal mirror 105 and scans an electrostatic drum 106, thereby forming an electrostatic latent image of a character pattern on the electrostatic drum 106. Note that the pulse width of a beam is variably controlled to divide one pixel into 256 to obtain a multigradation expression. After the latent image is developed by a developing unit 107 arranged around the electrostatic drum 106, the visible image is transferred to recording paper. This recording paper is a cut sheet. The cut sheets are stored in a paper cassette 108 attached to the LBP 140. Each cut sheet is picked up and conveyed by a paper pickup roller 109 and convey rollers 110 and 111 and is supplied to the electrostatic drum 106. In each of the above embodiments, so-called outline font data, i.e., edge character data as a set of coordinate points are stored in the pattern data memory 13. However, the pattern data memory 13 need not store the outline data as font data. Non-dot matrix font data of a stroke format may be stored in the pattern data memory 13, as a matter of course. Conversion parameter values from character size data to the character face size data may be different depending on target character fonts or types. According to the present invention, as has been described above, designated character size data is converted in accordance with parameter data to generate a character pattern corresponding to any character face size data. For this reason, a document having high readability can be output regardless of the character size. According to another aspect of the present invention, a highly readable character can be output without causing the character "deformation" phenomenon even in a character pattern having a small size.

Claims: An apparatus for generating a character pattern, comprising: first memory means (13) for storing a reference character font data as a coordinate point array; second memory means (122a) for storing parameter data in correspondence with at least character size data; and means (12) for generating size data for a target character, the size data being adjusted on the basis of the parameter data to be different from a desired size, wherein font data corresponding to an input character code is read out from said first memory means and is developed into pattern data of a size corresponding to character size data converted by said generating means. An apparatus according to claim 1, wherein the character size data generated by said generating means is smaller than the desired size. An apparatus for generating a character pattern, comprising: first memory means (13) for storing reference character font data as a coordinate point array; second memory means (15) for storing density data in correspondence with at least character size data or character type data; pattern developing means (12) for reading out font data corresponding to an input character code and for developing the readout font data into pattern data of a designated character size; and means for adjusting, on the basis of the density data, a line segment width of a character pattern-developed by said pattern developing means. An apparatus according to claim 3, wherein said adjusting means performs adjustment on the basis of the size. An apparatus according to claim 1, 2, 3 or 4, further comprising means (14) for outputting the developed pattern data. An apparatus according to claim 5, wherein the output means (14) comprises a printer. An apparatus according to claim 5 or 6, wherein the output means (14) comprises a display device. A method of generating a character pattern using a first memory means (13) which stores reference character font data as a coordinate point array and a second memory means (122a) which stores parameter data corresponding to character size data or character type data; the method comprising the steps of: reading out target font data in a desired size and generating a pattern having a size different from the desired size adjusted on the basis of the parameter data. A method according to claim 8, wherein the pattern having the size different from the desired size has a size smaller than the desired size. A method of generating a character pattern using a first memory means (13) which stores reference character font data as a coordinate point array and a second memory means (15) which stores density data in correspondence with character size data or character type data, the method comprising the steps of: reading out target font data in a desired size; and generating a pattern having a line segment width adjusted on the basis of the density data. A method according to claim 10, which comprises generating the pattern so the line segment width is adjusted on the basis of the size. A method according to claim 8, 9, 10 or 11, further comprising the step of outputting the generated pattern. A method according to claim 12, which comprises outputting the generated pattern using a printer. A method according to claim 12, which comprises outputting the generated pattern using a display device.

Inventors: WATANABE KIYOSHI, WATANABE, KIYOSHI, WATANABE, KIYOSHI, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1991
Main classification: G06K15
IPC codes: G06T11, G09G5, G06K15