BACKGROUND OF THE INVENTION1. Field of the Invention[0001]
This invention relates generally to a display control system and, more particularly without limitation, to a system for controlling the display on the screen of a computer monitor for the purpose of reducing eye strain of, and increasing readability for, a user.[0002]
2. Description of the Related Art[0003]
Reading has never been a particularly natural task for the human eye, but scanning text on a computer screen appears to be especially more effortful than it is on a printed page. While the popular view of this phenomenon is that text on computers causes eye strain, it is more likely that text viewing generally increases the cognitive load on the user in a variety of ways. One of the main factors that may contribute to difficulty reading text on a computer screen has to do with document length. A common solution used to display long documents is to scroll the screen to bring more of the material into view. Prior art employs two scrolling strategies: screen-by-screen, line-by-line. The problem is that, however efficient these scrolling strategies are from an engineering standpoint, they may actually make the reading task more difficult for the user. The relevant issues encompass three key aspects of readability, namely reading speed, reading comprehension, and reading ease, each of which can be observed and measured as viewer performance variables. Content complexity can be considered a control variable, and should be used to distinguish effects among the three performance variables bearing on readability.[0004]
Users employ two strategies to move down through a long document, either to advance screen-by-screen or line-by-line, neither one of which is conducive to natural reading. Scrolling screen-by-screen is disruptive to the reading experience because it causes users to lose their place, forcing them to free cognitive resources away from text comprehension in order to reorient the eye in the proper location in the text. The other option is to scroll line-by-line, ensuring that only previously viewed material is removed from view, not new material. However, this imposes a control task on the reader that similarly drains cognitive resources away from the primary task of text comprehension.[0005]
Such strain is due in part to the sudden and repetitive vertical shifting of screen contents and the natural attempt by the human visual system to follow such apparent motions. It may also be due in part to a reduction of blinking, since the flicker caused by scrolling spoofs physical blinking. Continuous scrolling, by more or less constant vertical motion of screen contents, likewise subjects the viewer to strain due to finer, but more frequent, vertical steps and flicker. Furthermore, continuous scrolling rarely achieves real freedom from the distraction of display control; reading speed normally varies with content complexity, which may change substantially both within and between documents.[0006]
Thus, in choosing any of the commonly available scrolling strategies for consuming substantial reading material on-screen, the readability of the material is normally compromised. This happens either by disruptions in information flow, by distractions from the task of consuming and comprehending information, or by additional eye stress and fatigue. Fatigue may even foreshorten the consumption of significant amounts of readable material and affect comprehension.[0007]
Another problem with using a computer monitor for consuming readable material is that lines of text generally span from near one side of the monitor to the other. This may require substantial lateral eye movement for every line of text, which can cause user fatigue. Upon completion of reading one line of test, the human visual system generally retraces the line to find the beginning of the subsequent line of text. If the line of text is too long relative to its height, retrace errors can occur, disrupting the flow of information similarly to the incomplete scrolling problem previously described. Thus, readability is again compromised in reading ease and reading speed domains.[0008]
Prior art attempts to resolve this particular problem generally introduces either reduced-width columns or multiple columns of material on-screen. Reduced width columns are certainly more readable, having shorter lines that are more easily retraced. However, reduced width columns also result in more scrolling, since the area required to present the material is more or less fixed, and reducing the width merely increases the depth needed to be reached by scrolling. Multiple columns of material may also result in reduced column width. However, the typical presentation layout principle is to form columns with a sufficient depth to reach the bottom of the printable page, and is primarily suited for off-screen consumption. Alternatively, a presentation layout principle for on-screen consumption is to more or less balance the depth of the columns. In this case, the scrolling task is even greater; the viewer must scroll to the bottom of a column and then scroll completely back to the top of the subsequent column. Thus, these prior art attempts to manage column widths may actually result in additional losses to readability.[0009]
Another common problem is the use of inappropriate type fonts in presenting material onscreen. The publisher may make use of rather small fonts, which can crowd more information onto the screen at once, thereby reducing the amount of scrolling required for complete consumption of the presented information. This strategy generally results in additional eye strain, due to squinting or straining to read uncomfortably small print, and due to increased retrace errors caused by long narrow lines of text. Again, readability is compromised. The significance of type fonts as bearing on readability is dependent on individual viewers (visual acuity) and on their environment (external lighting and monitor quality). Individual response to eye strain, as caused by small fonts or repetitive vertical scrolling, may invoke symptoms of optokinetic nystagmus, which is an involuntary eye reflex further enhanced by eye strain, which may also negatively affect reading performance. Nystagmus may arise regardless of font selection, however, due to eye strain induced by scrolling alone. The viewing environment issues (external lighting and monitor quality) may be considered noise factors in measuring readability, requiring controlled experimentation and statistical analysis. The intent of the publisher of the document is, presumably, to present information appropriately by predetermined font selections. Due to individual viewer preferences and environment factors, such intentions may well result in a higher rate of eye strain and reduced readability than normally considered or assumed.[0010]
Prior art often permits the viewer to adjust the size(s) of the type font used to render the document on-screen. The effort to discover and use methods to modify font size may discourage their use. More significantly, the presentation layout principles incorporated in the prior art are often inadequate to desirably fulfill viewer requirements to improve readability through font size modification. As an example, consider the implementation of multiple columns for a recent release of a web browser: the number of columns is prescribed by the web page author and cannot be modified by the viewer. As the viewer overrides the publisher's font selections in order to significantly enlarge font sizes for his own particular situation, the quality of the layout can be compromised. For instance, lines of text can easily contain too few characters, with large gaps for words that might preferably be hyphenated. In addition, there is a disproportionate increase in the rate of retracing and the amount of requisite scrolling. All this results in a substantial reduction in readability.[0011]
Similarly, when a person engages in reading a lengthy publication, a natural tendency is to settle back in the chair for comfort. When reading printed material, this is generally a well-supported activity; unless the publication itself is too heavy, the reading distance is easily maintained. For on-screen consumption of information, however, reading distance is not easily maintained even with laptop computers. Viewers could clearly benefit by simply increasing font sizes in proportion to the increased reading distances afforded by more comfortable sitting positions. However, the practical difficulties in accomplishing this simple goal with prior art are quite apparently rather significant. Font size modifications by the viewer, in and of themselves, are generally inadequate to enhance readability using the prior art.[0012]
Thus, what is needed is a system for enhancing the readability of on-screen presentations of information. Such a system would eliminate the need for scrolling. It would also limit the line widths of readable text to a useful range. It would also allow the viewer to easily modify font size and apply better presentation layout principles to preserve and enhance on-screen consumption of information.[0013]
SUMMARY OF THE INVENTIONAn improved system is provided for on-screen publishing of documents, including combinations of text, graphics, and tables, to the consumer. The key features of this system include: precluding the use of window scrolling, to accommodate information too extensive to be displayed at one time, through the use of page-turning techniques; conforming this information to multiple columns to enhance readability; and integrating, in the multiple column layout on the on-screen presentation, font resizing operations conducted by the information consumer.[0014]
More specifically, an improved computer system is provided for automatically converting a scrollable electronic document, including text, graphics, tables and combinations thereof, from a scrollable format to a non-scrollable format, the system comprising a page-forming mechanism configured to operatively and automatically arrange the scrollable electronic information document into a plurality of non-scrollable pages, each having one or more columns wherein each of the columns has a width corresponding to a number of characters per line within a predetermined range of characters per line; a screen having a display window configured to simultaneously display a selected one of the plurality of non-scrollable pages in its entirety; and a page-turning mechanism configured to selectively, sequentially and individually display the plurality of non-scrollable pages in the display window. The page-forming mechanism may include a content formatter mechanism that is configured to be operatively responsive to formatting commands, either common word-processing commands or html commands or both, embedded in the electronic document. The page-forming mechanism includes a font-sizing mechanism configured to operatively permit a user to selectively alter the size of the characters comprising the non-scrollable pages. Also, the system includes an image sizing mechanism configured either to automatically alter the widths of graphic images and tables in the electronic document to proportionately conform to the width of the one or more columns, or to reduce the graphic images and tables to selectively expandable icons positioned in the displayed document.[0015]
Briefly, a first described embodiment of the present invention is configured to manipulate text utilizing common word-processing commands and graphics images embedded in a source document, whereas a modified embodiment thereof is configured to additionally manipulate tables and utilize html commands embedded in the source document.[0016]
A method is provided for practicing the invention.[0017]
PRINCIPAL OBJECTS AND ADVANTAGES OF THE INVENTIONThe principal objects and advantages of the present invention include: providing a system and method for eliminating scrolling while viewing lengthy material on a monitor; providing such a system and method that establishes a maximum line width for text intended to be read by a user; providing such a system and method for permitting a user to selectively enlarge information printed in small fonts such that the material can be easily read while the user sits at a comfortable viewing distance from the monitor; providing such a system and method for automatically recalculating the number of displayed columns in response to a user change in size of displayed font; providing such a system and method for automatically reformatting displayed material in response to a user change in size of displayed font; providing such a system and method for automatically resizing graphics images embedded in a source document to fit within a column; providing such a system and method for automatically converting graphics images embedded in a source document to an icon or object image that is selectively expandable and reconvertable to the originally intended image; providing such a system and method for automatically resizing tables embedded in a source document to fit within a column; providing such a system and method for automatically converting tables embedded in a source document to an icon or object image that is selectively expandable and reconvertable to the originally intended table display; and generally providing such a system and method that is efficient in operation, reliable in performance, capable of long operating life, and is particularly well adapted for the proposed usage thereof.[0018]
Other objects and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings, which constitute a part of this specification and wherein are set forth exemplary embodiments of the present invention to illustrate various objects and features thereof.[0019]
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic representation of a display control system for converting a scrollable computer display to a non-scrollable columnar computer display, according to the present invention.[0020]
FIG. 2 is a more detailed schematic representation of the display control system.[0021]
FIG. 3 is a schematic representation of an application of the display control system, according to the present invention.[0022]
FIG. 4 is a schematic representation of a modified embodiment of the display control system, according to the present invention.[0023]
FIG. 5 is a more detailed schematic representation of the modified embodiment of the display control system.[0024]
FIG. 6 is a schematic representation of an application of the modified embodiment of the display control system, according to the present invention.[0025]
DETAILED DESCRIPTION OF THE INVENTIONAs required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which may be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure.[0026]
The reference numeral[0027]1 generally refers to a display control system in accordance with the present invention, as shown in FIGS. 1 through 3. The system1 generally comprises ascreen3, a page-formingmechanism5, aresizing mechanism7, a screen-printing mechanism13, and paging means such as in the form of a page-turning mechanism15.
It is to be understood that the system[0028]1 includes various software algorithms, commonly known to persons skilled in the programming art, which, in combination with each other and with various devices and components, also known to those having skill in the computer hardware and software arts, provide the various objectives and benefits of the present invention, as hereinafter described. A printout of the computer source code for realizing the objects and advantages of the system1 is attached hereto as Appendix A, which is incorporated herein by reference.
The[0029]screen3 generally includes adisplay window17, wherein thedisplay window17 may include the entire viewing area of thescreen3 or may include only a smaller, selected portion of the available viewing area of thescreen3, as suggested in FIG. 1. It is to be understood that thescreen3 may be the displayable component of a cathode ray tube type of monitor, or may be any other type of monitor used for displaying information electronically.
First formatting means, such as in the form of a screen[0030]page formatting mechanism23 of the page-formingmechanism5, is configured to form ascreen page27 dimensioned to fit within the viewing area of thedisplay window17 and to thereby limit the quantity of electronic information available for printing to thescreen3 to only enough electronic information which will fit within the viewing area of thedisplay window17. In other words, the amount of information available for thescreen3 at any given time can be written in its entirety within thedisplay window17, as hereinafter described.
The screen[0031]page formatting mechanism23 is configured to automatically determine the manner in which electronic information, sometimes referred to herein assource document33, will be displayed in thedisplay window17. The screenpage formatting mechanism23 automatically determines the display capabilities available within thedisplay window17, such as number of pixels comprising a horizontal line of thedisplay window17, for example. Generally, the system is preset to utilize a user-selected font, such as Times New Roman for example, and a user-selected font size, such as 12- or 14-point type or other desirable fontsize, sometimes referred to herein as the “base font”, wherein the current base font is the font currently selected by the user for presentation of the document. It is to be understood that the font size is further adjustable in size by the user as hereinafter described.
The screen[0032]page formatting mechanism23 includes column determining means, such as in the form of acolumn formatting mechanism35, that, after first determining the maximum number ofcolumns37 having certain desired width characteristics, is configured to automatically format thescreen page27 into that maximum number ofcolumns37.
The system[0033]1 also includes a font-sizingmechanism43, which allows the user to selectively increase the size of the selected font by progressively mouse-clicking on a designated font-size enlarging button45, or to selectively decrease the size of the selected font by progressively mouse-clicking on a corresponding font-size reducing button47. In addition, the system1 may also be configured to enlarge the font size by keypressing the “up arrow button”49 of a keyboard50 of the system1, and reduce the font size by keypressing the “down arrow button”51 of the keyboard50.
Alternately or additionally, the system[0034]1 may include a font-size pull-down menu53 or other suitable arrangement wherein a particular size of font may be directly selected without having to progressively enlarge or progressively reduce the font size with the font-size enlarging and reducingbuttons45 and47. Of course, any change in the size of the font may alter the maximum number of thecolumns37 that can be displayed in thedisplay window17 while retaining desired width characteristics for thecolumns37. As a result and in response to a change in the font size, the screenpage formatting mechanism23 is configured to automatically recalculate the new maximum number of thecolumns37 having the desired width characteristics that is displayable in thedisplay window17, and thecolumn formatting mechanism35 is configured to automatically reformat thescreen page27 accordingly.
Examples of computer code to implement the font changing means of the present invention include: interpreting activation of the font size enlarging and reducing[0035]buttons45,47 as change-font-size changing commands shown in Appendix A, beginning at page 10, line 20; interpreting “up” and “down” arrow key presses of a keyboard of the computer system4 as change-font-size commands shown in Appendix A, beginning at page 10, line 42; responding to user commands to step font size up or down shown in Appendix A, beginning at page 14, line 32; incrementing the base font size up or down by one index value shown in Appendix A, beginning atpage 13, line 8; and setting base and footer fonts according to new current font size index shown in Appendix A, beginning at page 14, line 42.
Second formatting means, such as in the form of a display[0036]page formatting mechanism25 of the page-formingmechanism5, includes asource resizing mechanism63 configured to automatically enlarge or reduce, as appropriate, the size of the font of all text of thesource document33 to conform to the size of font selected by the font-sizingmechanism43, as hereinbefore described. The displaypage formatting mechanism25 is further configured to automatically divide thescrollable source document33 into asegmented display document55, eachsegment57 comprising one of a plurality ofsequential display pages57, each of which display pages57 comprises only enough material from thesource document33 to partially or totally fill each of thecolumns37 of thescreen page27, as suggested by the portions designated by thenumerals59,60,61 in FIG. 2, as an example wherein thescreen page27 is formatted into three of thecolumns37. The displaypage formatting mechanism25 may also be configured to be responsive to certain in-line commands in thesource document33, such as paragraph indent, word wrap, and other common word-processing commands provided by popular word processing programs.
It is to be understood that formatting and segmenting of the[0037]display document55 may or may not be a separate operation but, instead, may be conducted concurrently with the printing of a selected one of the display pages57 to thescreen page27, with the system1 automatically tracking whichportions59,60,61 is currently printed or being printed to thedisplay screen17, and which portions correspond to each of the other display pages57.
It is also to be understood that when the font-sizing[0038]mechanism43 is activated to alter the font size as hereinbefore described, not only does the screenpage formatting mechanism23 automatically recalculate the physical width of thecolumns37 to thereby maintain the desired number of characters per line within a desired range of characters per line and also automatically reformat the new number ofcolumns37 into thescreen page27, the displaypage formatting mechanism25 also automatically redetermines thespecific text59,60,61 of thesource document33 to be displayed in each of thecolumns37 of each of the display pages57.
In other words, the display[0039]page formatting mechanism25 re-segments thedisplay document55 into a new set ofsequential display pages57 until reaching the end of the text or graphics elements of thesource document33. Again, each newly reformatteddisplay page57 contains only enough material to partially or totally fill the newly formattedcolumns37 of thescreen page27, including allowing for a newly determined number of thecolumns37 resulting from the change in font size implemented by the font-sizingmechanism43.
The[0040]source resizing mechanism63 may also include resizing means, such as in the form of animage resizing mechanism65, configured to automatically recognize and resize graphic images contained in thesource document33. Theimage resizing mechanism65 may be adapted to reduce the width of the graphic images to correspond to the width of thecolumns37 in thescreen page27. Alternately, thesource resizing mechanism63 may include icon forming means wherein theimage resizing mechanism65 may be configured to convert each of the graphic images contained in thesource document33 to arespective icon75 and displaying each of theicons75 in close proximity to text in thedisplay document55 that was positioned near the respective graphic image in thesource document33. In that event, thesource resizing mechanism63 includes expanding means wherein theimage resizing mechanism65 is configured to automatically expand a selected graphic image to its originally intended display size by a simple command, such as mouse-clicking therespective icon75 for example.
Displaying means, such as in the form of the[0041]screen printing mechanism13, is configured to print a selected one of the display pages57 to thescreen page27 by methods commonly known in the related art.
The page-turning mechanism[0042]15 is configured to individually and sequentially, either forwardly or backwardly, page through the display pages57 such that all information of thesource document33 is selectively cycled, without scrolling, into the user's view on thescreen3, adisplay page57 at time. In other words, the page turning mechanism15 is adapted to replace a currently displayeddisplay page57 with any previous orsubsequent display page57 of thedisplay document55 in response to a user request to display any such previous orsubsequent display page57. By this arrangement, the system1 eliminates the need to scroll information displayed in thedisplay window17 since the display area required to display the information contained in any selecteddisplay page57 does not exceed the display area provided by thecolumns37 of thescreen page27.
In an application of the present invention, the screen[0043]page formatting mechanism23 automatically determines the display capability of thedisplay window17 in which the information contained in thesource document33 is to be displayed. If the entire viewable area of thescreen3 is to be used for thedisplay window17, then the screenpage formatting mechanism23 is configured to adapt the width and height characteristics of thescreen page27 to conform to the width and height characteristics of the viewable area of thescreen3. Similarly, if the user, employing standard window sizing and placement methods appropriate to the user's computer system, desires to specify a width for thedisplay window17 that is smaller than the viewable width of thescreen3 and/or a height for thedisplay window17 that is smaller than the viewable height of thescreen3, then the screenpage formatting mechanism23 is configured to adapt the width and height characteristics of thescreen page27 to conform to the width and height characteristics of the user-desireddisplay window17. By so limiting the dimensions of thescreen page27, scrolling of information printed to thedisplay window17 is eliminated since the dimensions of thescreen page27 are fully disposed within the specifieddisplay window17. It is to be understood that the user may also desire to place thedisplay window17 at a selected position on thescreen3, or from time to time change the location of thedisplay window17 on thescreen3. In that event, thescreen printing mechanism13 is configured to operatively and correspondingly position thescreen page27 at the same identical location of thedisplay window17 on thescreen3.
If desired, a small area may be selectively reserved as a footer or[0044]information area80 along one edge of the display area for displaying information not necessarily contained in thesource document33. Of course, therepresentative portions59,60 and61 must be adjusted accordingly. Thus, thescreen page27 has been formatted to non-scrollably display electronic information, as schematically indicated by “FORMAT DISPLAY”103 in FIG. 3. An example of computer code for adjusting the dimensions of thescreen page27 to account for any displayed footer area is shown in Appendix A, beginning at page 14, line 56.
Next, the screen[0045]page formatting mechanism23 of the system1 is configured to automatically calculate the number of columns to comprise thescreen page27 by measuring the pixel width of the minimum standard line of text according to the current base font. By definition, a minimum standard line of text is comprised of a set of characters meaningfully representing the typical number of characters of text in a line of text considered to be at the short limit for comfortable reading. Generally, such a set of characters comprises a predetermined number of identical characters, such as thirty characters, more or less, with the identical characters being the lower case “n” character, or other suitable character of similar width, such short limit being well-known in the typesetting industry.
The system[0046]1 then divides the pixel width of thedisplay window17 by the pixel width of the minimum standard line of text to calculate a proposed column number, the number ofcolumns37 assigned to be automatically formatted into thescreen page27 being either “one” or the proposed column number, whichever is greater. The screenpage formatting mechanism23 then formats thescreen page27 as an array of thecolumns37, utilizing various appearance features known in the art, wherein the array of thecolumns37 consists of the assigned number of thecolumns37 generally have uniform width, height and separation in thescreen page27. An example of computer code for determining the number of thecolumns27 for a standard range of characters per line given the width of thedisplay window17 is shown in Appendix A, beginning atpage 25, line 8.
The system[0047]1 is then ready to receive thesource document33, including graphics images, as schematically indicated by “RECEIVE ELECTRONIC INFORMATION”105 in FIG. 3. Theresizing mechanism63 then resizes all text of thesource document33 to the size of the base font, as schematically indicated by “RESIZE TEXT”107 in FIG. 3. The system1 resizes the text elements of thesource document33 by filling thecolumns37 with text elements, printing the text to thedisplay window17 using the base font and size while being responsive to in-line formatting commands included in the text of thesource document33, wherein the in-line formatting commands may consist of a subset of HTML tags, a subset of document formatting codes such as those provided by a word processor, or document layout specifications; breaking the lines by hyphenating words that are too long to be printed within the column width pursuant to the font metric imposed by the base font and in-line formatting rules of the system1, or breaking the lines on word boundaries in contiguous text elements, such as for paragraph and line break inclusions, either directly indicated by paragraph or break tags or indirectly indicated, such as by outline inclusions. Then, breaking the line filling at the end of individual text element segments, as indicated either by the inclusion of graphic elements, such as theicons75, or by the end of thesource document33.
Further, the[0048]image resizing mechanism65 converts graphics images of thesource document33 intoicons75 or images having width dimensions not greater than the width of the columns formatted in thescreen page27, as schematically indicated by “RESIZE GRAPHICS”113 in FIG. 3.
Resizing of a graphics image by the system[0049]1 generally comprises: comparing the actual width of the graphic image with the available width of thecolumn37. If the width dimension of the graphic image exceeds the width dimension of thecolumn37, the width of the graphic image is proportionately reduced to fit within the width of thecolumn37, the height also preferentially reduced by the same proportion; if the height dimension of the graphic image exceeds the height of thecolumn37 of thescreen page27, the height of the graphic image is proportionately reduced to fit within the height of the column of thescreen page27, the width also preferentially reduced by the same proportion. The graphics image is then rendered as an in-line graphic element and (i) placed immediately after any prior text elements in the current line of thecurrent column37 of thedisplay page57, or (ii) if the width of the graphics image exceeds the remaining width of the current line of thecurrent column37 of thedisplay page57, placed immediately below the current line of thecurrent column37 of thedisplay page57, or (iii) if the height of the graphics image exceeds the remaining height of thecurrent column37 of thedisplay page57, placed in thenext column37 of thedisplay page57, or (iv) if thecurrent column37 is thelast column37 of thecurrent display page57, retained for display in thefirst column37 of the next succeedingdisplay page57.
An example of computer code for downloading the original graphic images from a remote file, caching the graphic images, and returning the corresponding image object or[0050]icon75 is shown in Appendix A, beginning atpage 3, line 4.
It is to be understood that resizing of the text font and/or resizing of the graphics images of the[0051]source document33 may or may not be a separate operation but, instead, may be conducted concurrently with the printing of a selected one of the display pages57 to thescreen page27.
Thus, the resized text, with the[0052]icons75 appropriately positioned therein such that the text either stops above each of theicons75 and continues below each of theicons75, or, if desired, wraps around each of theicons75, is reformatted to essentially convert thesource document33 into thedisplay document55 with a width of one of thecolumns37. The displaypage formatting mechanism25 then equivalently segments thedisplay document55 into a plurality ofsequential display pages57, as schematically indicated by “SEGMENT ELECTRONIC INFORMATION INTO DISPLAY PAGES”117 in FIG. 3.
Then, a selected one of the plurality of[0053]screen pages57 is printed, either concurrently with the resizing or subsequently, to thedisplay window17 by the screen-printing mechanism77, as schematically indicated by “SCREEN PRINT TEXT AND GRAPHICS OF SELECTED DISPLAY PAGE”123 in FIG. 3. Since the quantity of information from thesource document33 printed to thescreen3 at any given time is only enough to partially or totally fill thecolumns37 of thescreen page27, need for scrolling in order to see all of the information printed to thescreen3 is eliminated by the present invention. An example of computer code for printing a selected one of the display pages57 to thedisplay screen17 using the current base font and the automatically calculated number of thecolumns37 is shown in Appendix A, beginning at page 16, line 11. Also, an example of computer code for resizing text and graphics images and printing thecurrent display page57 line-by-line and word-by-word, hyphenating as needed, parsing tag-based formatting instructions for text, resizing graphics images to fit within column width, and returning end-of-tag indices is shown in Appendix A, beginning at page 18,line 3.
If desired, the user may selectively change the size of certain features of the displayed material. More specifically, one of the features selectively changeable by the user is the font size, as schematically indicated by “ALTER FONT SIZE”[0054]125 in FIG. 3. If font size is changed, the screenpage formatting mechanism23 would be activated to reformat thescreen page27, including recalculating the number ofcolumns37 to be included in such reformatting, and the displaypage formatting mechanism25 would be activated to develop a newsegmented display document55 corresponding to the reformattedscreen page27, as hereinbefore described. Generally, altering font size will cause the system1 to automatically return to thedisplay page57 being printed to thescreen page27 to the first one of the plurality of sequential display pages57.
Additionally, the[0055]icons75 may be activated to expand the underlying graphics images to disclose or enlarge those features of thesource document33, as schematically indicated by “ALTER GRAPHICS SIZE”127 in FIG. 3. Preferably, activating theicons75 does not cause the system1 to return to the first one of the plurality ofsequential display pages57 as when altering the font size.
After viewing the[0056]display page57 being printed to thedisplay window17, the user may proceed to the nextsequential display page57 or the immediately precedingdisplay page57 as desired by activating the page-turning mechanism15, such as selecting an appropriate pull-down menu, mouse-clicking a designated button, or other suitable arrangement, as schematically indicated by “SELECT NEW DISPLAY PAGE”135 in FIG. 3. As a result, a corresponding one of the plurality ofdisplay pages57 is printed to thescreen page27, as schematically indicated by “SCREEN PRINT TEXT AND GRAPHICS OF NEWLY SELECTED PAGE”137 in FIG. 3. Again, scrolling of the information displayed in thedisplay window17 is eliminated since the display area required to display the information contained in eachdisplay page57 is not greater than the available display area provided by thecolumns37 of thescreen page27.
In other words, the system[0057]1 may provide an expedited method for changing font size while maintaining readability by maintaining a standard number of characters per line, as follows: (i) changing font size steps by accepting user input for stepping base font size up or down, keyboard input (e.g. up or down arrow keys), or graphical user interface “button”elements45,47; (ii) limiting the range of base font sizes (e.g., 8-point to 96-point fonts), (iii) limiting user input to defined range of font sizes, or (iv) modifying the base font size. Then, maintaining readability by (i) recalculating the number ofcolumns37 for the displayed font size using the newly current base font size as hereinbefore described for calculating the number ofcolumns37 for the displayed font size, (ii) recomposing thescreen page27 in accordance with the recalculated number ofcolumns37 as hereinbefore described for composing thescreen page27 as an array of columns34; and (iii) resizing text and graphics in accordance with the recomposition of thescreen page27 as hereinbefore described for resizing of text elements and resizing of graphics images.
A modified embodiment of the display control system for converting a scrollable computer display to a non-scrollable columnar computer display, in accordance with the present invention, is shown in FIGS. 4 through 6, and is generally designated herein by the numeral[0058]201. A printout of the computer source code for realizing the objects and advantages of the modifiedembodiment201 is attached hereto as Appendix B, which is incorporated herein by reference. The primary difference between the modifiedembodiment201 and the embodiment1 previously described herein in the adaption of the present invention to support the extensive range of document formatting syntax possible with standard HTML, by utilizing numerous specialized methods for formatting in accord therewith. Many of the characteristics of the modifiedembodiment201 are substantially similar to those of the previously described embodiment1 and will not be reiterated here in detail.
The[0059]system201 generally comprises ascreen203 of acomputer system204, a page-formingmechanism205, adisplay sizing mechanism207, and a page-turningmechanism215. The page-formingmechanism205 includes a screenpage formatting mechanism223 and a displaypage formatting mechanism225. The screenpage formatting mechanism223 is configured to form ascreen page27 dimensioned to fit within adisplay window217.
The screen[0060]page formatting mechanism223 is configured to automatically determine the manner in which asource document233, will be displayed in thedisplay window217. The screenpage formatting mechanism223 includes acolumn formatting mechanism235 that, after first determining the maximum number ofcolumns237 having certain desired width characteristics, is configured to automatically format thescreen page227 into that maximum number of thecolumns237.
The[0061]system201 also includes a font-sizingmechanism243, which allows the user to selectively increase the size of the selected font by progressively mouse-clicking on a designated font-size enlarging button245, or to selectively decrease the size of the selected font by progressively mouse-clicking on a corresponding font-size reducing button247. In addition, the system1 may also be configured to recognize a keypress of the “up arrow button”249 of akeyboard250 of thesystem201 as a command to enlarge the font size, and a keypress of the “down arrow button”251 of thekeyboard250 as a command to reduce the size of the font.
Alternately or additionally, the system[0062]1 may include a font-size pull-down menu253 or other suitable arrangement wherein a particular size of font may be directly selected without having to progressively enlarge or progressively reduce the font size with the font-size enlarging and reducingbuttons245,247, or the “up” and “down”arrow keys249,251. In response to a change in the font size, the screenpage formatting mechanism223 is configured to automatically recalculate the new maximum number of thecolumns237 having the desired width characteristics that is displayable in thedisplay window217, and thecolumn formatting mechanism235 is configured to automatically reformat thescreen page227 accordingly.
Examples of computer code for determining the number of the columns for a standard range of characters per line given the width of the display window is shown in Appendix B, beginning at page 30, line 69 and page 31,[0063]line 5; for determining the minimum value of the width of the standard range of characters per line given the current base font size is shown in Appendix B, beginning atpage 49, line 41; for interpreting “up arrow” and “down arrow” key presses on the computer keyboard as change-font-size commands is shown in Appendix B, beginning at page 54,line 61; for interpreting activation of font increasing and font decreasing buttons as change-font-size commands is shown in Appendix B, beginning at page 52,lines 25 and 64; for responding to user commands for stepping font size up or down is shown in Appendix B, beginning at page 32, line 12 and page 54, line 8; for incrementing base font size up or down by one index value is shown in Appendix B, beginning at page 50,line 3; and for setting base font size to a new index value within certain font size limits is shown in Appendix B, beginning at page 48, line 50.
The display[0064]page formatting mechanism225 includes asource resizing mechanism263 configured to automatically enlarge or reduce, as appropriate, the size of the font of all text of thesource document233 to conform to the size of font selected by thefont4 sizing mechanism243, as hereinbefore described. The displaypage formatting mechanism225 is further configured to automatically divide thescrollable source document233 into asegmented display document255, eachsegment257 thereof comprising one of a plurality ofsequential display pages257, each of which displaypages257 comprises only enough material from thesource document233 to partially or totally fill each of thecolumns237 of thescreen page227, as suggested by the portions designated by thenumerals259,260,261 in FIG. 5, as an example wherein thescreen page227 is formatted into three of thecolumns237. The displaypage formatting mechanism225 may also include acontent formatter mechanism262 that is configured to be operatively responsive to formatting commands embedded in thesource document233, such as text color, style, font, font size, table and form specifications, etc., as well as paragraph indent, word wrap, and other common word-processing commands provided by popular word processing programs.
The[0065]source resizing mechanism263 may also include animage resizing mechanism265 and atable resizing mechanism267 configured to automatically recognize and resize graphic images and tables, respectively, contained in thesource document233. The image andtable resizing mechanisms265,267 may be adapted to reduce the width of the graphic images and the tables to correspond to the width of thecolumns237 in thescreen page227. Alternately, the image andtable resizing mechanisms265,267 may be configured to convert each of the graphic images and the tables contained in thesource document233 to arespective icon275 and displaying each of theicons275 in close proximity to text in thedisplay document255 that was positioned near the respective graphic image or table in thesource document233. In that event, the image andtable resizing mechanisms265,267 are configured to automatically expand a selected graphic image or table to its originally intended display size by a simple command, such as mouse-clicking therespective icon275 for example.
Resizing of a table by the[0066]system201 generally comprises the steps of: rendering the table as an in-line element and (i) placing the table immediately after any prior text or graphic elements in the current line of thecurrent column237 of thedisplay page257; or (ii) if the preferred width of the table exceeds the remaining width of the current line of thecurrent column237 of thedisplay page257, placing the table immediately below the current line in thecurrent column237 of thedisplay page257; or (iii) if the minimum height of the table exceeds the remaining height of thecurrent column237 of thedisplay page257, placing the table in thenext column237 of thedisplay page257, or (iv) if thecurrent column237 is thelast column237 of thecurrent display page257, retaining the table for display in thefirst column237 of the next succeedingdisplay page257.
Rendering of the table by the[0067]system201 comprises the steps of: (i) creating a grid array with an adequate number of rows and columns for the table specifications as determined by thesource document233 or other reference data; and (ii) filling the cells of the grid with the table entry data as specified by thesource document233 or other reference source, wherein the cells comprise resized text, graphics, and table elements adapted to the allocated dimensions of the cells.
The[0068]screen printing mechanism213 is configured to print a selected one of the display pages57 to thescreen page227. Examples of computer code for printing a selected one of the display pages to the display screen using the current base font and the automatically calculated number of the columns is shown in Appendix B, beginning at page 43, lines 17, 36 and 48; for adjusting the dimensions of the screen page to account for any footer area displayed is shown in Appendix B, beginning at page 49, lines 8 and 17; for resizing of text elements and printing the current display page to the display screen is shown in Appendix B, beginning at page 38, line 16; for parsing html tag-based formatting instructions for text, graphics and tables, and returning end-of-tag indices is shown in Appendix B, beginning at page 24, line 64; for sending blocks of text to be drawn on the display window including measuring text word-by-word, hyphenating as needed, adding words to be printed to a row of text and graphics, and returning a boolean when all words in the block of text have been handled is shown in Appendix B, beginning at page 23, line 29; for sending words to be drawn of the display table including converting html character entities if any, adding words to a cache for printing a row of text and graphics, and determining the width of the word is shown in Appendix B, beginning at page 30, line 9; for drawing lines composed of text, graphics, and table elements including accounting for heights, offsets and widths of all row elements, printing each to the display screen, adding Java components as required, and returning end-of-content indices is shown in Appendix B, beginning at page 40, line 17; for resizing graphics elements including downloading original graphic images from file, caching images for future use, and returning image objects or icons is shown in Appendix B, beginning at page 71, line 60; for accounting for column width and height to determine image scale-down factor if any, and returning widths of rendered images is shown in Appendix B, beginning at page 70, line 59; for rendering table elements including printing the table to the display screen is shown in Appendix B, beginning at page 88, line 4; for creating an array of rows and columns according to html table specifications is shown in Appendix B, beginning at page 84, line 23; for resizing tables to fit column width and height limits, and returning end-of-tag indices is shown in Appendix B, beginning at page 77, line 31; for setting base and footer fonts according to a new size index is shown in Appendix B, beginning at page 48, line 20; and for setting base font color and metrics is shown in Appendix B, beginning at page 48, lines 31 and 37.
The page-turning[0069]mechanism215 is configured to individually and sequentially, either forwardly or backwardly, page through the display pages257 such that all information of thesource document233 is selectively cycled, without scrolling, into the user's view on thescreen203, adisplay page257 at time.
In an application of the modified[0070]embodiment201 of the present invention, a user connects to a host html page of a client system, as schematically indicated by “HOST HTML PAGE INVOKED BY USER”303 in FIG. 6, and a selected document file, namely thesource document233, is downloaded therethrough as schematically indicated by “DOCUMENT FILE DOWNLOAD”305. Thesystem201 is configured to parse thesource document233 and automatically determine the specialized Java class applets needed to render thesource document233 as schematically indicated by “FORMATTER CLASSES AS NEEDED”307. The appropriate applet classes are then accessed by thesystem201, either locally from thecomputer system204 or downloaded through the html page, as schematically indicated by “APPLET CLASS DOWNLOAD”313.
The[0071]system201 then, cooperatively with the downloaded applet classes, automatically formats thecolumns237 as schematically indicated by “AUTOMATIC COLUMNS”315, and automatically scales graphics images and tables to fit thecolumns237 as schematically indicated by “IMAGES SCALED TO FIT COLUMNS”317. Thesystem201 is configured to directly print a selected one of the display pages255 to thecolumns237 of thescreen page227 and, therefore, to thedisplay screen217, as indicated schematically by “READER SCREEN”323, to form an applet display as schematically indicated by “APPLET DISPLAY”325, or a combination of the two.
The user may then selectively interact with the[0072]system201 as schematically indicated by “USER INTERACTIONS”327, including making further connections through the html page as indicated by “EXTERNAL HTML PAGE LINK”333, selectively and individually viewingother display pages257 of thedisplay document255 as schematically indicated by “TURN PAGE AS NEEDED”335, and enlarging a table or graphics image by mouse-clicking on the reduced display thereof or by mouse-clicking on thecorresponding icon275, as appropriate, as schematically indicated by “ZOOM TABLE AS NEEDED”337 and “ZOOM IMAGE AS NEEDED”343 in FIG. 6. Of course, after completion of the exercise, the user causes thesystem201 to “CLOSE ALL WINDOWS”245.
Summarizing, the present invention provides an expedited method for changing font size while maintaining readability by maintaining a standard number of characters per line, as follows: (i) changing font size steps by accepting user input for stepping base font size up or down, keyboard input (e.g. up or down arrow keys), or graphical user interface “button” elements; (ii) limiting the range of base font sizes (e.g., 8-point to 96-point fonts), (iii) limiting user input to defined range of font sizes, or (iv) modifying the base font size. Then, maintaining readability by (i) recalculating the number of columns for the displayed font size using the newly current base font size as hereinbefore described for calculating the number of columns based on the available display window width and the selected display font size, (ii) recomposing the screen page in accordance with the recalculated number of columns as hereinbefore described for composing the screen page as an array of columns; and (iii) resizing text, graphics, and tables in accordance with the recomposition of the screen page as hereinbefore described for resizing of text elements, resizing of graphics images, and resizing of tables.[0073]
In addition to the foregoing, other techniques may be used in combination therewith to further reduce eye strain of a user viewing a monitor utilizing the screen control display system. For example, background and desirable contrasting text, etc., colors may be selected including gray scales, as appropriate.[0074]
Simply stated, features provided by the present invention include the ability to pull up text, a graphic image or a table into its own separate window with a single mouse click on the selected material, and the appearance of the electronic information on the screen is document dependent instead of the appearance being software dependent, which allows a viewer to control and maintain the appearance of the document in a more readable form, regardless of how the author of the electronic information set up that document originally. These features, in combination, have the effect of reducing eye strain in on-monitor reading and viewing of text and graphics by measurably reducing optokinetic nystagmus and/or measurably reducing eye squinting.[0075]
It is to be understood that while certain forms of the present invention have been illustrated and described herein, it is not to be limited to the specific forms or arrangement of parts described and shown.[0076]