1. A method for providing text flow around a non-rectangular graphic, comprising: using a processor to find the intersection, if any, between a proposed text rectangle and the graphic; and using the processor to identify as a valid text area within the proposed text rectangle a valid rectangle, if any, that is not within the bounds in the x-direction of an area of intersection between the proposed text rectangle and the graphic; and further comprising, in the event no valid text area is found, using the processor to look ahead by: extending the bottom of the proposed rectangle to the bottom of the graphic to form an extended rectangle; uniting the graphic with the extended rectangle; subtracting the graphic and the proposed rectangle from the union of the graphic with the extended rectangle; skipping ahead in the y-direction by a distance equal to the bottom of the extended rectangle minus the bottom of the proposed rectangle if the result of subtracting the graphic and the proposed rectangle from the union of the graphic with the extended rectangle is empty; and skipping ahead in the y-direction by a distance equal to the top of the result of subtracting the graphic and the proposed rectangle from the union of the graphic with the extended rectangle minus the bottom of the proposed rectangle if the result of subtracting the graphic and the proposed rectangle from the union of the graphic with the extended rectangle is not empty.