Claims
- 1. A method comprising:
receiving N nodes to be laid out on multiple tiles on a same line, calculating candidate line penalties for the line, each candidate line penalty being associated with a unique line layout of nodes positioned in the tiles; and determining a line penalty of the N-node line as the candidate line penalty having a lowest value.
- 2. The method of claim 1, wherein a first calculated line penalty is associated with a first line layout in which one of the tiles contains an initial number of the N nodes, and a second calculated line penalty is associated with a second line layout in which the one of the tiles contains the defined number of the N nodes minus a specified number.
- 3. The method of claim 1, wherein the N-node line has T tiles, and
wherein a first calculated line penalty is associated with a line layout in which each tile contains a number of nodes equal to N/T rounded to the nearest integer.
- 4. The method of claim 3, wherein a second calculated line penalty is associated with a line layout in which a first tile has N/T rounded to the nearest integer minus 4 nodes and a second tile has N/T rounded to the nearest integer plus 4 nodes.
- 5. The method of claim 1, wherein the method is repeated for each multi-tile line in a paragraph.
- 6. A method comprising:
receiving N nodes to be laid out on multiple tiles on a same line, calculating candidate line penalties for the line, each candidate line penalty being associated with a unique line layout of nodes positioned in the tiles; and defining the line as the line layout associated with the lowest candidate line penalty.
- 7. A method comprising:
beginning with a first node in the reading order of a paragraph, calculating an optimal line break scheme for a paragraph layout that ends with the node; and for every subsequent node in the reading order of the paragraph, calculating an optimal line break scheme for a paragraph layout that ends with that subsequent node, wherein each optimal line break scheme is calculated by minimizing the total of a penalty value of a current line and all preceding penalties of all preceding lines, the preceding penalties of all preceding lines being defined by a previously calculated optimal line break scheme, and wherein, if the current line is a multi-tile line, calculating an optimal line break scheme includes calculating line penalties for the current line, each line penalty being associated with a unique line layout of nodes positioned in the tiles.
- 8. A method comprising:
receiving N nodes to be laid out on multiple tiles on a same line, laying out the N nodes in the tiles and calculating a candidate line penalty, repositioning some of the N nodes from one of the tiles to another one of the tiles, and calculating additional candidate line penalties, and determining a line penalty of the line as the candidate line penalty having a lowest value.
- 9. The method of claim 8, wherein repositioning some of the N nodes comprises repositioning a first number the nodes until doing so does not improve candidate line penalties, and repositioning a second number of the nodes until doing so does not improve candidate line penalties, wherein the first number is larger than the second number.
- 10. A computer-readable medium carrying program code that, when executed by a computer:
receives N nodes to be laid out on multiple tiles on a same line, calculates candidate line penalties for the line, each candidate line penalty being associated with a unique line layout of nodes positioned in the tiles, and determines a line penalty of the N-node line as the candidate line penalty having a lowest value.
- 11. The computer-readable medium of claim 10, wherein a first calculated line penalty is associated with a first line layout in which one of the tiles contains an initial number of the N nodes, and
a second calculated line penalty is associated with a second line layout in which the one of the tiles contains the defined number of the N nodes minus a specified number.
- 12. The computer-readable medium of claim 10, wherein the N-node line has T tiles, and
wherein a first calculated line penalty is associated with a line layout in which each tile contains a number of nodes equal to N/T rounded to the nearest integer.
- 13. The computer-readable medium of claim 12, wherein a second calculated line penalty is associated with a line layout in which a first tile has N/T rounded to the nearest integer minus 4 nodes and a second tile has N/T rounded to the nearest integer plus 4 nodes.
- 14. The computer-readable medium of claim 10, wherein the execution is repeated for each multi-tile line in a paragraph.
- 15. A computer-readable medium carrying program code that, when executed by a computer:
receives N nodes to be laid out on multiple tiles on a same line, calculates candidate line penalties for the line, each candidate line penalty being associated with a unique line layout of nodes positioned in the tiles; and defines the line as the line layout associated with the lowest candidate line penalty.
- 16. A computer-readable medium carrying program code that, when executed by a computer:
begins with a first node in the reading order of a paragraph, calculates an optimal line break scheme for a paragraph layout that ends with the node; and for every subsequent node in the reading order of the paragraph, calculates an optimal line break scheme for a paragraph layout that ends with that subsequent node, wherein each optimal line break scheme is calculated by minimizing the total of a penalty value of a current line and all preceding penalties of all preceding lines, the preceding penalties of all preceding lines being defined by a previously calculated optimal line break scheme, and wherein, if the current line is a multi-tile line, calculating an optimal line break scheme includes calculating line penalties for the current line, each line penalty being associated with a unique line layout of nodes positioned in the tiles.
- 17. A computer-readable medium carrying program code that, when executed by a computer:
receives N nodes to be laid out on multiple tiles on a same line, lays out the N nodes in the tiles and calculates a candidate line penalty, repositions some of the N nodes from one of the tiles to another one of the tiles, and calculates additional candidate line penalties, and determines a line penalty of the line as the candidate line penalty having a lowest value.
- 18. The computer-readable medium of claim 17, wherein repositioning some of the N nodes comprises repositioning a first number the nodes until doing so does not improve candidate line penalties, and repositioning a second number of the nodes until doing so does not improve candidate line penalties, wherein the first number is larger than the second number.
Parent Case Info
[0001] This application is a continuation of U.S. application Ser. No. 10/181,882, filed Jul. 22, 2002, which was the National Stage of International Application No. PCT/US00/35134, filed Dec. 22, 2000, which claims priority to U.S. Provisional Application No. 60/252,863, filed Nov. 22, 2000. This application claims priority from each of the above-referenced applications, each of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60252863 |
Nov 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
10181882 |
Jul 2002 |
US |
Child |
10402776 |
Mar 2003 |
US |