WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Apparatus and method for designing a form structure using column and row rules    
United States Patent5379372   
Link to this pagehttp://www.wikipatents.com/5379372.html
Inventor(s)Wu; William C. (1180 Lochinvar Ave., #46, Sunnyvale, CA 94087)
AbstractA method and an apparatus for designing generalized tables. The method and the apparatus are described by a collection of processes for performing operations such as creating a generalized table, deleting a generalized table, drawing a rule, stretching or shrinking a rule, shifting a set of rules, deleting a rule, aligning a rule, unaligning a rule, combining cells, dividing a cell, creating a region, and deleting a region.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5379372
Apparatus and method for designing a form structure using column and row

     rules - US Patent 5379372 Drawing
Apparatus and method for designing a form structure using column and row rules
Inventor     Wu; William C. (1180 Lochinvar Ave., #46, Sunnyvale, CA 94087)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     January 3, 1995
Application Number     07/581,816
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 13, 1990
US Classification     715/506 715/509
Int'l Classification     G06F 015/62
Examiner     Herndon; Heather R.
Assistant Examiner     Feild; Joseph
Attorney/Law Firm     Skjerven, Morrill, MacPherson, Franklin & Friel
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/148 395/140 395/155 395/147 395/158 395/600 395/101
Patent Tags     designing form column row rules
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5208905
Takakura
715/515
May,1993

[0 after 0 votes]
5157767
Nihei
715/508
Oct,1992

[0 after 0 votes]
5151975
Shiraki
715/520
Sep,1992

[0 after 0 votes]
5144693
Morgan
715/792
Sep,1992

[0 after 0 votes]
5068802
Miyashita

Nov,1991

[0 after 0 votes]
5034899
Schult
345/441
Jul,1991

[0 after 0 votes]
4980841
Sugitani
715/510
Dec,1990

[0 after 0 votes]
4953108
Kato
715/509
Aug,1990

[0 after 0 votes]
4760552
Yano
715/510
Jul,1988

[0 after 0 votes]
4622545
Atkinson
345/562
Nov,1986

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. In a computer, a system for designing a form system, said system executing a set of commands for creating and modifying said form system and displaying said form system ill a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-Coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form structure, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells in accordance with said set of commands;

means for displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

means for creating one or more column rule groups each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group;

means for receiving an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane; and

means for identifying a rule group using said location, wherein if said location is within a predetermined distance of a rule, the rule group which included said rule is identified, and if said location is not within a predetermined distance of a rule, a new rule group is created and identified.

2. In a computer, a system for designing a form structure, said system executing a set of commands for creating and modifying said form system and displaying said form structure in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means or creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

means for creating one or more column rule groups each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group;

means for receiving as input an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane;

means for receiving as input a signal indicating whether an alignment grid is activated; and

means for identifying a rule group using said location and said signal, wherein

(i) if said location is within a predetermined distance of a rule, the rule group which included said rule is identified,

(ii) if said location is not within a predetermined distance of a rule, but within a predetermined distance of a rule group, and said alignment grid is activated, said rule group is identified, and

(iii) if said alignment grid is activated, and said location is neither within a predetermined distance of a rule, nor within said predetermined distance of a rule group, a new rule group is created and identified.

3. In a computer, a system for designing a form system, said system executing a set of commands for creating and modifying said form system and displaying said form system in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

means sot creating one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group;

means for receiving as input an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane;

means for receiving as input a signal indicating whether an alignment grid is activated; and

means for identifying a rule group using said location and said signal, wherein

(i) if said location is a predetermined distance of a rule group, and said alignment grid is activated, said rule group is identified,

(ii) if said location is not within a predetermined distance of a rule group, but within a predetermined distance of a rule, the rule group which included said rule is identified, and

(iii) if said alignment grid is activated and said location is neither within a predetermined distance of a rule, nor within said predetermined distance of a rule group, a new rule group is created and identified.

4. In a computer, a system for designing a form structure, said system executing a set of commands for creating and modifying said form system and displaying said form structure in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules each rule having first and second end points of the same y-coordinate, each of said first and second end points each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least on row rule within said plurality of row rules;

means for creating one or more cells in said form structure, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form structure on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rues being included in one and only one row rule group;

means or creating one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group; and

means for creating a hanging relationship between an end point of a first rule and a second rule, such that said end point of said first rule imposes a requirement of lying on said second rule, and wherein if said first rule is a column rule, then said second rule is a row rule, and if said first rule is a row rule, then said second rule is a column rule.

5. A system as in claim 4, further comprising means for shifting a rule group a directed distance said shift creating one or more areas defined by the loci of points in the one or more rules within said rule group shifted said directed distance.

6. A system as in claim 5, further comprising means for eliminating, said means for eliminating eliminates, when a rule overlaps said areas, from said rule a portion of said rule overlapping said areas.

7. A system as in claim 5, further comprising means for maintaining hanging relationships wherein a first collection of rules being rules having end points hanging onto a shifted rule before said shift, are extended or shrunk so as to maintain the requirements created by said means for creating a hanging relationship.

8. A system as in claim 7, wherein said means for maintaining hanging relationship further creates hanging relationships after said shift between said shifted rule group and a second collection of rules, said second collection of rules being rules having end points hanging onto a portion of a rule eliminated by said means for eliminating as a result of said shift, each rule within said second collection of rules being extended or shrunk, so as to establish a requirement that the endpoint of said second collection rule lie on said selected rule.

9. A system as in claim 5, further comprising means for eliminating cells located entirely within said areas, and for resizing cells partly overlapping said areas before said shift, by eliminating from said cells those portions of said cells overlapping said areas.

10. A system as in claim 5, wherein when said directed distance is along neither the x-direction nor the y-direction, said shift is a combination of a shift along the x-direction and a shift along the y-direction.

11. A system as in claim 5, further comprising means for shifting multiple rule groups by a directed distance, said means for shifting multiple rule groups applies said means for shifting a rule group on said multiple rule groups, one rule group at a time and in a predetermined order.

12. A system as in claim 11, wherein said means for shifting multiple rule groups shifts said multiple rule groups such that:

(i) if said shift includes a shift in the decreasing x-direction, the x-coordinate of each of said multiple rule groups, beginning with the rule group having the least x-coordinate;

(ii) if said shift includes a shift in the increasing x-direction, the x-coordinate of each of said multiple rule groups, beginning with the rule group having the greatest x-coordinate;

(ii) if said shift includes a shift in the decreasing y-direction, the y-coordinate of each of said multiple rule groups, beginning with the rule group having the least y-coordinate; and

(iv) if said shift includes a shift in the increasing y-direction, the y-coordinate of each of said multiple rule groups, beginning with the rule group having the greatest y-coordinate.

13. In a computer, a system for designing a form structure, said system executing a set of commands for creating and modifying said form structure and displaying said form structure in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means sot creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

means for creating one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group:

means for receiving as input an identification of a rule group, and

means for receiving as inputs first and second coordinates, said first and second coordinates being y-coordinates when said rule group is a column rule group, and said first and second coordinates being x-coordinates when said rule group is a row rule group; and

means for creating a new rule based on whether said rule group is a column rule group or a row rule group, and also on values of said first and second coordinates, wherein

(i) if said rule group is a column rule group, said new rule is created as a column rule and added to said rule group, said new rule extending from a point within a first row rule intersecting said new rule, said first row rule being the intersecting row rule having the greatest y-coordinate which is less than or equal to the lesser of said first and second coordinates, to a point within a second row rule intersecting said new rule, said second row rule being the intersecting row rule having the least y-coordinate which is greater than or equal to the greater of said first and second coordinates; and

(ii) if said rule group is a row rule group, said new rule is created as a row rule and added to said rule group, said new rule extending from a point within a first column rule intersecting said new rule, said first column rule being the intersecting column rule having the greatest x-coordinate which is less than or equal to the lesser of said first and second coordinates, to a point within a second column rule intersecting said new rule, said second column rule being the intersecting column rule having the least x-coordinate which is greater than or equal to the greater of said first and second coordinates.

14. A system as in claim 13, further comprising:

first means for eliminating, said first means for eliminating

(i) detecting a row rule overlap condition in which two row rules of a row rule group overlap each other and

(ii) eliminating, when such row rule overlap condition is detected, from one of said overlapping row rules the portion of said row rule which overlaps the other one of said overlapping row rules, and

second means for eliminating, said second means or eliminating

(i) detecting a column rule overlap condition in which two column rules of a column rule group overlap each other and

(ii) eliminating, when said column rule overlap condition is detected, from one of said column rules a portion of said column rule which overlaps the other one of said overlapping column rules.

15. In a computer, a system for designing a form system, said system executing a set of commands for creating and modifying said form system and displaying said form system in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means or creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said plurality of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form structure on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each [9rule group having the same y-coordinate, and each row rules within said plurality of row rules being included in one and only one row rule group;

means for creating one or more column rule groups, each column rule group including one or more columns of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rule being included in one and only one column rule group;

first means for eliminating, said first means for eliminating

(i) detecting a row rule overlap condition in which two row rules of a row rule group overlap each other, and

(ii) eliminating, when said row rule overlap condition is detected, from one of said overlapping row rules a portion of said row rule which overlaps the other one of said overlapping row rules, and

second means for eliminating, said second means for eliminating

(i) detecting a column rule overlap condition in which two column rules overlap each other, and

(ii) eliminating, when said column rule overlap condition is detected, from one of said overlapping column rules a portion of said column rule which overlaps the other one of said overlapping column rules.

16. In a computer, a system for designing form structure, said system executing a set of commands for creating and modifying said form structure and displaying said form structure in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means or creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same X-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means or displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

means for creating one or more column rule groups each column rule group including one or more column rule of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, an each column rule within said plurality of column rules being included in one and only one column rule group; and

means for changing the length of a designated rule, wherein said means for changing moves a designated end point of said designated rule according to a specified location, wherein:

(i) if said designated rule is a column rule, and said designated end point is the end point of said designated rule having the greater y-coordinate, the length of said designated rule is changed by relocating said designated end point to intersect the row rule having the least y-coordinate which is greater than or equal to the y-coordinate of said specified location, without causing a row rule which touches said designated rule prior to said relocation to become not touching a column rule within the column rule group of said designated rule after said relocation;

(ii) if said designated rule is a column rule, and said designated end point is the end point of said designated rule having the lesser y-coordinate, the length of said designated rule is changed by relocating said designated end point to intersect the row rule having the greatest y-coordinate which is less than or equal to the y-coordinate of said specified location, without causing a row rule which touches said designated rule prior to said relocation to become not touching a column rule within the column rule group of said designated rule after said relocation;

(iii) if said designated rule is a row rule, and said designated end point is the end point of said designated rule having the greater x-coordinate, the length of said designated rule is changed by relocating said designated end point to intersect the column rule having the least x-coordinate which is greater than or equal to the x-coordinate of said specified location, without causing a column rule which touches said designated rule prior to said relocation to become not touching a row rule within the row rule group of said designated rule after said relocation; and

(iv) if said designated rule is a row rule, and said designated end point is the end point of said designated rule having the lesser x-coordinate, the length of said designated rule is changed by relocating said designated end point to intersect the row rule having the greatest x-coordinate which is less than or equal to the x-coordinate of said specified location, without causing a column rule which touches said designated rule prior to said relocation to become not touching a row rule within the row rule group of said designated rule after said relocation.

17. In a computer, a system for designing a form structure, said system executing a set of commands for creating and modifying said form structure and displaying said form structure in a peripheral device of the computer on a 2-dimensional plane having x- and y-coordinates, said system comprising:

means for creating a plurality of column rules, each column rule having first and second end points of the same x-coordinate;

means for creating a plurality of row rules, each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule having the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule having the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

means for creating one or more cells in said form system, each cell bordered by column and row rules of said pluralities of column and row rules;

means for modifying said plurality of row rules, said plurality of column rules, and said one or more cells, in accordance with said set of commands;

means for displaying said form system on said 2-dimensional plane, in accordance with said set of commands;

means for creating one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group:

means for creating one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group; and

means for changing the length of a designated rule, wherein said means for changing moves a designated end point of said designated rule according to a specified location, wherein:

(i) if said designated rule is a column rule, and said designated end point is the end point of said designated rule having the greater y-coordinate,

(a) the length of said designated rule is changed by relocating said designated end point to intersect the row rule having the least y-coordinate which is greater than or equal to the y-coordinate of said specified location, and

(b) the end point of a row rule, which lies on said designated rule prior to said relocation and which does not lie on a column rule within the column rule group of said designated rule after said relocation, is relocated in the direction of increasing length of said row rule to intersect a column rule;

(ii) if said designated rule is a column rule, and said designated end point is the end point of said designated rule having the lesser y-coordinate,

(a) the length of said designated rule is changed by relocating said designated end point to intersect the row rule having the greatest y-coordinate which is less than or equal to the y-coordinate of said specified location, and

(b) the end point of a row rule, which lies on said designated rule prior to said relocation and which does not lie on a row rule within the column rule group of said designated rule after said relocation, is relocated in the direction of increasing length of said row rule to intersect a column rule;

(iii) if said designated rule is a row rule, and said designated end point is the end point of said designated rule having the greater x-coordinate,

(a) the length of said designated rule is changed by relocating said designated end point to intersect the column rule having the least x-coordinate which is greater than or equal to the x-coordinate of said specified location, and

(b) the end point of a column rule, which lies on said designated rule prior to said relocation and which does not lie on a row rule within the row rule group of said designated rule after said relocation, is relocated in the direction of increasing length of said column rule to intersect a row rule; and

(iv) if said designated rule is a row rule, and said designated end point is the end point of said designated rule having the lesser x-coordinate,

(a) the length of said designated rule is changed by relocating said designated end point to intersect the column rule having the greatest x-coordinate which is less than or equal to the x-coordinate of said specified location, and

(b) the end point of a column rule, which lies on said designated rule prior to said relocation and which does not lie on a row rule within the row rule group of said designated rule after said relocation, is relocated in the direction of increasing length of said column rule to intersect a row rule.

18. In a computer, a method for designing a form structure, said form structure being drawn on a 2-dimensional plane represented by x- and y-coordinates comprising the steps of:

providing a plurality of column rules wherein each column rule having first and second end points of the same x-coordinate;

providing a plurality of row rules wherein each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule has the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule has the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

providing one or more cells, each cell bordered by column and row rules included in said pluralities of column and row rules;

providing one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

providing one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same -coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group;

receiving an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane; and

identifying a rule group using said location, wherein if said location is within a predetermined distance of a rule, the rule group which included said rule is identified, and if said location is not within a predetermined distance of a rule, a new rule group is created and identified.

19. In a computer, a method for designing a form system, said form system being drawn on a 2-dimensional plane represented by x- and y-coordinates, comprising the steps of:

providing a plurality of column rules wherein each column rule having first and second end points of the same x-coordinate;

providing a plurality of row rules wherein each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule ha the same coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule has the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

providing one or more cells, each cell bordered by column and row rules included in said pluralities of column and row rules;

providing one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

providing one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within aid plurality of column rules being included in one and only one column rule group;

receiving as input an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane;

receiving as input a signal indicating whether an alignment grid is activated; and

identifying a rule group using said location and said signal, wherein

(i) if said location is within a predetermined distance of a rule, the rule group which included said rule is identified,

(ii) if said location is not within a predetermined distance of a rule, but within a predetermined distance of a rule group, and said alignment grid is activated, said rule group is identified, and

(iii) if said alignment grid is activated, said location is neither within a predetermined distance of a rule, nor within said predetermined distance of a rule group, a new rule group is created and identified.

20. In a computer, a method for designing a form structure, said form structure being drawn on a 2-dimensional plane represented by x- and y-coordinates, comprising the steps of:

providing a plurality of column rules wherein each column rule having first and second end points of the same x-coordinate;

providing a plurality of row rules wherein each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule has the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule has the same y-coordinate of an end point of at least one row rule within said plurality of row rules;

providing one or more cells each cell bordered by column and row rules included in said pluralities of column and row rules;

providing one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

providing one or more column rule groups, each column rule group including one or ore column rules of said plurality of column rules, each column rule in each column rule croup having the same coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group;

receiving as input an x-coordinate and a y-coordinate, said x-coordinate and said y-coordinate defining a location on said 2-dimensional plane;

receiving as input a signal indicating whether an alignment grid is activated; and

identifying a rule group using said location and said signal, wherein

(i) if said location is a predetermined distance of a rule group, and said alignment grid is activated, said rule group is identified,

(ii) if said location is not within a predetermined distance of a rule group, but within a predetermined distance of a rule, the rule group which included said rule is identified, and

(iii) if said alignment grid is activated and said location is neither within a predetermined distance of a rule, nor within said predetermined distance of a rule group, a new rule group is created and identified.

21. In a computer, a method for designing a form structure, said form structure being drawn on a 2-dimensional plane represented by x- and y-coordinates, comprising the steps of:

providing a plurality of column rules wherein each column rule having first and second end points of the same x-coordinate;

providing a plurality of row rules wherein each row rule having first and second end points of the same y-coordinate, each of said first and second end points of each row rule has the same x-coordinate as the x-coordinate of an end point of at least one column rule within said plurality of column rules, and each of said first and second end points of each column rule has the same y-coordinate of an end point of at east one row rule within said plurality of row rules;

providing one or more cells, each cell bordered by column and row rules included in said pluralities of column and row rules;

providing one or more row rule groups, each row rule group including one or more row rules of said plurality of row rules, each row rule in each row rule group having the same y-coordinate, and each row rule within said plurality of row rules being included in one and only one row rule group;

providing one or more column rule groups, each column rule group including one or more column rules of said plurality of column rules, each column rule in each column rule group having the same x-coordinate, and each column rule within said plurality of column rules being included in one and only one column rule group; and

creating a hanging relationship between an end point of a first rule and a second rule, such that said end point of said first rule imposes a requirement of lying on said second rule, and wherein if said first rule is a column rule, then said second rule is a row rule, and if said first rule is a row rule, then said second rule is a column rule.

22. A method as in claim 21, further comprising the step of for shifting a rule group a directed distance, said shift creating one or more areas defined by the loci of points in the one or more rules within said rule group shifted said directed distance.

23. A method as in claim 22, further comprising the steps of:

detecting an area overlap condition in which a rule overlaps said areas; and

eliminating from said rule a portion of said rule overlapping said areas.

24. A method as in claim 22, further comprising the step of maintaining hanging relationships, wherein a first collection of rules, being rules having end points hanging onto a shifted rule before said shift, are extended or shrunk so as to maintain the requirements created by said step of creating a hanging relationship.

25. A method as in claim 24, wherein said setp of maintaining hanging relationship further creates hanging relationships after said shift between said shifted rule group and a second collection of rules, said second collection of rules being rules having end points hanging onto a portion of a rule eliminated in said step of eliminating as a result of said shift, each rule within said second collection of rules being extended or shrunk, so as to establish a requirement that the endpoint of said second collection rule lie on said selected rule.

26. A method as in claim 22, further comprising the step of providing means for eliminating cells located entirely within said areas, and for resizing cells partly overlapping said areas before said shift, by eliminating from said cells those portions of said cel