Not applicable.
The present invention generally relates to methods of enhancing the readability of text when it is presented on a display. It is commonly accepted that people, given the choice, would prefer to read textual material, which is printed rather than view the same characters presented on a display herein called a “screen”. A great deal of research has been done on so called “Human Factors” to determine, for example, the optimal font, character size, and line length for a screen display123. Unfortunately, the problem remains; people heretofore have not preferred to view text on a screen. This disclosure will teach methods to enhance the readability of text on a screen. 1 See for example Visual Communication for Forms Design published by the Ohio Department of Administrative Services, General Services Division STATE FORMS MANAGEMENT Columbus Ohio 614-466-08562 See for example Reading Text from Computer Screens by Carol Bergfeld Mills and Linda Weldon CAN Computing Survets Vol 19, No. 4 December 19873 See the Psychology of Reading by Keith Rayner and Alexander Pollasek, Lawrence Eribaum Associates, Publishers Hillsdale, N.J.
It is this inventor's opinion that the reason for the preference of paper over screen display results due to several shortcomings in the screen presentation. These shortcomings include, inter alia:
Recent advances in display screen technology provide higher resolution, color and improved contrast control (gray level). With proper presentation, such screens can advantageously be used to improve readability. Additionally, advances in electronics now permit a computationally intensive modification (simulation) of the screen presentation directed toward the improvement of human readability. We no longer need to consider screens to be simply terminal-like character displays.
Disclosed is the presentation of text data on a high-resolution display screen using an image, which includes nonlinear (3D) surface undulation and viewing perspective. This presentation results in variations of character size, rotation, and aspect across the screen. Additionally, positional cues, and coloration gradations may be added. As will be shown, all of this assists human readability and reduces fatigue.
For a fuller understanding of the nature and advantages of the present invention, reference should be had to the following detailed description taken in connection with the accompanying drawings, in which:
The drawings will be described in further detail below.
We usually read text on a screen, which is conventionally presented to us as rectilinear lines of black characters on a white background.
The book or printed page by its nature presents the printed text on an, undulating surface (possibly due to a fold) which when observed at a perspective angle from the bottom edge, also makes the characters at the top of the page appear smaller than those closer to the reader's eyes. Additionally, the print contrast (especially in poor lighting) is not as severe as is the screen contrast in the conventional display. The reflected (typically white) background also contains subtle gradations indicative of the angle of illumination. The undulations, perspective, and lighting may subtly vary as we read.
If the above features of a book or printout are exaggerated, we obtain a picture as in
When reading long sections of text, it would be comfortable to periodically break up the session by using differing presentation perspective, coloration, and undulation. One should be able to easily vary the presentation perspective, coloration and undulation as one can now alter page size and font.
To gain insight as to why the exaggerated presentation of
A program was written to test the aforementioned “easier to re-find” proposition. The test subject was first shown a highlighted word in the conventional rectilinear text presentation (
The above mentioned test was given to 20 test subjects with half of the subjects seeing the conventional rectilinear presentation first and half of the subjects seeing the perspective and undulating presentation first. The results of this test qualitatively indicate that readers refind words about 15% to 20% faster in the perspective and undulating presentation.
The idea of using curved text lines was suggested by Bizziocchi in U.S. patent application Ser. No. 10/096,746 (U.S. Publication No. 2003/0215775, now abandoned). Bizziocchi suggested that properly curved lines (downward from the line start) were of value in helping one's eyes linefeed between lines; the eye can reset from the end of a downward curved line straight across back to the beginning of the subsequent line. In
There have been people attempting to simulate real books using 3D graphics. This is the basis of the Turning-the-Pages site of the British Library. These presentations are directed to maintaining the original book quality rather than to improve readability.6 6 See http://www/bl.uk/onlinegallery/ttp/ttpbooks.html
Morsello in U.S. Pat. No. 7,028,260 suggests methods for placing and rotating characters and related characters at a path corner to make the indicia more pleasing. We envision no (abrupt) corners in our renderings for readability.
It is also interesting to note that at least one group has discussed progress in producing realistic looking books and then suggests that few people will want to read them in that format!7 7 Realistic books: A bizarre homage to an obsolete medium? Yi-Chun Chu, David Bainbridge, Matt Jones and Ian H. Witten Department of Computer Science University of Waikato Hamilton, New Zealand {ycc1, davidb, mattj, ihw}@cs.waikato.ac.nz
Fushiki in U.S. Pat. No. 6,803,913 describes a system and method for manipulating text relative to a curved reference line in order to transform a character, rendered in a particular font, to generate a warped character with the degree of warping reflecting the local curvature of the curved reference line. The curvature of the reference line is reflected in the nature of quadrilaterals, i.e., quads, generated for a corresponding rectangle on a straight reference line. The coordinates of the corners of the quad provide the parameters to carry out the transformation. Such rendering improves the appearance of the text and provides a method that modifies available fonts in a flexible fashion without the need to generate new fonts. We do not propose to render characters using the computationally intensive Fushiki method primarily, because in our proposed method of enhancing document readability (to follow), will typically render a page of text containing many (relatively small) characters which each locally will require only rotation and aspect ratio alteration to produce acceptable text appearance.
Charles Petzold has described rendering text on a generalized path with WPF but does not suggest that text on a curved path improves readability.8 8 MSDN Forum July 2009. See http://msdn.microsoft.com/en-us/magazine/dd263097.aspx
Walker in U.S. Pat. No. 7,036,075 proposes enhancement to bring attention to rule defined content of the original author's text. He suggests attention enhancement by presenting text with curved lines having content variable “dangle points”, as well as other methods such as coloration, spacing, and indentation. Walker does comment:
Another use of curved text to gain attention and highlight relationships is shown in Chang in U.S. Pat. No. 7,188,306, entitled, “Swoopy Text For Connecting Annotations In Fluid Documents”. Chang uses a “swoop” of text to connect primary source data with secondary data. Again the use of this swoop is to highlight information (using a weighted “user focus tag”) not to enhance the overall document readability.
A computer application called Bix Photobook (Outerspace Software, Amsterdam the Netherlands), a 3D photo browser, presents selected photos (images) on turnable pages and displays the reduced sized pictures as if they were on a splined page viewed as if in perspective. The photos, when enlarged, are viewed as rectilinear presentations and there is no indication that this application aids in the readability of text or that it converts text files into viewable images.
An article, “Creating and Reading Realistic Electronic Books” 9 describes the creation of pleasing electronic representations of books, the enabling of turning their pages, and the learning enhancement when compared to ordinary HTML or PDF pages. Some of the pages or their electronic representations contained images (pictures) and the authors comment that these images appeared to provide useful landmarks to the readers. No mention is made of having the HTML or PDF pages or the book representations provide either undulation, perspective, background contrast or color gradients. 9 Creating and Reading Realistic Electronic Books Liesaputra, V.; Witten, I. H.; Bainbridge, D.; Computer Volume 42, Issue 2, February 2009 Page(s):72-81
The Computational Creation of a Visually Enhanced Text Display—Method 1
Referring to
Our goal is to produce a display on screen 1 which contains positional cues and pleasing contrast and coloration to facilitate human reading without the fatigue resulting if Document Text Data 6 were simply displayed as conventional high contrast (commonly black on white) rectilinear lines of characters similar to those presented by
In order to provide a pleasing “apparent topology” for the goal display, we start with a set of topographic data 4 (details to follow). In overview, this topographic data 4 presents a (pre-computed) look up table, which permits the relocation of characters from the rectilinear coordinates of the conventional presentation to where they would appear on a specific undulating surface, if viewed from a particular elevation and distance. In addition to simple relocation on the inventive screen map, the topographic data also provides information on how the characters at that relocated point should be scaled (horizontally and vertically) and rotated as necessary to depict them, as they would appear on the instance undulating surface from a fixed observation distance and elevation. The topographic data 4 may apply to one or more pages of inventive screen display and can be periodically changed to maintain reading interest. It is also possible that the undulation curvature might be changed between alternating pages, much as a book spine would.
Data 2 provides a frame of how the background markings and coloration of the goal inventive display should appear for the instance page. Data 2 might include color highlights, as if the inventive display were illuminated from some angle, and also might include reference marking (for example a “watermark”). Both coloration and reference markings would (in most cases) not be rectilinear, as they would necessarily, for best appearance, follow or result from the undulations of the topology. Dotted connection 5 is included to connote the fact that the two instance databases 2 and 4 may be related. The background also may include border features including even a sense of how many pages have been turned.
Module 3 produces the pixels for the background of the goal display, while module 7 computes the pixels for the characters as they are repositioned, sized, and rotated. The outputs of module 3 at line 12 and module 7 at line 11 then are mixed by module 8 to provide the final pixel stream at line 13 for display by inventive display screen 1.
The majority of the rendering computation occurs in module 7, which accepts (i) the Document Text Data for the instance page from file 6, (ii) the Text Font Data for the instance page from file 10, and (iii) the Topographic Data for the instance page from file 4 and proceeds to create an inclined perspective image which includes the perception of topology undulations, perspective and background highlights on line 11.
Module 7 might accomplish the desired character repositioning, character aspect correction, and character rotation, in many ways and by various orderings of the steps. For example, free form topographic reshaping is used widely in the animation industry, where specialized computational hardware may be employed and the time delay required to create a new movie) frame is acceptable.
First we will present a computational process, which is practical for implementation in an inexpensive consumer machine (PC), because it provides one or more sets of topographic data 4 in the form of compact look up table(s) and further reduces computational overhead by accepting certain first order approximations. This enables the rapid placing, sizing, and rotating of text characters, so that they appear on the screen as if they are on a simulated topology-our goal.
Referring now to
Our goal is to map conventional rectilinear placed characters 30 and 33 to those at 31 and 34 on the inventive screen. We will first focus on the character at position 30, which maps to location 31 on the inventive screen. Position 32 is the same physical display location as position 30. Thus, the character bottom center 30 needs to be moved from 32 to 31 on the inventive presentation. As would be expected, we also may need to (i) scale the character's height and width to provide the desired subtle features (characters at the top of the page are smaller even on locally flat areas of undulation). The local undulation [slope and direction] can affect both the height and width), and (ii) rotate the height and width adjusted character when placed at 31.
To accomplish this method, I propose that a relatively low-resolution array of points be envisioned on the entire conventional rectilinear display (see
Each selected array point at position x,y in
D(x,y)=ΔX, ΔY, AX, AY, R
where:
The above data could be floating point numbers (with sign) but the quantity of data might be reduced, if certain simplifying assumptions are made;
This particular approach would require only 7 bytes of data for each (x,y) array point or 630 Kbytes for our entire example 400 by 225 array topology file 4; a practical file size. We will, of course, need to determine D(x,y) for points which are not in the point array positions. This can be done by linear interpolation using the nearest neighbor array points. Because the surface and local changes in aspect and rotation are relatively “smooth”, a linear interpolation should be suitable. The initial creation of D(x,y) at the array points and various appropriate methods of interpolation will be apparent to those skilled in the art of 3D surface manipulation.
The flow chart depicting the method of moving a character from the conventional screen to a position on the inventive display is shown in
Next we will introduce a software intensive method. Although currently not as fast as method 1, it will become more practical as computer capabilities grow.
Method 2—The Software Intensive Computational Creation of a Visually Enhanced Text Display
A printed page of text is commonly viewed at an angle, and might also be curved somewhat. The algorithm described below is intended to simulate perspective and curvature of a page of text on the computer screen, but in a way that is computationally efficient, requires a minimum of parameters, and maintains fidelity of the text.
The algorithm avoids the use of 3D graphics, which can be time-consuming, not available on some platforms, and might actually degrade text readability. It, instead, requires only a graphics programming environment that allows each character on a page to be independently manipulable with standard two-dimensional affine transforms-translation to another position, scaling in size in either the horizontal and vertical dimensions, and rotation. Individual characters are not tapered.
A page of text has a width of W and height of H. These can be metrical units (based on inches or millimeters, for example), or pixels, or arbitrary units. Any location on the page can be represented by the point (X, Y), where X is between 0 and W, and Y is between 0 and H.
It is assumed here that values of X increase from left to right, and values of Y increase from top to bottom, although these conventions are not necessary. With these conventions, the upper-left corner of the page is the point (0, 0), the upper-right corner is (W, 0), the lower-left is (0, H), and the lower right is (W, H).
The objective here is to derive a process that can convert any point (X, Y) on the original page to a point (X′, Y′) on the transformed page. The X′ value will not necessarily be between 0 and W, and Y′ will not necessarily be between 0 and H.
The simulated perspective and curvature of the page is governed by two curves, one associated with the top of the page and the other associated with the bottom of the page. These can be any type of curve defined by parametric formulas, but will likely be some kind of two-dimensional Bezier curve, since these are well supported in computer graphics environments.
Solely for purposes of illustration, quadratic Bezier curves will be used here. A quadratic Bezier curve is defined by three points: the curve begins at the point (Xbeg, Ybeg), and ends at (Xend, Yend). Between those two points, the curve bends toward (but does not necessarily pass through) a control point, (Xctrl, Yctrl).
The parametric formulas that describe the quadratic Bezier Curve are:
X(t)=(1−t)2×Xbeg+2t(1−t)×Xctrl+t2×Xend
Y(t)=(1−t)2×Ybeg+2t(1−t)×Yctrl+t2×Yend
for t from 0 to 1. (Notice that for t equals zero, X and Y equal Xbeg and Ybeg, respectively, and for t equals 1, X and Y equal Xend and Yend, respectively.)
One curve, Qtop, is associated with the top of the page, and another, Qbot, is associated with the bottom of the page. Thus, with the use of quadratic Bezier curves, the entire perspective and curvature of the page is controlled by a mere six points.
For Qtop, (Xbeg, Ybeg) will usually be in the vicinity of the upper-left corner of the untransformed page, that is, the point (0, 0), and (Xend, Yend) be in the vicinity of the point (W, 0). Similarly, for Qbot, (Xbeg, Ybeg) will usually be in the vicinity of the lower-left corner of the page, the point (0, H), and (Xend, Yend) be in the vicinity of the point (W, H).
If the two curves begin and end at the untransformed corners of the page, and if the Qtop control point is (W/2, 0) and the Qbot control point is (W/2, H), the transformed page is the same as the untransformed page.
Otherwise, the transformed page has an overall shape that is curved at the top and bottom. The top of the transformed page is given by the curve Qtop and the bottom by Qbot. The left side of the transformed page is a straight line between the begin points of Qtop and Qbot. The right side is a straight line between the end points of Qtop and Qbot.
For any point (X, Y) on the page, an interpolated curve between Qtop and Qbot can be found based on the Y coordinate relative to the height of the page. Then, a point (X′, Y′) on that interpolated curve can be found using the parametric equations of the interpolated curve based on the X coordinate relative to the width of the page.
The interpolation is performed with this process: The curve Qtop has a length Ltop, and Qbot has a length Lbot. These lengths may be calculated simply by applying the Pythagorean Theorem to the begin and end points, or in a more complex manner by calculating the actual geometric lengths of the curves. These relative lengths will govern the perspective effect. Calculate a ratio of the bottom length to the top length:
R=L
bot
/L
top
For any point (X, Y) on the page, calculate a vertical position of the point relative to the height of the page:
t
vert
=Y/H
Obviously, tvert will range from 0 to 1. Adjust this value for a perspective effect using the R value calculated above:
t
pers=(2×tvert+(R−1)×tvert2)/(R+1)
This formula is based on the integral of a straight-line interpolation. If R equals 1, tpers always equals tvert. Otherwise, when tvert equals 0 (which corresponds to the top of the page), tpers will also equal 0. When tvert equals 1 (the bottom of the page), tpers will also equal 1, but if R equals 2 (that is, Qbot is twice the length of Qtop), then when tvert equals 0.5, tpers will equal approximately 0.42, closer to the top than the bottom.
Use tpers to interpolate between the points that define Qtop and the points that define Qbot to derive the points that define the interpolated curve Qinter.
Using this interpolated curve, a point can be found on that curve using the following process:
Calculate a relative horizontal position of the point on the page:
t
horz
=X/W.
This value thorz will also range from 0 to 1. Use this value in the parametric formulas for Qinter to find (X′, Y′).
Now that it is known how to transform any point (X, Y) to (X′, Y′), this process can be applied to three corners of each text character as described here:
The upper-left corner of each character of text on the page is located at the point (Xleft, Ytop) relative to the upper-left corner of the page. (On many pages of text, Ytop will be the same for all characters in the same line of text, and Xleft will be the same for the first characters of each line of text, but these assumptions are not required.)
Each character has a width Wch and a height HCh. (This height is the same for all characters of a particular font and font size.) The upper-right corner of each character is therefore (Xleft+Wch, Ytop) or (Xright, Ytop). The lower-left corner of the text character is the point (Xleft, Ytop+Hch) or (Xleft, Ybottom).
Use Ytop to find an interpolated curve corresponding to the top of the character. Use that curve with a t value based on Xleft to transform (Xleft, Ytop) to (X′left, Y′top). Use that same curve with a t value based on Xright to transform (Xright, Ytop) to (X′right, Y′top).
Use Ybot to find an interpolated curve corresponding to the bottom of the character. Use that curve with a t value based on Xleft to transform (xleft, Ybot) to (X′left, Y′bot).
It is then possible to derive a standard graphical transform for that character based on the composite of the following transforms performed in this order:
Horizontal scaling calculated as (X′right−X′left)/(Xright−Xleft)
Vertical scaling calculated as (Y′bottom−Y′top)/(Ybottom−Ytop)
Rotation based on the angle of the line from (X′left, Y′top) to (X′right, Y′top)
Horizontal translation calculated as (X′left−Xleft)
Vertical translation calculated as (Y′top−Ytop).
Each character of text is scaled, rotated, and translated using the composite transform calculated for that character.
How these transforms are applied to each character is, of course, dependent on the particular platform in which the algorithm is implemented. In the Microsoft Windows Presentation Foundation, for example, each character on the page is displayed with either a TextBlock object or a Glyphs object, and the position of the character on the untransformed page is indicated by a coordinate point. In either case, a TransformGroup is set to the RenderTransform property of the TextBlock or Glyphs object. To the Children property of the TransformGroup are added objects of type ScaleTransform, RotateTransform, and TranslateTransform, in that order. The ScaleX and ScaleY properties of the ScaleTransform are set for horizontal and vertical scaling as calculated above. The Angle property of the RotateTransform is set for rotation. The X and Y properties of the TranslateTransform are set for horizontal and vertical translation. When the character is rendered, these transforms cause the character to be scaled, rotated, and moved relative to its original position on the page.
While the invention has been described with reference to several embodiments, those skilled in the art will understand that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. In this application all units are in the system indicated and all amounts and percentages are by weight, unless otherwise expressly indicated. Also, all citations referred herein are expressly incorporated herein by reference.
This application claims benefit of provisional application Ser. No. 61/080,765, filed on Jul. 15, 2008, the disclosure of which is expressly incorporated herein be reference.
Number | Date | Country | |
---|---|---|---|
61080765 | Jul 2008 | US |