|
Claims  |
|
|
What is claimed is:
1. A computer controlled method for presenting a hypertext markup language
(HTML) data stream on a device, said HTML data stream formatted to a fixed
canvas, said method comprising steps of:
(a) detecting a canvas specification within said HTML data stream, said
canvas specification containing information from which a height dimension,
a width dimension, and an aspect ratio of said fixed canvas are
determined;
(b) constructing a view having said aspect ratio on said device to present
said HTML data stream;
(c) determining a transformation to map said HTML data stream onto said
view, said transformation preserving said aspect ratio; and
(d) presenting said HTML data stream onto said view in accordance with said
transformation.
2. The computer controlled method of claim 1 wherein step (a) further
comprises extracting said canvas attributes from an HTML <BODY> element.
3. The computer controlled method of claim 1 wherein step (b) further
comprises sizing said view to said canvas specification.
4. The computer controlled method of claim 1 wherein step (b) further
comprises maximizing said view.
5. The computer controlled method of claim 1 wherein step (b) further
comprises:
(b1) maximizing a window having a plurality of window elements;
(b2) determining an accessible area in said window; and
(b3) maximizing said view in said accessible area.
6. The computer controlled method of claim 5 wherein step (b1) further
comprises removing one of said plurality of window elements from said
window.
7. The computer controlled method of claim 1 wherein step (c) further
comprises selecting a transformed font point size by operating on an
original font point size of a character using said transformation, and
step (d) further comprises presenting said character at said transformed
font size.
8. The computer controlled method of claim 7 wherein step (d) further
comprises rounding said transformed font size to a nearest integer font
point size.
9. The computer controlled method of claim 8 further comprising:
(e) detecting an aspect ratio violation; and
(f) adjusting said transformation.
10. The computer controlled method of claim 7 wherein step (d) further
comprises truncating said transformed font size to an integer font point
size.
11. The computer controlled method of claim 1 wherein said fixed canvas has
a canvas coordinate space, said method further comprising steps of:
(e) receiving a view coordinate corresponding to a user selection operation
within said view;
(f) performing an inverse transformation on said view coordinate to
transform said view coordinate into a canvas coordinate in said canvas
coordinate space; and
(g) applying said canvas coordinate.
12. An information display system for presenting a hypertext markup
language (HTML) data stream on a computer controlled device, said HTML
data stream formatted to a fixed canvas, said system comprising:
a determination mechanism configured to detect a canvas specification
within said HTML data stream, said canvas specification containing
information from which a height dimension, a width dimension, and an
aspect ratio of said fixed canvas are determined;
a view construction mechanism configured to construct a view having said
aspect ratio on said computer controlled device, said view used to present
said HTML data stream;
a transformation determination mechanism configured to determine a
transformation that maps said HTML data stream onto said view, said
transformation preserving said aspect ratio of said fixed canvas; and
a presentation mechanism configured to present said HTML data stream onto
said view in accordance with said transformation.
13. The information display system of claim 12 wherein the determination
mechanism further comprises a parsing mechanism configured to extract said
canvas attributes from an HTML <BODY> element.
14. The information display system of claim 12 wherein the view
construction mechanism further comprises a sizing mechanism configured to
size said view to said canvas specification.
15. The information display system of claim 12 wherein the view
construction mechanism further comprises a maximization mechanism
configured to maximize said view on said computer controlled device.
16. The information display system of claim 12 wherein the view
construction mechanism further comprises:
a window maximization mechanism configured to maximize a window having a
plurality of window elements;
an area determination mechanism configured to determine an accessible area
in said window; and
a view maximization mechanism configured to maximize said view in said
area.
17. The information display system of claim 16 wherein the window
maximization mechanism further comprises an element removal mechanism
configured to remove one of said plurality of window elements from said
window.
18. The information display system of claim 12 wherein the transformation
determination mechanism further comprises a selection mechanism configured
to select a transformed font point size based on said transformation of an
original font point size of a character, and the presentation mechanism
further comprises a character presentation mechanism configured to present
said character at said transformed font size.
19. The information display system of claim 18 wherein the presentation
mechanism further comprises a rounding mechanism configured to round said
transformed font size to a nearest integer font point size.
20. The information display system of claim 19 further comprising:
(e) an aspect violation detection mechanism configured to detect an aspect
ratio violation; and
(f) a transformation adjustment mechanism configured to adjust said
transformation responsive to said aspect ratio violation.
21. The information display system of claim 18 wherein the presentation
mechanism further comprises a truncation mechanism configured to truncate
said transformed font size to an integer font point size.
22. The information display system of claim 12 wherein said fixed canvas
has a canvas coordinate space, said system further comprising:
(e) a coordinate reception mechanism configured to receive a view
coordinate corresponding to a user selection operation within said view;
(f) an inverse transformation mechanism configured to perform an inverse
transformation on said view coordinate to transform said view coordinate
into a canvas coordinate in said canvas coordinate space; and
(g) an application mechanism configured to apply said canvas coordinate.
23. An information display apparatus for presenting a hypertext markup
language (HTML) data stream on a computer controlled device, said HTML
data stream formatted to a fixed canvas, said apparatus having a central
processing unit (CPU), a memory, and further comprising:
a determination mechanism configured to detect a canvas specification
within said HTML data stream, said canvas specification containing
information from which a height dimension, a width dimension, and an
aspect ratio of said fixed canvas are determined;
a view construction mechanism configured to construct a view having said
aspect ratio on said computer controlled device, said view used to present
said HTML data stream;
a transformation determination mechanism configured to determine a
transformation that maps said HTML data stream onto said view, said
transformation preserving said aspect ratio of said fixed canvas; and
a presentation mechanism configured to present said HTML data stream onto
said view in accordance with said transformation.
24. The information display apparatus of claim 23 wherein the determination
mechanism further comprises a parsing mechanism configured to extract said
canvas attributes from an HTML <BODY> element.
25. The information display apparatus of claim 23 wherein the view
construction mechanism further comprises a sizing mechanism configured to
size said view to said canvas specification.
26. The information display apparatus of claim 23 wherein the view
construction mechanism further comprises a maximization mechanism
configured to maximize said view on said computer controlled device.
27. The information display apparatus of claim 23 wherein the view
construction mechanism further comprises:
a window maximization mechanism configured to maximize a window having a
plurality of window elements;
an area determination mechanism configured to determine an accessible area
in said window; and
a view maximization mechanism configured to maximize said view in said
area.
28. The information display apparatus of claim 27 wherein the window
maximization mechanism further comprises an element removal mechanism
configured to remove one of said plurality of window elements from said
window.
29. The information display apparatus of claim 23 wherein the
transformation determination mechanism further comprises a selection
mechanism configured to select a transformed font point size based on said
transformation of an original font point size of a character, and the
presentation mechanism further comprises a character presentation
mechanism configured to present said character at said transformed font
size.
30. The information display apparatus of claim 29 wherein the presentation
mechanism further comprises a rounding mechanism configured to round said
transformed font size to a nearest integer font point size.
31. The information display apparatus of claim 30 further comprising:
(e) an aspect violation detection mechanism configured to detect an aspect
ratio violation; and
(f) a transformation adjustment mechanism configured to adjust said
transformation responsive to said aspect ratio violation.
32. The information display apparatus of claim 29 wherein the presentation
mechanism further comprises a truncation mechanism configured to truncate
said transformed font size to an integer font point size.
33. The information display apparatus of claim 23 wherein said fixed canvas
has a canvas coordinate space, said system further comprising:
(e) a coordinate reception mechanism configured to receive a view
coordinate corresponding to a user selection operation within said view;
(f) an inverse transformation mechanism configured to perform an inverse
transformation on said view coordinate to transform said view coordinate
into a canvas coordinate in said canvas coordinate space; and
(g) an application mechanism configured to apply said canvas coordinate.
34. A computer program product comprising:
a computer usable storage medium having computer readable code embodied
therein for causing a computer to present a hypertext markup language
(HTML) data stream on a computer controlled device, said HTML data stream
formatted to a fixed canvas, said computer readable code comprising;
computer readable program code devices configured to cause said computer to
effect a determination mechanism configured to detect a canvas
specification within said HTML data stream, said canvas specification
containing information suitable from which a height dimension, a width
dimension, and an aspect ratio of said fixed canvas are determined;
computer readable program code devices configured to cause said computer to
effect a view construction mechanism configured to construct a view having
said aspect ratio on said computer controlled device, said view used to
present said HTML data stream;
computer readable program code devices configured to cause said computer to
effect a transformation determination mechanism configured to determine a
transformation that maps said HTML data stream onto said view, said
transformation preserving said aspect ratio of said fixed canvas; and
computer readable program code devices configured to cause said computer to
effect a presentation mechanism configured to present said HTML data
stream onto said view in accordance with said transformation.
35. The computer program product of claim 34 wherein the determination
mechanism further comprises computer readable program code devices
configured to cause said computer to effect a parsing mechanism configured
to extract said canvas attributes from an HTML <BODY> element.
36. The computer program product of claim 34 wherein the view construction
mechanism further comprises computer readable program code devices
configured to cause said computer to effect a sizing mechanism configured
to size said view to said canvas specification.
37. The computer program product of claim 34 wherein the view construction
mechanism further comprises computer readable program code devices
configured to cause said computer to effect a maximization mechanism
configured to maximize said view on said computer controlled device.
38. The computer program product of claim 34 wherein the view construction
mechanism further comprises:
computer readable program code devices configured to cause said computer to
effect a window maximization mechanism configured to maximize a window
having a plurality of window elements;
computer readable program code devices configured to cause said computer to
effect an area determination mechanism configured to determine an
accessible are in said window; and
computer readable program code devices configured to cause said computer to
effect a view maximization mechanism configured to maximize said view in
said area.
39. The computer program product of claim 38 wherein the window
maximization mechanism further comprises computer readable program code
devices configured to cause said computer to effect an element removal
mechanism configured to remove one of said plurality of window elements
from said window.
40. The computer program product of claim 34 wherein the transformation
determination mechanism further comprises computer readable program code
devices configured to cause said computer to effect a selection mechanism
configured to select a transformed font point size based on said
transformation of an original font point size of a character, and the
presentation mechanism further comprises computer readable program cod e
devices configured to cause said computer to effect a character
presentation mechanism configured to present said character at said
transformed font size.
41. The computer program product of claim 40 wherein the presentation
mechanism further comprises computer readable program code devices
configured to cause said computer to effect a rounding mechanism
configured to round said transformed font size to a nearest integer font
point size.
42. The computer program product of claim 41 further comprising:
(e) computer readable program code devices configured to cause said
computer to effect an aspect violation detection mechanism configured to
detect an aspect ratio violation; and
(f) computer readable program code devices configured to cause said
computer to effect a transformation adjustment mechanism configured to
adjust said transformation responsive to said aspect ratio violation.
43. The computer program product of claim 40 wherein the presentation
mechanism further comprises computer readable program code devices
configured to cause said computer to effect to truncation mechanism
configured to truncate said transformed font size to an integer font point
size.
44. The computer program product of claim 34 wherein said fixed canvas has
a canvas coordinate space, said system further comprising:
(e) computer readable program code devices configured to cause said
computer to effect a coordinate reception mechanism configured to receive
a view coordinate corresponding to a user selection operation within said
view;
(f) computer readable program code devices configured to cause said
computer to effect an inverse transformation mechanism configured to
perform an inverse transformation on said view coordinate to transform
said view coordinate into a canvas coordinate in said canvas coordinate
space; and
(g) computer readable program code devices configured to cause said
computer to effect an application mechanism configured to apply said
canvas coordinate. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of presenting data streams constructed
using a hypertext markup language (HTML). Specifically, this invention is
a new and useful method, apparatus, system, and computer program product
for displaying fixed canvas presentations, defined using HTML, at sizes
other than the size of the fixed canvas.
2. Background
Well-known computer programs allow a person to create a slide, overhead
transparency or an image on a computer display that can be used to present
information to others. One aspect of these programs is that each slide,
transparency, or image is constructed for a fixed canvas (that of the
slide, the transparency or computer display having a fixed width and
height) in a what-you-see-is-what-you-get (WYSIWYG) manner. Thus, these
applications are extremely well suited for creating presentations directed
towards a known display medium. However, fixed canvas tools are not suited
for presentations directed toward an unknown display medium such as a
computer display device of unknown size that may not be large enough to
display an image the size of the canvas.
One example of a class of programs that are well suited to presenting
information on a variety of unknown display devices are those that process
HTML data. These programs are generally termed world-wide-web (WWW)
browser programs because of their wide use for browsing through data on
the WWW. A goal of these programs is to present the information contained
in an HTML data stream on a display in a scrollable view. As such, the
browser program formats the displayed HTML information according to the
browser program's page layout logic and does not necessarily recreate the
layout intended by the author of the HTML data. Browser programs exist for
many computer systems. Thus, a single HTML data stream can be utilized by
many different computers. However, the prior art does not provide a means
to achieve the same displayed image on differing size computer displays
because the browser's page layout logic generates different results
depending on the display area available and the available fonts and
typography software. Thus, prior art WWW browsers, like the prior art
presentation applications, are not well suited for presentations using
display devices of unknown size.
The prior art does provide for minimal control of the page layout. The HTML
<PRE> element allows an author to define monospaced textual areas with
specified line breaks and white-space. However, if a sufficiently small
area is used to present the HTML, the text within the <PRE> area will not
be displayed because the browser does not wrap text in a <PRE> element nor
does the browser reduce the contents of the <PRE> element to fit a small
limited display area.
World Wide Web
The WWW is a massive hypertext system that a user accesses using a WWW
browser application executing on a computer--an information access
apparatus. The WWW browser apparatus communicates with, and is a client
of, information provider apparatus such as server computers each computer
executing server applications capable of communicating with the client
browser application. These clients obtain information and services, in the
form of web pages, from the server. These web pages are identified by
unique universal resource locators (URL) and are usually specified using a
markup language--generally a version of the hypertext markup language
(HTML). HTML 2.0, is described in RFC1866 and can be found on the WWW at:
"http://www.cis.ohio-state.edu/htbin/rfc/rfc1866.html". However, HTML is
evolving and variants exist. For example, the HTML 3.2 proposal is found
at "http://www.w3.org/pub/WWW/MarkUP/Wilbur/features.html".
The background of the WWW, WWW browser applications, and URLs is well
described by reference to the first chapter of Instant HTML Web Pages, by
Wayne Ause, Ziff-Davis Press, ISBN 1-56276-363-6, copyright 1995, pages
1-15, hereby incorporated by reference as illustrative of the prior art.
FIG. 1a illustrates an example of how a plurality of computers implement a
client-server information access system. An information client system 101
communicates over a network 103 such as the internet 103 to a plurality of
information server systems 105. The client system 101 encapsulates
requests for services and information within an applicable internet
protocol and passes the encapsulated requests to the internet 103 as
indicated by an arrow 107. The internet 103 routes these requests to each
of the plurality of information server systems 105 addressed within the
request as indicated by a plurality of arrows 109. Each of the plurality
of addressed information server systems 105 respond to the client system
101 with responses appropriate to the service or information requested by
the client system 101. Once the client system 101 receives this
information it is presented to the user by using an application program
(for example, a WWW browser) executing on the client computer.
Hypertext documents, composed of HTML data, can be presented to a user by
an application. The application processes the HTML data contained within
the document to generate an image that can be displayed to a user on a
computer display or tangible page. Unlike page description languages, such
as PostScript, the "page" layout of HTML documents is dependent on the
drawing area used to display the image described by the HTML data. Thus,
HTML is used to describe hypertext documents that are portable from one
computing platform to another and that do not need WYSIWYG functionality.
The HTML concept is that of a scrolling page that can be resized as
desired by the user. Thus, HTML based applications do not strive to
achieve WYSIWYG functionality, but rather they strive to appropriately
present information in drawing areas of different sizes and resolutions to
the best of the browser's ability. Thus, an application that presents HTML
data will use whatever drawing area is available to render the HTML data
to best fit that given drawing area. To perform this function the
application will automatically wrap lines, adjust the width and height of
table cells and perform other drawing area dependent operations to best
display the HTML document in the available drawing area.
FIGS. 1b-1d illustrate the results of this function. FIG. 1b illustrates an
image, referred to by the general reference character 121, resulting from
a HTML data stream. The image 121 is within a window 123 presented on a
computer display device (not shown but such as a printer or video device).
The image 121 includes a graphic 125 and a textual string 127. The textual
string 127 is wrapped near an edge 129 of the window 123. Because the
entire image 121 defined by the HTML data can be displayed in the window
123, there are no scrolling controls.
FIG. 1c illustrates an image, referred to by the general reference
character 131, of the same HTML data stream where the window 123 has been
narrowed. Again the graphic 125 is completely contained within the window
123. However, the textual string 127 has been wrapped near an edge 133 of
the window 123 to fit the textual string within the horizontal bounds of
the window 123. Because the textual string 127 now extends below the
bottom of the window 123, the window 123 requires a user selectable
control area (SCA) 135 to allow the user to vertically scroll the image
131 within the window 123. A thumb 137 within the SCA 135 both indicates
the position of the image 131 in the window 123 and serves as a user
control for the SCA 135 to position the image 131 within the window 123.
Finally, FIG. 1d illustrates an image, referred to by the general reference
character 141, of the same HTML data stream where the window 123 has been
further narrowed. This time, the graphic 125 is not able to be completely
displayed and is clipped at an edge 143. Thus, the image 141 now requires
an SCA 145 that controls horizontal scrolling of the display 141 within
the window 123. This SCA 145 also has a thumb 147 that both indicates and
controls the position of the image 141 within the window 123.
These figures illustrate the problems with prior art HTML processing
techniques used to present information designed for a specific size
display onto a display of a different size.
SUMMARY OF THE INVENTION
The present invention provides an economical, apparatus, method, system,
and computer program product for displaying fixed canvas presentations on
computer output devices of differing sizes. The invention specifies the
size of the fixed canvas used to create the presentation and transforms
(reducing or enlarging) the canvas and image (resulting from processing
the HTML data stream) to fit on a display with a different size than the
display used to create the original presentation.
One aspect of the invention is a computer controlled method for presenting
a fixed canvas hypertext markup language (HTML) data stream on a device.
The method first detects a canvas specification within the HTML data
stream that contains information from which a height dimension, a width
dimension, and an aspect ratio of said fixed canvas are determined. The
method constructs a view having this aspect ratio on the device to present
the HTML data stream. The method also determines a transformation that
maps the HTML data stream onto said view. This transformation preserves
the aspect ratio of the canvas. Finally, the method presents the HTML data
stream onto said view in accordance with said transformation.
In another aspect of the invention, an information display system is
disclosed for presenting a fixed canvas hypertext markup language (HTML)
data stream on a computer controlled device. This system includes a
determination mechanism configured to detect the canvas specification
within the HTML data stream. The determination mechanism also derives a
height dimension, a width dimension, and an aspect ratio of the fixed
canvas. The system also includes a view construction mechanism that
constructs a view having the aspect ratio on the computer controlled
device. This view is used to present the HTML data stream. The system also
includes a transformation determination mechanism that determines a
transformation that maps said HTML data stream onto said view. This
transformation preserves the aspect ratio of the fixed canvas. Finally,
the system presents the HTML data stream onto the view in accordance with
the transformation using a presentation mechanism.
In yet another aspect of the invention an apparatus for presenting a
hypertext markup language (HTML) data stream formatted to a fixed canvas
on a computer controlled device is disclosed. The apparatus includes a CPU
and a memory. This apparatus includes a determination mechanism configured
to detect the canvas specification within the HTML data stream. The
determination mechanism also derives a height dimension, a width
dimension, and an aspect ratio of the fixed canvas. The apparatus also
includes a view construction mechanism that constructs a view having the
aspect ratio on the computer controlled device. This view is used to
present the HTML data stream. The apparatus also includes a transformation
determination mechanism that determines a transformation that maps said
HTML data stream onto said view. This transformation preserves the aspect
ratio of the fixed canvas. Finally, the apparatus presents the HTML data
stream onto the view in accordance with the transformation using a
presentation mechanism.
Yet a further aspect of the invention is a computer program product
embedded on a computer usable medium for causing a computer to present a
hypertext markup language (HTML) data stream on a computer controlled
device where the HTML data stream is formatted to a fixed canvas. When
executed on the computer, the computer readable code causes a computer to
effect a determination mechanism, a view construction mechanism,
transformation determination mechanism, and a presentation mechanism
having the same functions as the apparatus described above.
The foregoing and many other advantages of the present invention will no
doubt become obvious to those of ordinary skill in the art after having
read the following detailed description of the preferred embodiments that
are illustrated in the various drawing figures.
DESCRIPTION OF THE DRAWINGS
FIG. 1a illustrates a prior art client-server information access system;
FIGS. 1b-d illustrate typical images resulting from prior art processing of
HTML data;
FIG. 2 illustrates a computer configured to support the invention in
accordance with a preferred embodiment of the invention;
FIG. 3 illustrates the process used to display HTML in accordance with a
preferred embodiment of the invention;
FIG. 4 illustrates the process used to maximize the window area in
accordance with a preferred embodiment of the invention;
FIG. 5 illustrates the process used to determine the initial transformation
and to construct a maximal view having the aspect ratio in the window in
accordance with a preferred embodiment of the invention;
FIG. 6 illustrates a selection of processes used to image the HTML data
stream in accordance with a preferred embodiment of the invention;
FIG. 7 illustrates the process used to adjust the transformation in
response to an aspect ratio violation in accordance with a preferred
embodiment of the invention;
FIG. 8 illustrates the process used to convert a view coordinate into a
fixed canvas coordinate in accordance with a preferred embodiment of the
invention; and
FIG. 9 illustrates the resulting images produced in accordance with a
preferred embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Notations and Nomenclature
The following "notations and nomenclature" are provided to assist in the
understanding of the present invention and the preferred embodiments
thereof.
Graphic--An HTML referenced non-textual element of an image (see below).
"Graphic" is analogous to the HTML image or icon graphic. Thus, a graphic
is a graphical image created by the HTML browser by reading graphical data
such as a bitmap.
Graphical User Interface (GUI)--A user interface that allows a user to
interact with a computer display by pointing at selectable control areas
on the display and activating a command or computer operation associated
with the selectable control area. GUIs are well known in the art.
Image--An image is the visual representation of the HTML data produced on a
computer display device such as a printer or a display screen. The image
is the end result of processing HTML data.
Points and Pixels--Font sizes are generally specified in points. There are
approximately 72 points to an inch. Pixels are a measure of resolution for
computer display devices.
Pointing device--A device that is responsive to a computer user's input
that moves an indicator on a computer display screen. Such an indicator
has an active point such that if the pointing device is activated (for
example, by a button push for a mouse device) a command associated with
the selectable control area covered by the active point is invoked.
Pointing devices are generally used with graphical user interfaces.
Selectable control area--An area on a computer display that is sensitive to
activation of a pointing device. A command or computer operation
associated with the selectable control area is invoked on activation of
the pointing device over the selectable control area. Most computer
systems that provide a Graphical User Interface (GUI) also provide other
methods for invoking these commands or computer operations such as
keyboard function keys or command lines.
View--An area in a window where information is provided.
Window--An area, usually rectangular, on a computer display device
controlled by an application.
WYSIWYG--An acronym for "What You See Is What You Get" and is commonly
applied to word processing and graphical systems that have the capability
to display information on a computer display that closely represents the
same information when printed.
Procedure--A self-consistent sequence of steps leading to a desired result.
These steps are those requiring physical manipulation of physical
quantities. Usually these quantities take the form of electrical or
magnetic signals capable of being stored, transferred, combined, compared,
and otherwise manipulated. These signals are referred to as bits, values,
elements, symbols, characters, terms, numbers, or the like. It will be
understood by those skilled in the art that all of these and similar terms
are associated with the appropriate physical quantities and are merely
convenient labels applied to these quantities.
Overview
The manipulations performed by a computer in executing opcodes are often
referred to in terms, such as adding or comparing, that are commonly
associated with mental operations performed by a human operator. In the
present invention no such capability of a human operator is necessary in
any of the operations described herein. The operations are machine
operations. Useful machines for performing the operations of the invention
include programmed general purpose digital computers or similar devices.
In all cases the method of computation is distinguished from the method of
operation in operating a computer. The present invention relates to method
steps for operating a computer in processing electrical or other (for
example, mechanical, chemical) physical signals to generate other desired
physical signals.
The invention also relates to apparatus for performing these operations.
This apparatus may be specially constructed for the required purposes, or
it may comprise a general purpose computer as selectively activated or
reconfigured by a computer program stored in the memory of a computer. The
procedures presented herein are not inherently related to a particular
computer or other apparatus. In particular, various general purpose
machines may be used with programs written in accordance with the
teachings herein, or it may prove more convenient to construct more
specialized apparatus to perform the required method steps. The required
structure for a variety of these machines will appear from the following
description. Also, the invention may be embodied in a computer readable
storage medium encoded with a program that causes a computer to perform
the programmed logic.
Operating Environment
Some of the elements of a computer system, referred to by the general
reference character 201, configured to support the invention are shown in
FIG. 2 wherein a processor 203 is shown, having an Input/Output ("I/O")
section 205, a central processing unit ("CPU") 207 and a memory section
209. The I/O section 205 is connected to a keyboard 211, a disk storage
unit 213, a network interface 215 to provide access to a network 217, a
display unit 219, a pointing device 221 and a CD-ROM drive unit 223. The
CD-ROM unit 223 can read a CD-ROM medium 225 that typically contains
programs and data 227. The CD-ROM unit 223 (using the CD-ROM medium 225)
and the disk storage unit 213 comprise a file storage mechanism. Such a
computer system is capable of executing information display applications
that embody the invention.
Those skilled in the art will understand that the invention does not
require a client server architecture similar to the one illustrated in
FIG. 1a, nor does the invention require the network interface 215 or
access to the network 217. Rather, the invention is directed toward
presenting information to a user of a computer controlled display device
independent of the source of the information. However, WWW browser
applications are examples, without limitation, of applications that can
use the invention. As such, the following describes the invention within
the context of a preferred embodiment of a WWW browser application.
However, one skilled in the art will understand that the invention
generally can be applied to applications and apparatus that consume an
HTML data stream to present information to a user of a computer controlled
device. Further, one skilled in the art will understand that the problem
exists for any fixed canvas presentation that is presented to a user of a
device having a different size canvas than the canvas used to create the
HTML.
FIG. 3 illustrates the process used to display HTML in accordance with a
preferred embodiment of the invention. This process is invoked by an HTML
processing application. The process initiates at a "Start" terminal 301. A
"Receive HTML Document" procedure 303 receives the HTML data stream from
an input device such as a file system or network. At a "Canvas" decision
procedure 305 the process determines whether the HTML data stream includes
a canvas specification. This determination uses a parsing mechanism. In a
preferred embodiment, this canvas specification is one or more attributes
specified in the HTML <BODY>element. For example the HTML markups:
<BODY WIDTH=512 HEIGHT=400>
<BODY WIDTH=512 HASPECT=0.78125>
<BODY HEIGHT=400 WASPECT=1.28>
all provide attributes that specify a canvas having a height of 400 pixels
and a width of 512 pixels and a width-to-height aspect ratio of 1.28
(width/height). These attributes define a height dimension, a width
dimension and an aspect ratio for the fixed canvas thus defining a canvas
coordinate space. If the "Canvas" decision procedure 305 does not detect
canvas attributes, the process continues to a "Normal Processing"
| | |