METHOD OF GENERATING DOT SIGNAL CORRESPONDING TO CHARACTER PATTERN AND DEVICE THEREFOR

Abstract: A device for generating dot signals corresponding to a character pattern described only with straight lines from the outline information about the character pattern. The device has a unit (6) for determining the endpoints of the straight lines constituting the outline on the basis of the outline information. Receiving the information about the endpoints determined by the unit (6), a DDA calculating part (7) selects an endpoint from among the ones received and generates successively pieces of information each indicating a pair of points used for constituting two straight lines which extend from the selected endpoint toward the two points adjacent to the selected endpoint respectively. The information about the pairs of points is inputted into a straight line generating part (8). Here, straight lines comprising dot signals between paired points are generated. These dot signals correspond to the character pattern. In this way, dot signals corresponding to a character pattern described only with straight lines are obtained directly from the outline information.

Description: TECHNICAL FIELD The present invention relates to a method and a system for generating dot patterns- on the basis of so-called outline font data for determining character pattern outlines. BACKGROUND ART With advance of higher reliability of print output in word processors, for instance, the number of dots which constitute a character pattern has been increased rapidly. Therefore, there arises a problem in that the capacity of a character generator memory for storing characters as dot pattern data increases more and more. A high quality character generating device has been proposed (JP-A-1 191 192) to which an outline font may be converted into a dot pattern such that the burden of software is reduced and the result can be displayed at high speed. Further, a so-called outline font method has been proposed such that the outline of a character pattern is divided into a plurality of areas j0, j1, j2, ... as shown in Fig. 1, for instance; the start and end point coordinates of these areas j0, j1, j2 ... are previously stored as data; and the divided outlines are interpolated on the basis of dot signals before outputted. In this method, since not only high reliable characters of many dots can be outputted in spite of a relatively small amount of data to be stored, but also the character sizes can be expanded and contracted by coordinate calculation, there exists an advantage of coping with characters of various sizes. However, since the outline information as described above can be obtained by approximating a curve J for forming a character outline as shown in Fig. 2A on the basis of straight lines K, K and a circular arc L as shown in Fig. 2B, when the curve is required to be approximated precisely in particular, there exists a problem in that a great number of circular arcs of different radii must be stored so that the memory capacity inevitably increases. To overcome the above-mentioned problem, there has been proposed another method of approximating the character outline by use of Conic-spline or Bezier function which can determine a curve on the basis of three points of start and end points A and B of a curve representing an outline and a control point C indicative of an intersection of two tangent lines described at these points A and B as shown in Fig. 2C. When the Conic-spline or Bezier function is adopted, it is possible to approximate the character outline by a smooth curve in spite of a relatively small memory capacity. In the prior-art character pattern signal generating systems, however, dot signals corresponding to a character pattern are generated through complicated processing such as conversion into outline information described by only straight lines, conversion into outline data composed of dot signals on dot coordinates, etc. Therefore, there exists a problem in that a great amount of memory capacity is required, because the outline information composed of dot signals must be temporarily stored in some memory medium in the process of forming the outline information composed of dot signals on the basis of outline data described by an approximate function and the process of forming dot signals corresponding to the character pattern on the basis of the outline information composed of dot signals. DISCLOSURE OF THE INVENTION The problem of the present invention is to reduce the memory capacity required to store the outline information composed of dot signals by directly forming dot signals corresponding to the character pattern on the basis of outline information described by only straight lines. This problem is accomplished by claim 1. In the method according to the present invention, one end point of the outline information described by only straight lines is noticed; two straight lines composed of dot signals are extended toward two end points adjacent to the afore-mentioned noticeable end point. In this extension process, a pair of points are generated sequentially at the extreme points of the two straight lines to extend these straight lines, respectively. Whenever a pair of the points are generated, a straight line composed of dot signals is generated between a pair of the points. The above-mentioned processing is repeated until the straight line extending between a pair of the points reaches the two adjacent end points. As described above, dot signals corresponding to a character pattern can be formed directly on the basis of the outline information described by only straight lines. Therefore, since it is unnecessary to temporarily store the outline information composed of dot signals, the memory capacity can be reduced markedly. BRIEF DESCRIPTION OF THE DRAWINGS Figs. 1, 2A, 2B and 2C are illustrations for assistance in explaining prior-art method of forming character outline information; Figs. 3, 4, 5 and 6 are illustrations for assistance in explaining the dot signal generating method according to the present invention; Fig. 7 is a block diagram showing an embodiment of the dot signal generating system according to the present invention; and Figs. 8 and 9 are flowcharts for assistance in explaining the operation of the embodiment shown in Fig. 7. THE BEST MODE OF EMBODYING THE INVENTION With reference to Figs. 3 to 6, an embodiment of the character pattern generating method according to the present invention will be described hereinbelow. Fig. 3 shows a processing of extending a straight line from an end point p0 toward an end point p1 on dot coordinates. Assuming that the straight line has been extended to a point pn (coordinates: pxn, pyn), a point p(n+l) (coordinates: p(n+1)x, p(n+1)y) to be generated next can be obtained by the following formulae: When the horizontal and vertical distance components between the two end points p0 and p1 are denoted as Δx, Δy, respectively, if 0 ≦ Δx ≦ Δy, e(n+1) = en + Δx Δy px(n+1) = pxn - 1 if e(n+1) - 0.5 ≧ 0, py(n+1) = pyn - 1, en = en - 1 if e(n+1) - 0.5 < 0 py(n+1) = pyn This method is an interpolation method known as DDA (Digital Differential Analyser). In the present invention, dot signals corresponding to a character pattern can be generated by utilizing the DDA method as follows: Process A: In Fig. 4, any given end point p0 on the outline information described by only straight lines is noticed. Process B: Two straight lines are simultaneously extended from this noticeable end point p0 toward two end points p1 and p2, respectively by simultaneously executing the ADD method between the noticeable end point p0 on the outline information described by only straight lines and two end points p1 and p2 adjacent to this noticeable end point p0. Process C: The assumption is made that a pair of points p1n and p2n interpolated at the n-th time beginning from the end point p0, for instance during the execution of this DDA method are obtained simultaneously. At this time, a point string q1, q2, q3, q4, ... which constitute a straight line between the two interpolated points p1n and p2n can be obtained by executing the DDA method between a pair of the interpolated points. This point string represents dot signals corresponding to a character pattern. By repeating the above processes B and C, dot signals within a triangular area determined by three end points p0, p1 and p2 can be obtained. Process D: As shown in Fig. 5, when the execution reaches either one of the end points p1 and p2 in the above process B, a subsequent point p0′ generated on the side where the execution does not yet reach the end is determined as the subsequent noticeable end point p0 on the outline information described by only straight lines. By repeating the above processes A, B, C and D, all the outline information described by only straight lines can be converted into dot signals corresponding to a character pattern. Further, when the character pattern is being formed on the basis of the outline information in the above process, a problem may arise when the outline information is recessed in the form as shown in Fig. 6. In other words, there exists a possibility that dot signals are erroneously generated in an area D outside the recessed outline. To overcome this problem, the newly formed dot signals and already formed character pattern are NANDed in the dot signal generating process. That is, the dot signals within the area D which are erroneously generated by the processing on the basis of the noticeable end point p0 in Fig. 6 and the dot signals generated by the succeeding processing on the basis of the noticeable end point p3 are NANDed to cancel the dot signals within the area D. An embodiment of the system for embodying the method according to the present invention is shown in Fig. 7. An outline information storing section 1 previously stores the outline information described by only straight lines or by approximated curves determined by the Conic-spline function or Bezier function, etc. A data separating section 2 separates signals transmitted from a host apparatus (not shown) into a character code signal and an attribute signal representative of a character size, respectively. The character code signal is outputted to a reading section 3, and the attribute signal is outputted to a coordinate calculating section 4. The reading reaction 3 reads the outline information of characters corresponding to the received character code signal from the storing section 1, and transmits the read outline information to the coordinate calculating section 4. The outline information read from the storing section 1 is referred to as the original outline information, hereinafter. The coordinate calculating section 4 converts the size of the original outline information read from the storing section 1 into a character size designated by the host apparatus on the coordinates, and transmits the converted size to an outline converting section 5. The outline converting section 5 reproduces Conic-spline curves or Bezier curves on the basis of start point coordinates, end point coordinates, and control point coordinates included in the original outline information when the inputted original outline information is described by approximation curves based upon the Conic-spline function or Bezier function; approximates these curves by straight lines, and outputs character outline information described by only straight lines to an end point deciding section 6. The end point deciding section 6 decides end points of the respective straight lines constituting outlines on the basis of the outline information described by only straight lines, and transmits coordinate information at the respective end point to a DDA calculating section 7 and a complete discriminating section 11. The DDA calculating section 7 notices one of end points inputted thereto, extends two straight lines from the noticeable end point toward two adjacent end points, and forms a pair of interpolated points at the extreme ends of the two straight lines, respectively in accordance with the DDA method, as already explained with reference to Figs. 3 and 4. The coordinate information of a pair of the formed interpolated points are given to a straight line generating section 8 and the complete discriminating section 11. The straight line generating section 8 forms a straight line composed of dot signals between a pair of interpolated points inputted in accordance with the DDA method, as already described with reference to Fig. 4. The dot signals of this formed straight line are inputted to a NAND gate 9, and NANDed together with the already formed dot signals read from a buffer 10 at the corresponding coordinates. The ANDed results of these dot signals are written in the buffer 10. Further, since the buffer 10 is originally blanked, although a straight line formed by the straight line generating section 8 is written as it is in the buffer 10, when a straight line is generated erroneously at the recessed portion, this straight line is blanked through the NAND processing as already described with reference to Fig. 6. Whenever a straight line has been generated between a pair of interpolated points, the straight line generating section 8 transmits straight line complete information to the complete discriminating section 11. The complete discriminating section 11 discriminates whether the straight line formed by the DDA calculating section 7 reaches either one of end points adjacent to the noticeable end point on the basis of the coordinate information at the interpolated points inputted from the DDA calculating section 7, and transmits end point change information to the DDA calculating section 7 when having recognized its arrival to one end point. In response to the end point change information, the DDA calculating section 7 changes a noticeable end point and extends two straight lines from a newly noticed end point toward the adjacent end points as already described with reference to Fig. 5. The complete discriminating section 11 further discriminates whether the formation of all the straight lines constituting character outlines have been completed by the DDA calculating section 7, and transmits a complete signal to a buffer data output section 12, at the timing when the completion has been recognized and the final straight line between two interpolated points (generated at the completion time point) has been formed by the straight line generating section 8. In response to the complete signal, the buffer data output section 12 reads the dot pattern from the buffer 10 and transmits it to a printing mechanism not shown. The operation of the system thus constructed will be described with reference to a flowchart shown in Fig. 8. As the preparation stage, each of all the necessary characters is divided into a plurality of areas suitable for approximating the outlines of each character pattern into straight lines, the Conic-spline function or Bezier function, and further the respective start, end and control points are determined for each area. The original outline information of each character thus obtained is previously stored in the outline data storing section 1 with character codes as addresses. Under the conditions that the above-mentioned preparation stage has been completed, if a character signal is inputted from a host apparatus (not shown) (in step 20), the character signal is separated into the character code signal and the attribute signal by the data separating section 2. The separated character code signal has access to the outline data storing section 1 via the reading section 3, and the separated attribute signal is inputted to the coordinate calculating section 4 to set the character size (in step 21). At the stage where the ready to read has been completed, the reading section 3 reads the original outline information corresponding to each character for each area where the outline is formed (in step 22). The coordinate calculating section 4 converts the coordinates of start, end and control points which constitute the original outline information read from the reading section 3 into coordinates corresponding to the magnitude of the character size designated by the attribute signal (in step 23), and outputs the converted coordinates to the outline converting section 5. The outline converting section 5 calculates the Conic-spline function or Bezier function corresponding to the inputted coordinates, approximates and divides the functions into straight lines, and outputs the straight lines to the end point deciding section 6 (in step 24). As described above, after the outline information by which the whole of one character is described by only straight lines has been formed (in step 25), the end point deciding section 6 and other sections 7 and after convert the outline information into dot pattern signals (in step 26). The detailed procedure of the step 26 is shown in Fig. 9. The end point deciding section 6 decides end points of the respective straight lines which constitute the character outlines, and the DDA calculating section 7 takes any given end point p0 and a pair of two end points p1 and p2 adjacent to the end point p0 (in step 30) and extends two straight lines from the noticeable end point p0 toward the two end points p1 and p2 (in step 32). At the same time as the straight line extension execution, the straight line generating section 8 generates a straight line composed of dots between two interpolated points p1n and p2n at the extreme ends of the two extension lines and further executes NAND calculation of these straight lines (in step 32). The discriminating section 11 discriminates whether the extreme ends p1n and p2n of the extension lines reach the end points p1 and p2. If either of the extreme ends p1n and p2n of the straight lines reaches the end point p1 or p2 (in step 33 or 35), an extreme end point of a straight line which does not reach the end point is determined as the subsequent noticeable end point p0 (in step 34 or 36). The above procedure is executed for all the outline information to generate dot signals corresponding to the character pattern (in step 37). As described above, it is possible to directly obtain dot signals indicative of the character pattern on the basis of outline information described by only straight lines.

