Automatic layout of vertical flow oriented characters within a defined area
First Claim
Patent Images
1. In a computer system with a textual mark-up language engine, a table sizing code segment designed to auto-size table elements, a table cell sizing code segment designed to auto-size table cell elements, an altering code segment performing a method comprising:
- in the case determining that a table sizing code segment is causing a table cell sizing code segment to execute a code path determining a minimum width table cell measurement for a given table cell element with a horizontal character flow property, causing the table cell sizing code segment to execute a code path using a minimum width input designed for a table cell element with the horizontal character flow property; and
in the case determining that a table sizing code segment is causing a table cell sizing code segment to execute a code path determining a minimum width table cell measurement for a given table cell element with a vertical character flow property, causing the table cell sizing code segment to execute using a maximum width input that is likely to cause element content to be flowed into a single vertical line.
2 Assignments
0 Petitions
Accused Products
Abstract
The method uses an HTML table cell sizing method designed to measure and layout horizontal HTML table cell elements, and implements a logical view and a search algorithm to layout table cells with the vertical character flow property. The method is also readily adaptable to layout other HTML elements with the vertical character flow property.
68 Citations
30 Claims
-
1. In a computer system with a textual mark-up language engine, a table sizing code segment designed to auto-size table elements, a table cell sizing code segment designed to auto-size table cell elements, an altering code segment performing a method comprising:
-
in the case determining that a table sizing code segment is causing a table cell sizing code segment to execute a code path determining a minimum width table cell measurement for a given table cell element with a horizontal character flow property, causing the table cell sizing code segment to execute a code path using a minimum width input designed for a table cell element with the horizontal character flow property; and in the case determining that a table sizing code segment is causing a table cell sizing code segment to execute a code path determining a minimum width table cell measurement for a given table cell element with a vertical character flow property, causing the table cell sizing code segment to execute using a maximum width input that is likely to cause element content to be flowed into a single vertical line. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer system with a textual mark-up language engine, a table sizing code segment designed to auto-size table elements, a table cell sizing code segment designed to auto-size table cell elements with a horizontal character flow property, an altering code segment for altering communications between the table sizing code segment and the table cell sizing code segment to render auto-sized textual mark-up language table cells with a vertical character flow property, the altering code segment performing a method comprising:
-
determining that a table sizing code segment is attempting to cause a table cell sizing code segment to execute a code path that determines an acceptable maximum width table cell measurement for a given table cell element using a maximum width input designed to be used by the table cell sizing code segment to measure a table cell element with the horizontal character flow property to render a maximum table cell horizontal width; determining that the given table cell element has a vertical character flow property; determining an average character logical width for a language contained in the given table cell element; determining a maximum distance that characters will be allowed to flow in the vertical character flow direction, the maximum distance determination being made based on some empirically determined number N multiplied by the average character logical width; and causing the table cell sizing code segment to execute a code path using the determined maximum distance as input instead of the maximum width input - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for auto-sizing textual mark-up language table cells with a vertical character flow property, the method comprising:
-
determining that a table cell has the vertical character flow property; estimating a logical width for input to a table cell sizing method designed to auto-size a table cell with the horizontal character flow property; and calling the table cell sizing method with the estimated logical width input in order to auto-size the table cell with the vertical character flow property; wherein the estimated logical width is determined by, dividing the area of a minimum logical height rectangle by a physical width proposed by a table sizing method, dividing the area of a maximum logical height rectangle by a physical width proposed by a table sizing method, or summing the areas of a minimum logical height rectangle with a maximum logical height rectangle, and dividing that sum by twice a physical width proposed by a table sizing method. - View Dependent Claims (12, 13)
-
-
14. In a computer system with a textual mark-up language engine, a parent textual mark-up language element with a horizontal character flow property, a child textual mark-up language element with a vertical character flow property, a method for determining a proposed logical width dimension, the method being given a proposed physical width, a desired layout area, and the child element, the method comprising:
-
determining an area of a minimum logical height rectangle for the child element; determining a proposed logical width by summing the areas of the determined maximum logical height rectangle and the determined minimum logical height rectangle and dividing the sum by approximately twice the proposed physical width. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer readable medium having stored thereon instructions operational to auto-size a vertical character flow textual mark-up language element within an area of an output device, the instructions comprising:
-
a first program module designed to accept a request to auto-size textual mark-up language elements; a second program module designed to accept requests to auto-size a textual mark-up language element with the horizontal character flow property at a requested horizontal width; a third program module designed to alter the request made to the second program module by the first program module so that while the second program module continues to operate as it would for a textual mark-up language element with the horizontal character flow property, the second program module is actually auto-sizing a textual mark-up element with the vertical character flow property and the resulting auto-sized textual mark-up language element is returned to the first program module within the rectangular area within an acceptable error of the requested horizontal width.
-
-
20. A computer readable medium having stored thereon instructions operational to auto-size a textual mark-up language table element within an area of an output device, a first program module designed to auto-size a textual mark-up language table element, a second program module designed to accept a request from the first program module to determine the minimum and maximum table cell element width measurements, a third program module that affects the results of the request made by the first program module to the second program module whenever the request to determine the minimum and maximum table cell element width measurement is for a table cell element with the vertical character flow property, the instructions comprising:
-
instructions affecting the results of the minimum table cell element width measurement by altering the input to the second program module so that characters are allowed to flow in the character flow direction until all characters in each paragraph flow into a single line in the character flow direction; instructions affecting the results of the maximum table cell element width measurement by altering the input to the second program module so that each time characters flowed into a line in the character flow direction exceed approximately N characters, a new line in the character flow direction is started immediately next to and parallel to the previous line; wherein the first module is designed to request auto-sizing of table cell elements with the horizontal character flow property and the third module alters inputs of the first module'"'"'s requests to the second module when the request is to auto-size a table cell element with the vertical character flow property. - View Dependent Claims (21, 22)
-
-
23. A computer readable medium having stored thereon instructions operational to auto-size a textual mark-up language table element on an output device, a first program module designed to auto-size a textual mark-up language table element, a second program module designed to accept a request from the first program module to auto-size a textual mark-up language table cell element at a proposed width, a third program module that affects the results of the request made by the first program module to the second program module whenever the request to auto-size a textual mark-up language table cell element at a proposed width is for a table cell element with a vertical character flow property, the instructions comprising:
-
determining that a table cell element has the vertical character flow property; estimating a distance to allow characters to flow in the character flow direction, so that when the contents of the table cell element are flowed into the table cell element at the estimated distance, the resulting distance perpendicular to the character flow direction is within an acceptable error of the proposed width; wherein the second module is designed to receive requests to auto-size table cell elements with a horizontal character flow property and the third module alters an input of a request from the first module to the second module when the request is to auto-size a table cell element with the vertical character flow property. - View Dependent Claims (24, 25)
-
-
26. A system for rendering textual mark-up language elements with the vertical character flow property on an output device, the system comprising:
-
a first object designed to accept a request to auto-size textual mark-up language elements; a second object designed to accept requests to auto-size a textual mark-up language element with the horizontal character flow property at a defined horizontal width; and a third object designed to alter the request made to the second object by the first object so that while the second object continues to operate as it would for a textual mark-up language element with the horizontal character flow property, the second object is actually auto-sizing a textual mark-up element with the vertical character flow property and the resulting auto-sized element is returned to the first object rotated ninety degrees clockwise.
-
-
27. A system for rendering textual mark-up language elements with the vertical character flow property on an output device, a first object designed to auto-size a textual mark-up language table element, a second object designed to accept a request from the first object to determine a minimum and maximum table cell element width measurement, a third object that affects the results of the request made by the first object to the second object whenever the request to determine the minimum and maximum table cell element width measurements is for a table cell element with the vertical character flow property, the system comprising:
-
the third object altering the minimum table cell width request to the second object so that characters are allowed to flow in the character flow direction until all characters in each paragraph flow into a single line in the character flow direction, and the second object returns the resulting height and width measurements of the table cell element to the third object, the returned width measured in the direction parallel to the character flow direction, and the returned height measured in the direction perpendicular to the character flow direction, and the third object forwards the returned height measurement to the first object as the measurement for the minimum table cell width; and the third object altering the maximum table cell width request to the second object so that each time characters flowed into a line in the character flow direction exceeds approximately N characters, a new line in the character flow direction is started immediately next to and parallel to the previous line, and the second object returns the resulting height and width measurements of the table cell element to the third object, the returned width measured in the direction parallel to the character flow direction, and the returned height measured in the direction perpendicular to the character flow direction, and the third object forwards the returned height measurement to the first object as the measurement for the maximum table cell width. - View Dependent Claims (28, 29, 30)
-
Specification