Patent Document ID: 6081816
Application ID: 09040573

Base Claim:
1. A computer-readable medium storing computer-executable instructions for performing the steps of: receiving a first width, a character position, and a vertical position associated with a candidate rectangle; receiving parameters defining a constraint that intersects with the candidate rectangle; fitting a first text string to the candidate rectangle; determining a first height associated with the first text string; conducting a preliminary text assignment to identify an unobstructed span corresponding to the candidate rectangle, the unobstructed span associated with a second height; comparing the second height to the first height; if the second height is equal to the first height, determining whether a second text string fitted to the unobstructed span ends in a delimiter, and if the second text string ends in a delimiter, assigning the second text string to the unobstructed span; if the second height is greater than the first height, declaring the candidate rectangle invalid and advancing the vertical position by a predetermined amount; and if the second height is less than the first height refining the unobstructed span.

---

Claim 8:
8. The computer-readable medium of claim 1, wherein the step of refining the unobstructed span comprises the steps of: defining a second candidate rectangle having the first width and the second height; identifying a second unobstructed span corresponding to the second candidate rectangle by excluding from the second candidate rectangle the portion of the second candidate rectangle that intersects with the constraint; fitting a third text string to the second unobstructed span; determining a third height associated with the third text string; comparing the third height to the second height; if the third height is equal to or less than the second height, assigning the third text string to the second unobstructed span; and if the third height is greater than the second height, declaring the second candidate rectangle invalid and advancing the vertical position by a predetermined amount.