Claims: A method of generating dot signals corresponding to a character pattern arranged on a grid on the basis of outline information described by only straight lines constituting outlines of the character pattern, comprising the steps of: a first step of deciding end points of the straight lines constituting the character pattern outlines; a second step of selecting one end point and two end points adjacent to the selected end point from the decided end points, and continuously generating a pair of points constituting two straight lines, respectively in such a way that the two straight lines can be extended from the selected end point toward the two adjacent end points; and a third step of generating a straight line along a row or column, respectively, of said grid composed of dot signals between a pair of the generated points, respectively so that the generated dot signals correspond to the character pattern. The method of claim 1, wherein in the second step, the two straight lines are extended until either one of the two straight lines extended from the selected end point reaches one of the adjacent end points; when either one of the two straight lines reaches the corresponding adjacent end point, a subsequent selected end point and two end points adjacent to the subsequent end point are newly selected in such a way that the subsequent end point is selected from the two straight line arrival points and end points not yet selected as an end point in the already decided end points; and new two straight lines are extended from the newly selected end point to two end points adjacent thereto. The method of claim 2, which further comprises a fourth step of NANDing the dot signals newly generated in the third step and the dot signals previously generated so that the NANDed output signals correspond to the character pattern. A system of generating dot signals corresponding to a character pattern arranged in a grid on the basis of outline information described by only straight lines constituting outlines of the character pattern, comprising: first means for deciding end points of the straight lines constituting the character pattern outlines; second means for selecting one end point and two end joints adjacent to the selected end point from the decided end points, and continuously generating information indicative of a pair of points constituting two straight lines, respectively in such a way that two straight lines can be extended from the selected end point toward the two adjacent end points; third means responsive to the information indicative of a pair of the points from said second means, for generating a straight line along a row or column, respectively, of said grid composed of dot signals between a pair of the respective generated points so that the dot signals generated by said third means correspond to the character pattern. The system of claim 4, which further comprises fourth means for detecting whether either one of the two extended straight lines reaches the adjacent end point; in response to an output from said fourth means, said second means newly selecting a subsequent selected end point and two end points adjacent to the subsequent end point in such a way that the subsequent end point is selected from the arrival points of the two extending straight lines and end points not yet selected as an end point in the already decided end points, and extending two new straight lines from the newly selected end point to the two adjacent end points. The system of claim 5, which further comprises: fifth means for storing dot signals corresponding to the character pattern; sixth means responsive to the dot signals generated by said third means, for NANDing the dot signals generated by said third means and the dot signals already stored in said fifth means; and signals outputted from said sixth means being stored in said fifth means as dot signals corresponding to the character pattern.

Inventors: UCHINO ATSUSHI, UCHINO, ATSUSHI
Applicants: SEIKO EPSON CORP, SEIKO EPSON CORPORATION
Application year: 1991
Main classification: G06T11
IPC codes: G06T11, G09G1