Claims Analysis
Total Claims: 51
Claim 1
Independent Claim
300 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge of the first basic shape and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape it if the first basic shape is to be represented as a filled shape; (e) if the first basic shape is represented as a filled shape, entering the filled shape data as a new entry into a filled shape table; (f) if the first basic shape is represented by an input vector, determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and it this determination is negative, entering the input vector as a new entry into the vector table; and (g) repeating steps (a) through (f) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 2
Independent Claim
300 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge of the first basic shape and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape it if the first basic shape is to be represented as a filled shape; (e) if the first basic shape is represented as a filled shape, entering the filled shape data as a new entry into a filled shape table; (f) if the first basic shape is represented by an input vector, determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and it this determination is negative, entering the input vector as a new entry into the vector table; and (g) repeating steps (a) through (f) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 3
Dependent Claim
26 words
The method of claim 1 wherein the records include blob records that include runlength slices of blobs which are non-trapezoidal irregular basic shapes of the object.
Claim 4
Dependent Claim
25 words
The method of claim 2 wherein the records include trapezoid records that include four corner points of trapezoids that are basic shapes of the object.
Claim 5
Dependent Claim
30 words
The method of claim 3 wherein the records include convergence records and divergence records that each include pointers to basic shapes connected to convergences and divergences, respectively, of the object.
Claim 6
Dependent Claim
47 words
The method of claim 4 wherein step (g) includes repeating steps (a) through (f) for all of the basic shapes connected to a first intersection before repeating steps (a) through (f) for any basic shapes connected to a second intersection but not connected to the first intersection.
Claim 7
Dependent Claim
24 words
The method of claim 5 including incrementing an intersection counter after all of the basic shapes connected to the first intersection have been vectorized.
Claim 8
Dependent Claim
33 words
The method of claim 6 including repeating steps (a) through (f) for a basic shape connected to the second intersection but not to the first intersection after the incrementing of the intersection counter.
Claim 9
Dependent Claim
18 words
The method of claim 5 including determining if the first basic shape is horizontal before performing step (b).
Claim 10
Dependent Claim
96 words
The method of claim 8 wherein if the first basic shape is not horizontal, step (c) includes determining if the front and rear edges of the first basic shape each include a plurality of line vectors of similar length, and if so, determining if the first basic shape is nearly horizontal, and if the first basic shape is not nearly horizontal, generating an arc code indicating that the first basic shape is to be represented by an arc vector, and if the first basic shape is nearly horizontal, determining if the first basic shape is convex.
Claim 11
Dependent Claim
59 words
The method of claim 9 including generating an intersection blob code indicating that the first basic shape is to be representedas an intersection blob if the first basic shape is not convex, and generating a filled circle code indicating that the first basic shape is to be represented as a filled circle if the first basic shape is convex.
Claim 12
Dependent Claim
123 words
The method of claim 9 including, if the front and rear edges of the first basic shape do not each include a plurality of line vectors of similar length, determining if the longest front edge vector of the first basic shape is parallel to the longest rear edge vector thereof, and if this determination is affirmative, generating a vertical vector code indicating that the first basic shape is to be represented by a vertical vector if the front and rear edge vectors of the first basic shape are vertical, and generating a diagonal vector indicating that the first basic shape is to be represented by a diagonal vector if the front and rear edges of the first basic shape are parallel diagonal vectors.
Claim 13
Dependent Claim
43 words
The method of claim 11 including generating a filled polygon code indicating that the first basic shape is to be represented as a filled polygon if the longest vectors of the front and rear edges of the first basic shape are not parallel.
Claim 14
Dependent Claim
65 words
The method of claim 12 wherein step (d) includes utilizing one of the filled polygon, diagonal vector, vertical vector, horizontal vector, filled circle, or arc codes to cal up and execute a vector generating subroutine or a filled shape data generating subroutine in order to generate a vector representing the first basic shape or to generate filled shape data accurately representing the first basic shape.
Claim 15
Dependent Claim
62 words
The method of claim 13 wherein step (e) includes determining if the information generated in step (d) is an input vector or filled shape data, and if the information is filled shape data, entering the filled shape data as a new entry into the filled shape table, and if the information if a vector, determining if that vector is an arc vector.
Claim 16
Dependent Claim
34 words
The method of claim 14 including executing a line desegmentation subroutine if the input vector is not an arc vector and executing an arc desegmentation subroutine if the input vector is an arc vector.
Claim 17
Dependent Claim
102 words
The method of claim 15 wherein executing the line desegmentation subroutine includes resetting a combine flag, determining if any vector in the table has the same intersection number as the present input vector, and if this determination is affirmative, determining if the stored vector is an arc vector, and if this determination is affirmative, executing the arc desegmentation subroutine, and if that determination is negative, determining if the input vector and the stored vector are sufficiently close together and sufficiently colinear that the input vector can be combined with the stored vector, and if that determination is affirmative, setting the combine flag.
Claim 18
Dependent Claim
38 words
The method of claim 16 including entering the input vector as a new entry in the vector table if it is determined that no vector stored in that table has the same intersection number as the input vector.
Claim 19
Dependent Claim
170 words
The method of claim 17 wherein executing of the line desegmentaion subroutine includes determining if the input vector begins at an open point and ends at a divergence, and if so, entering the input vector into the vector table, and if not, determining if the input vector is in an intersection that includes an upper convergence and a lower divergence, and if this determination is affirmative, determining if the vector is too short to be entered into the vector table, and if not, entering it as a new entry into the vector table, and if the input vector is not in the intersection, then determining if the input vector begins at a convergence and ends at an open point, and if not, determining if any vector stored in the vector table has the same intersection number as the input vector, and if the input vector begins at a convergence and ends at an open point, determining if the input vector is too short to be combined with a stored vector.
Claim 20
Dependent Claim
196 words
The method of claim 17 wherein executing the arc desegmentation subroutine includes resetting a combine flag, determining if the two closest end points of the input vector and a vector stored in the vector table having the present intersection number are close enough to allow the two to be combined, and if not, entering the input arc vector as a new entry in the vetor tablet, and if so, determining if the lengths of the input arc vector and the stored vector are similar, and if they are not, entering the input vector into the vector table, but if they are, computing the intersection between the input vector and the stored vector, and determining if the computed angle is less than about 90 degrees, and if it is, entering the input vector into the vector table, but if it is not, determining if the input arc vector and the stored vector, if combined, form a convex shape, and if they do not, entering the input vector as a new entry in the vector table, and if they do, setting the combine flag and then combining the input vector with the stored vector in the vector table.
Claim 21
Dependent Claim
136 words
The method of claim 15 including executing a polygon merging subroutine if the information generated in step (d) represents a filled polygon, including the steps of determining if the present filled polygon is close to a filled polygon already stored in the filled shape table, and if it is, determining if there is a horizontal edge at the lowest point of one of those two filled polygons and a horizontal edge at the highest point of the other of those two filled polygons, and if so, determining if the two horizontal edges are substantially coextensive, and if they are, generating a filled polygon record including all vertices of both of the filled polygon, and deleting one vertex of each pair of vertices which are closer than a first predetermined distance apart from the filled polygon record.
Claim 22
Dependent Claim
63 words
The method of claim 20 including determining if the middle vertex of a groupof three consecutive vertices lies less than a second predetermined distance from a straight line through the outer two vertices of that group and if it is deleting the middle vertex, and repeating the two foregoing steps for a separate group of three consecutive vertices in the filed polygon record.
Claim 23
Dependent Claim
180 words
The method of claim 15 including generating a polygon merging subroutine if the information generated in step (d) represents a filled polygon, including the steps of determining if the present filled polygon is close to a filled polygon already stored in the filled shape table, and if it is, determining if there is a horizontal edge at the lowest point of one of those two filled polygons and a horizontal edge at the highest pont of the other of those two filled polygons, and if so, determining if the two horizontal edges are substantially coextensive, and if they are, generating a filled polygon record including all vertices of both of the filled polygons, and determining if the middle vertex of a group of three consecutive vertices in the filled polygon record lies less than a predetermined distance from a straight line through the outer two vertices of that group, and if it is, deleting the middle vertex from the filled polygon record, and repeating the two foregoing stepsfor a different group of three consecutive vertices in the filled polygon record.
Claim 24
Independent Claim
211 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as a line vector, by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector; (e) if the first basic shape is represented by an input vector, determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and if this determination is negative, entering the input vector as a new entry into the vector table; and (f) repeating steps (a) through (e) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 25
Independent Claim
211 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as a line vector, by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector; (e) if the first basic shape is represented by an input vector, determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and if this determination is negative, entering the input vector as a new entry into the vector table; and (f) repeating steps (a) through (e) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 26
Independent Claim
235 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge of the first basic shape and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) if the first basic shape is represented as a filled shape, entering the filled shape data as a new entry into a filled shape table; (f) if the first basic shape is represented by an input vector, entering the input vector as a new entry into the vector table; and (g) repeating steps (a) through (f) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 27
Independent Claim
235 words
A method for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the method comprising the steps of: (a) obtaining the record of a first basic shape of the object; (b) vectorizing a front edge of the first basic shape and vectorizing a rear edge of the first basic shape; (c) determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors obtained in step (b); (d) generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) if the first basic shape is represented as a filled shape, entering the filled shape data as a new entry into a filled shape table; (f) if the first basic shape is represented by an input vector, entering the input vector as a new entry into the vector table; and (g) repeating steps (a) through (f) for any additional basic shapes of the object until the entire object has been vectorized.
Claim 28
Independent Claim
251 words
A system for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on front and rear edge vectors of the first basic shape; (d) means for generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and means for generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) means for entering the filled shape data as a new entry into a filled shape table; and (f) means for determining whether the input vector touches an intermediate vector and can be combined with a vector already stored in the vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and if this determination is negative, entering the input vector as a new entry into the vector table.
Claim 29
Independent Claim
251 words
A system for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining if the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on front and rear edge vectors of the first basic shape; (d) means for generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and means for generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) means for entering the filled shape data as a new entry into a filled shape table; and (f) means for determining whether the input vector touches an intermediate vector and can be combined with a vector already stored in the vector table, and if this determination is affirmative, combining the input vector with the stored vector and storing the combined vector in the vector table, and if this determination is negative, entering the input vector as a new entry into the vector table.
Claim 30
Dependent Claim
46 words
The system of claim 25 wherein the records include blob records that include runlength slices of blobs which are non-trapezoidal irregular basic shapes of the object, and the records include trapezoid records that include four corner points of trapezoids that are basic shapes of the object.
Claim 31
Dependent Claim
30 words
The system of claim 26 wherein the records include convergence records and divergence records that each include pointers to basic shapes connected to convergences and divergences, respectively, of the object.
Claim 32
Dependent Claim
30 words
The system of claim 27 including an intersection counter and means for incrementing the intersection counter after all of the basic shapes connected to a first intersection have been vectorized.
Claim 33
Dependent Claim
25 words
The system of claim 28 including means for determining if the first basic shape is hoizontal before the vectorizing of the front and rear edges.
Claim 34
Dependent Claim
87 words
The system of claim 29 including means for determining if the front and rear edges of the first basic shape each include a plurality of line vectors of similar length, and if so, determining if the first basic shape is nearly horizontal, and if the first basic shape is not nearly horizontal, generating an arc code indicating that the first basic shape is to be represented by an arc vector, and if the first basic shape is nearly horizontal, determining if the first basic shape is convex.
Claim 35
Dependent Claim
61 words
The system of claim 30 including means for generating an intersection blob code indicating that the first basic shape is to be represented as an intersection blob if the first basic shape is not convex, and generating a filled circle code indicating that the first basic shape is to be represented as a filled circle if the first shape is convex.
Claim 36
Dependent Claim
102 words
The system of claim 30 including means for determining if the longest front edge vector of the first basic shape is parallel to the longest rear edge vector thereof, and if this determination is affirmative, generating a vertical vector code indicating that the first basic shape is to be represented by a vertical vector if the front and rear edge vectors of the first basic shape are vertical, and generating a diagonal vector indicating that the first basic shape is to be represented by a diagonal vector if the front and rear edges of the first basic shape are parallel diagonal vectors.
Claim 37
Dependent Claim
45 words
The system of claim 32 including means for generating a filled polygon code indicating that the first basic shape is to be represented as a filled polygon if the longest vectors of the front and rear edges of the first basic shape are not parallel.
Claim 38
Dependent Claim
64 words
The system of claim 33 including means for utilizing one of the filled polygon, diagonal vector, vertical vector, horizontal vector, filled circle, or arc codes to call up and execute a vector generating subroutine or a filled shape data generating subroutine in order to generate a vector representing the first basic shape or to generate filled shape data accurately representing the first basic shape.
Claim 39
Dependent Claim
37 words
The system of claim 34 including means for entering the filled shape data as a new entry into the filled shape table, and if the information is a vector, determining if the vector is an arc vector.
Claim 40
Dependent Claim
36 words
The system of claim 35 including means for executing a line desgmentation subroutine if the input vector is not an arc vector and executing an arc desegmentation subroutine if the input vector is an arc vector.
Claim 41
Dependent Claim
105 words
The system of claim 36 wherein the line desegmentation subroutine executing means includes means for resetting a combine flag, determining if any vector in the table has the same intersection number as the present input vector, and if this determination is affirmative, determining if the stored vector is an arc vector, and if this determination is affirmative, executing the arc desegmentation subroutine, and if that determination is negative, determining if the input vector and the stored vector are sufficiently close together and sufficiently colinear that the input vector can be combined with the stored vector, and if that determination if affirmative, setting the combine flag.
Claim 42
Dependent Claim
40 words
The system of claim 37 including means for entering the input vector as a new entry in the vector table if it is determined that no vector stored in that table has the same intersection number as the input vector.
Claim 43
Dependent Claim
173 words
The system of claim 38 wherein the line desegmentation subroutine executing means includes means for determining if the input vector begins at an open point and ends at a divergence, and if so, entering the input vector into the vector table, and if not, determining if the input vector is in an intersection that includes an upper convergence and a lower divergence, and if this determination is affirmative, determining if the input vector is too short to be entered into the vector table, and if not, entering it as a new entry into the vector table, and if the input vector is not in the intersection, then determining if the input vector begins at a convergence and ends at an open point, and if not, determining if any vector stored in the vector table has the same intersection number as the input vector, and if the input vector begins at a convergence and ends at an open point, determining if the input vector is too short to be combined with a stored vector.
Claim 44
Dependent Claim
199 words
The system of claim 38 wherein the arc desegmentation subroutine executing means includes means for resetting a combine flag, determining if the two closest end points of the input vector and a vector stored in the vector table having the present intersection number are close enough to allow the two to be combined, and if not, entering the input arc vector as a new entry in the vector tablet, and if so, determining if the lengths of the input arc vector and the stored vector are similar, and if they are not, entering the input vector into the vector table, but if they are, computing the intersection between the input vector and the stored vector, and determining if the computed angle is less than about 90 degrees, and if it is, entering the input vector into the vector table, but if it is not, determining if the input arc vector and the stored vector, if combined, form a convex shape, and if they do not, entering the input vector as a new entry in the vector table, and if they do, setting the combine flag and then combining the input vector with the stored vector in the vector table.
Claim 45
Dependent Claim
130 words
The system of claim 36 including means for executing a polygon merging subroutine including means for determining if a present filled polygon is close to a filled polygon already stored in the filled shape table, and if it is, for determining if there is a horizontal edge at the lowest point of one of those two filled polygons and a horizontal edge at the highest point of the other of those two filled polygons, and if so, for determining if the two horizontal edges are substantially coextensive, and if they are, for generating a filed polygon record including all vertices of both of the filled polygon, and for deleting one vertex of each pair of vertices which are closer than a first predetermined distance apart from the filled polygon record.
Claim 46
Dependent Claim
66 words
The system of claim 41 including means for determining if the middle vertex of a group of three consecutive vertices lies less than a second predetermined distance from a straight line through the outer two vertices of that group and if it is deleting the middle vertex, and repeating the two foregoing steps for a separate group of three consecutive vertices in the filed polygon record.
Claim 47
Dependent Claim
177 words
The system of claim 36 including means for generating a polygon merging subroutine including means for determining if the present filled polygon is close to a filled polygon already stored in the filled shape table, and if it is , for determining if there is a horizontal edge at the loest point of one or those two filled polygons and a horizontal edge at the highest point of the other of those two filled polygons, and if so, for determining if the two horizontal edges are substantially coextensive, and if they are, for generating a filled polygon record including all vertices of both of the filled polygons, and for determining if the middle vertex of a group of three consecutive vertices in the filled polygon record lies less than a predetermined distance from a straight line through the outer two vertices of that group, and if it is, for deleting the middle vertex from the filled polygon record, and repeating the two foregoing steps for a different group of three consecutive vertices in the filled polygon record.
Claim 48
Independent Claim
189 words
A system for vectorizing dta obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining it the first basic shape is accurately representable as a line vector, by operating on the front and rear edge vectors; (d) means for generating an input vector that is a line vector; and (e) means for determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, means for combining the input vector with the stored vector if this determination is affirmative, and means for storing the combined vector in the vector table, and means for entering the input vector as a new entry into the vector table if this determination if negative.
Claim 49
Independent Claim
189 words
A system for vectorizing dta obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining it the first basic shape is accurately representable as a line vector, by operating on the front and rear edge vectors; (d) means for generating an input vector that is a line vector; and (e) means for determining whether the input vector touches an intermediate vector and can be combined with a vector that is spaced from the input vector, touches the intermediate vector, and is already stored in a vector table, means for combining the input vector with the stored vector if this determination is affirmative, and means for storing the combined vector in the vector table, and means for entering the input vector as a new entry into the vector table if this determination if negative.
Claim 50
Independent Claim
216 words
A system for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining it the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors; (d) means for generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) means for entering the filling shape data as a new entry into a filled shape table if the first basic shape is represented as a filled shape; and (f) means for entering the input vector as a new entry into the vector table if the first basic shape is represented by an input vector.
Claim 51
Independent Claim
216 words
A system for vectorizing data obtained by electronically scanning an object of a document, the data being assembled into records definitive of connected basic shapes of which the object is composed, the system comprising in combination: (a) means for obtaining the record of a first basic shape of the object; (b) means for vectorizing a front edge and vectorizing a rear edge of the first basic shape; (c) means for determining it the first basic shape is accurately representable as an arc vector, a line vector, or a filled shape consisting of a plurality of stored runlength slices by operating on the front and rear edge vectors; (d) means for generating an input vector that is a line vector or an arc vector if the first basic shape is to be represented by a line vector or an arc vector, respectively, and generating data defining a filled shape if the first basic shape is to be represented as a filled shape; (e) means for entering the filling shape data as a new entry into a filled shape table if the first basic shape is represented as a filled shape; and (f) means for entering the input vector as a new entry into the vector table if the first basic shape is represented by an input vector.