A computer-implemented method for rendering an image on a display device, comprising: determining a line within the image along which to render a text string which is a set of pixelated text characters; determining a plurality of line segments (60A-D) associated with the line and a range associated with each line segment; and characterized by: forming a text box (80A-B) for each of the plurality of line segments, each of the text boxes being oriented to draw text in an upright position along an associated line segment; selecting one of the text boxes in which to render a text character of the text string; selecting one of the text characters from the text string, the text string being stored as a set of pixelated text characters within an image lookup table (50, 200, 250, 290), wherein the image lookup table comprises encoding data (52, 202, 204, 206, 260, 270, 280) encoding centers of the text characters in at least one direction; determining, using the encoding data in the image lookup table, if a center of the one of the text characters, when rendered in the one of the text boxes on the image, will be within the range of the line segment associated with the one of the text boxes; and rendering the one of the text characters on the display device using the one of the text boxes if a center of the one of the text characters when rendered in the one of the text boxes will be within the range of the line segment associated with the one of the text boxes; and not rendering the one of the text characters on the display device using the one of the text boxes if the center of the one of the text characters when rendered in the one of the text boxes will not be within the range of the line segment associated with the one of the text boxes. determining a line within the image along which to render a text string which is a set of pixelated text characters; determining a plurality of line segments (60A-D) associated with the line and a range associated with each line segment; and characterized by: forming a text box (80A-B) for each of the plurality of line segments, each of the text boxes being oriented to draw text in an upright position along an associated line segment; selecting one of the text boxes in which to render a text character of the text string; selecting one of the text characters from the text string, the text string being stored as a set of pixelated text characters within an image lookup table (50, 200, 250, 290), wherein the image lookup table comprises encoding data (52, 202, 204, 206, 260, 270, 280) encoding centers of the text characters in at least one direction; determining, using the encoding data in the image lookup table, if a center of the one of the text characters, when rendered in the one of the text boxes on the image, will be within the range of the line segment associated with the one of the text boxes; and rendering the one of the text characters on the display device using the one of the text boxes if a center of the one of the text characters when rendered in the one of the text boxes will be within the range of the line segment associated with the one of the text boxes; and not rendering the one of the text characters on the display device using the one of the text boxes if the center of the one of the text characters when rendered in the one of the text boxes will not be within the range of the line segment associated with the one of the text boxes. forming a text box (80A-B) for each of the plurality of line segments, each of the text boxes being oriented to draw text in an upright position along an associated line segment; selecting one of the text boxes in which to render a text character of the text string; selecting one of the text characters from the text string, the text string being stored as a set of pixelated text characters within an image lookup table (50, 200, 250, 290), wherein the image lookup table comprises encoding data (52, 202, 204, 206, 260, 270, 280) encoding centers of the text characters in at least one direction; determining, using the encoding data in the image lookup table, if a center of the one of the text characters, when rendered in the one of the text boxes on the image, will be within the range of the line segment associated with the one of the text boxes; and rendering the one of the text characters on the display device using the one of the text boxes if a center of the one of the text characters when rendered in the one of the text boxes will be within the range of the line segment associated with the one of the text boxes; and not rendering the one of the text characters on the display device using the one of the text boxes if the center of the one of the text characters when rendered in the one of the text boxes will not be within the range of the line segment associated with the one of the text boxes.