Abstract:
A pattern conversion method and apparatus including a storage unit for storing data representative of the contour of a pattern, a readout unit for reading the data from the storing unit; and a processing unit for processing the data read from the storage unit and representative of the contour of the pattern, wherein the processing by the processing unit comprises the steps of: parallel moving each of a plurality of segments constituting the contour of the pattern by the same distance d; solving for an intersection between the moved segments; and repeating the steps for the entire contour of the pattern.

Description:
This application is a continuation of application Ser. No. 08/094,924 filed Jul. 22, 1993, which is a continuation application of 07/690,398 filed Apr. 25, 1991, which is a continuation of application Ser. No. 07/569,737 filed Aug. 22, 1990, which is a continuation application of 07/336,514 filed Apr. 11, 1989, which is a continuation application of 06/914,733 filed Oct. 2, 1986, all abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method and system for converting a delineative pattern such as a character pattern, which are applicable to a graphic pattern which processes apparatus processing patterns in the form of vector data. 
     2. Related Background Art 
     The method of converting a character pattern in the form of vector data is excellent in that patterns can be converted with high data compressibility and at a desired magnification and reduction ratio to obtain patterns of high fidelity. With this method, a vector data format representing coordinates of a contour of a character pattern is used, e.g., a series of coordinates of successive points of the contour, a series of displacement values from a start point coordinate, or the like. Conventional magnification or reduction of a pattern, however, presents a problem: for example, in the case of magnifying a character &#34;H&#34; of FIG. 2(A)) it is simply magnified into a similar figure as shown in FIGS. 2(B) or 2(C). 
     Apart from the above problem, editing graphic patterns in various forms has recently been desired extensively. For instance, not only conventional simple magnification or reduction function, but also a visual effect such as synthesizing one or plural contours produced by widening or narrowing an original contour in the form of vector data to obtain a so-called outline character has been desired. However, such graphic data processing cannot be carried out using a computer or does not make it possible to attain the desired visual balance of patterns. Therefore, such processing has relied upon complicated and laborious processes including a photographing process. 
     SUMMARY OF THE INVENTION 
     The present invention has been made in view of the above prior art problems, and it is an object of the present invention to provide a method and system of converting a graphic pattern such as a character pattern and a processing system therefor, wherein widening or narrowing a graphic pattern can be carried out while retaining the visual balance thereof, through a single pattern conversion, or plural conversions if desired, or through addition of the converted pattern to an original one if desired. 
     It is another object of the present invention to provide a method of converting a graphic pattern using a graphic pattern processing apparatus which processes the contour of a pattern in the form of vector data, wherein widening or narrowing processing of the contour can be carried out while retaining visual balance of the pattern, by calculating lines parallel to contour line segments of the pattern and the intersection coordinates of the lines using vector data of the pattern. These and other objects and features of the invention will be more fully appreciated upon consideration of the following detailed description of the preferred embodiments. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram showing an embodiment of the graphic pattern processing system according to the present invention; 
     FIGS. 2 (A) to 2 (C) are views showing examples of magnification and reduction of a character according to a prior art method; 
     FIG. 3 shows an example of vector data of a contour of a graphic character according to the present invention; 
     FIG. 4 is a graph illustrating a relationship between vector data and segment lines parallel to the contour; 
     FIG. 5 shows a coordinate of a new contour produced during widening processing; 
     FIG. 6 is a flow chart of widening control process; and 
     FIG. 7 is a flow chart showing the entire graphic pattern processing system. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The preferred embodiment of the present invention will be described with reference to the accompanying drawings. It is apparent that the object, effect and construction of the present invention may be achieved by a system composed of plural devices or by a single device. 
     FIG. 1 is a block diagram showing an embodiment of the graphic pattern processing system according to the present invention. In the figure, reference numeral 1 denotes a vector processing unit, 2 a vector data memory unit, 3 a pattern generator unit, and 4 a pattern temporary unit. 
     Vector data of character data is stored in the vector data memory unit 2. Although in this embodiment, the description is directed to character data, the present invention is not limited to character data but other data is also applicable. Upon reception of a command for starting processing from an external source, the vector processing unit 1 reads data necessary for the processing from the vector data memory unit 2 and processes the data. The processed vector data is then applied to the pattern generator unit 3. The vector processing unit 1 has a CPU (not shown), a ROM starting control programs shown in FIGS. 6 and 7, and so on. The pattern generator unit 3 develops the vector data of numerical data into an actual vector pattern, and stores it in the pattern temporary memory unit 4. The stored pattern is read and outputted as a processed data output. Although not shown in FIG. 1, it is apparent that a control unit is provided which includes a display, a pointing device, or various keys, respectively for initiating an execution of such as widening processing. 
     The contour of a character pattern is represented by interpolating a series of vector data points (coordinates) indicated by circles with straight or curved line segments, as shown in FIG. 3. The illustrated pattern includes two &#34;pattern elements&#34;, used herein to denote a set of one or more lines joined together, each pattern element being made up of one or more &#34;segments&#34; (straight line segments in the illustrated pattern). 
     The direction of each of the vector data between adjacent coordinates is so determined that the vector always sees the interior of the character (or the inside of the contour) to the right side. 
     The description is now directed to the case that the vector data pattern &#34;P&#34; shown in FIG. 3 is widened (or narrowed). For the purpose of simplicity of description, the vectors represented by arrows in FIG. 3 are called a contour line. The method of widening the contour line by d and obtaining a new contour line, shown by dot lines in FIG. 4, will now be described. In the widening processing as illustrated in FIG. 4, each of the vectors (contour line) is moved to a new position parallel to its previous position, by a distance d, which is the same for each vector. By doing so, it is possible to obtain a character pattern &#34;P&#34; moved by d while retaining visual balance. 
     FIG. 5 is a graph for explaining widening processing of a pattern &#34;P&#34; as in FIG. 4. FIG. 6 is a control flow chart of the widening processing, the program of which is stored in a ROM of an unrepresented control unit, and the calculated lines and intersections of patterns are stored in a memory. 
     Referring now to FIG. 5 vectors V 0  and V 1   represent two adjacent vectors among a plurality of vectors constituting the contour pattern shown in FIGS. 3 and 4. The two straight lines of the part of the contour are represented by W 0  and W 1 . Line W 0  passes through two points (x 0 , y 0 ) and (x 1 , y 1 ), while line W 1  passes through two points (x 1 , y 1 ) and (x 2 , y 2 ). The intersection of lines W 0  and W 1  is (x 1 , y 1 ). The widening processing is performed using the above data. At step 1 shown in FIG. 6, first after the amount d of parallel movement (for widening or narrowing) is inputted, the vector data is decoded (conversion of coordinates). Then at step S3, parallel lines W 0  &#39; and W 1  &#39; are obtained which are spaced apart by d from lines W 0  and W 1 , respectively. At step S4, the intersection between lines W 0  &#39; and W 1  &#39; is obtained. These processes are conducted m times for a vector loop (closed area) constructed of m vectors (steps S3, S4, S6 and S5). In the case of FIG. 3, m=10 for the outer contour and m=8 for the inner contour. At step 7, it is judged if all the contours have been processed or not, i.e., in the case of the FIG. 3 example if steps S3 to S6 have been executed for the outer contour (m=10) and the inner contour (m=8). If completed, decode-vector data for all the contours of the pattern &#34;P&#34; is vector-encoded to obtain vector data at step S8. 
     Next, the processes at steps S5 and S6 will be discussed in detail with reference to FIG. 5. 
     As understood from FIG. 5, line W 0  can be expressed as: 
     
         y-y.sub.0 Δy.sub.0 /Δx.sub.0 ·(x-x.sub.0)(1) 
    
     where Δy 0  and Δx 0  represent increments of line W 0 , respectively for x- and y-coordinates. Δy 1  and Δx 1  shown in FIG. 5 also represent the same. 
     Line W 0  &#39; parallel to line W 0  is expressed as: 
     
         W.sub.0 &#39;:y-(y.sub.0 e.sub.0)=Δy.sub.0 /Δx.sub.0 ·(x-x.sub.0)                                     (2) 
    
     where e 0  represents the amount of movement from line W 0  to line W 0  &#39; in the y-direction, which e 0  is expressed as: ##EQU1## Substituting equation (3) into equation (2), line W 0  &#39; to be obtained is solved based on the above coordinates (x 0 , y 0 ) and (x 1 , y 1 ), and the parallel movement amount d. 
     The equations for solving line W 1  &#39;, regarding the next vector V 1  following vector V 0  and parallel to line W 1 , are expressed as follows: ##EQU2## 
     A new intersection (x 1  &#39;, y 1  &#39;) produced by moving vectors V 0  and V 1  by distance d can be obtained from a solution (x, y) of simultaneous equation (2) and (4). For simplification, the slopes of the lines are represented here as: 
     
         a.sub.0 =Δy.sub.0 /Δx.sub.0                    (6) 
    
     
         a.sub.1 =Δy.sub.1 /Δx.sub.1 
    
     then, 
     
         x.sub.1 &#39;=[(a.sub.0 x.sub.0 -a.sub.1 ·x.sub.1)-{(y.sub.0 +e.sub.0)-(y.sub.1 +e.sub.1)}]/(a.sub.0 -a.sub.1)         (7) 
    
     
         y.sub.1 &#39;=a.sub.0 (x.sub.1 &#39;-x.sub.0)+(y.sub.0 +e.sub.0)   (8) 
    
     Using known values x 0 , y 0 , x 1 , y 1 , e 0 , e 1 , a 0 , and a 1 , the intersection (x 1  &#39; , y 1  &#39;) can be obtained from equations (7) and (8). 
     If a pattern has m vectors, the above calculation is repeated m times to obtain a new contour line moved by same distance d from an original contour line. If the pattern has n contour lines, the above m times calculation is repeated n times (in case of FIG. 3, n=2). 
     If Δx 0  =0 or Δx 1  =0 in equation (6) or a 0  =a 1  in equation (7), the above calculation is replaced by an exceptional processing. 
     The amount of parallel movement d may take a widening value or a narrowing value. If d is positive, the movement amount e 0  of equation (3) is such that the contour for each vector data is widened, whereas if d is negative the contour is narrowed. FIG. 7 is a flow chart showing the entire graphic pattern processing system, which is executed by the unrepresented control unit. In the flow chart, after a delineative pattern is formed and displayed at step S1, an editing processing such as rotating or slanting conversion including, for example, the widening processing of FIG. 6, is executed. 
     As appreciated from the foregoing description of the present invention, visual balance is ensured for those patterns subjected to rotating conversion, slanting conversion or any other conversion prior to the pattern conversion of the present invention. 
     Further, a shadow effect can be obtained in such a manner that after changing the interior of pattern subjected to a widening processing to a dot pattern, the dot pattern is moved by a certain distance to synthesize it to another dot pattern similarly obtained. New vector data having correct visual balance can readily be produced by converting original vector data through a widening or narrowing processing. 
     The present invention is not limited to a graphic character, but it is applicable to a general pattern of vector data. The present invention has various applications, such as to an image processing system capable of pattern processing, forms processing and the like. 
     As described in detail so far, the method of converting a graphic pattern, used with a pattern processing apparatus processing the contour line of the pattern in the form of vector data, has enabled calculating, in accordance with the predetermined processes, lines parallel to contour line segments of the vector data and their intersection coordinates, and parallel widening or narrowing the pattern while retaining visual balance.