`US 6,452,597 B1
`(10) Patent No.:
`(12)
`Goldbergetal.
`(45) Date of Patent:
`Sep. 17, 2002
`
`
`US006452597B1
`
`(54) DISPLAYING TEXT ON A LIMITED-AREA
`DISPLAY SURFACE
`
`(75)
`
`Inventors: Jossef Goldberg; Benjamin N.
`.
`Rabelos;Sarah K farea
`?
`y: .
`?
`?
`Stuart N. DeSpain, Seattle, all of WA
`(US)
`,
`,
`.
`(73) Assignee: Microsoft Corporation, Redmond, WA
`US(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/382,358
`oy.
`Filed:
`(22)
`Aug. 24, 1999
`(51)
`Int. C1? ccc G09G 5/26; GO8B 5/22;
`H04Q 1/30; H04Q 7/00
`ceececcssscsssssssssssssssssesseseeeee 345/472; 340/7.55
`(52) US. Ch.
`;
`.
`58)
`Field of Search 0.0. 345/472, 689
`(58)
`Field
`0 Sn45/660: 707/517, 519, 540307 43.
`,
`747.755: 382/298 301
`oan
`,
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`4,486,857 A * 12/1984 Heckel oe 707/508
`5,212,477 A *
`5/1993 Indekeuetal. ............. 340/7.55
`5,231,579 A *
`7/1993 Tsuchiya et al.
`............ 707/508
`5,258,739 A * 11/1993 DeLucaetal. ............ 340/7.55
`5,635,978 A *
`6/1997 Alten etal. ow 348/569
`5,682,133 A * 10/1997 Johnsonetal. ............. 340/426
`5,691,708 A * 11/1997 Batchelder et al.
`........ 340/7.29
`5,805,981 A *
`9/1998 Sugio et al. wo. 455/38.4
`5,828,313 A * 10/1998 Mochizuki ......
`.. 340/825.44
`
`5,870,682 A *
`2/1999 Miwa etal... 340/7.55
`8/1999 Tsumura oe 340/7.55
`5,936,545 A *
`
`5/2000 Suzuki et al... 345/660
`6,067,070 A *
`
`8/2000 Behret al. oe 340/995
`6,107,944 A *
`6,128,012 A * 10/2000 Seidensticker, Jr. et al.
`..... 345/
`
`685
`6,131,103 A * 10/2000 Yun wo... eeeeeeee 707/542
`6,138,039 A * 10/2000 Sudo etal. we. 345/159
`6,144,389 A * 1/2000 Toshimoto etal.nw 340/755
`148,
`elms et al. we.
`.
`6,166,621 A * 12/2000 Burganet al... 340/7.55
`3/2001 Hancock etal. .....
`.. 701/201
`6,202,023 B1 *
`
`5/2001 Narusawa wccccsssesssssse 345/26
`6,229,519 Bl *
`7/2001 Roth wees wa. 345/853
`6,266,060 BL *
`
`8/2001 Matsumotoetal. ........ 455/412
`6,272,332 B1 *
`6,279,018 B1 *
`8/2001 Kudrolli et al. oo... 707/540
`OTHER PUBLICATIONS
`Nokia 6160 Owners Manual, 1999, 10 pages.
`“The Nokia 3110 Redefines Ease of Use for Cellular
`Phones”,
`http:/Awww.nokia.com/news/news__htmls/nmp__
`970312b.html, Mar. 12, 1997, 1 page.
`“Nokia Launches The New Nokia 8110i GSM Handport-
`able, Incorporating Smart Messaging”; http://www.nokia.
`com/news/news_htmls/nmp,,
`970312c.html, Mar.
`12,
`1997, 1 page.
`“AT&T Launches First National One—Rate Wireless Service
`Plan” _http://ww.att.com/press/0598/980507.cha.html, May
`7, 1998, pp. 1-4.
`?
`?
`“Nokia Introduces TDMA Handsets to the New 6100 Fam-
`ily”,
`http:/Avww.nokia.com/news/news__htmls/nmp__
`980108a.html, Jan. 8, 1998, pp. 1-2.
`* cited by examiner
`
`Primary Examiner—effery Brier
`Assistant Examiner—Ryan Yang
`(74) Attorney, Agent, or Firm—Lee & Hayes, PLLC
`
`(57)
`
`ABSTRACT
`
`The size of information being display by a computer is
`automatically adjusted in order to make the information
`easily readable, while at the same time leaving most(or all)
`of the information displayed on a single screen. Any one or
`moreof the font point size, the font type, the numberoflines
`used, and the caption used can be adjusted in order to
`determine the mannerin which the informationis displayed.
`
`30 Claims, 5 Drawing Sheets
`
`
`f=)
`. i A
`
`Addre..: 1 Bellevue Rd. #301 <>
`
`
`
`
`
`IPR2018-00044
`Ex. 1014/ Page 1 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 1 of 14
`
`
`
`U.S. Patent
`
`Sep. 17, 2002
`
`Sheet 1 of 5
`
`US 6,452,597 B1
`
`iTeN;/
`
`Aayegaye,<=
`
`
`
`Zbb
`
`
`
` Aayegdnyoeg\pbk
`
`(s)euuajuy
`
`
`
`‘WSURWEZ“SSeuppy
`
`6°86LWA
`
`
`
`
`
`soeelu|
`
`
`
`onsouBeiqslosuesAyunoas
`
`yOlL—*
`
`IPR2018-00044
`Ex. 1014/Page 2 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 2 of 14
`
`
`
`
`
`U.S. Patent
`
`Sep. 17, 2002
`
`Sheet 2 of 5
`
`US 6,452,597 B1
`
`vel—~
`
`OSPIA
`
`Jajdepy
`
`
`
`89L~~
`
`e0eH9IUIO/|
`
`uoneajddy
`
`suelboid
`
`IPR2018-00044
`Ex. 1014/ Page 3 of 14
`
`
`
`
`
`/(WOw)NcSh__Rowswreyshg|ZOlaeNL
`
`IPR2018-00044
`Ex. 1014 / Page 3 of 14
`
`
`
`
`
`U.S. Patent
`
`Sep. 17, 2002
`
`Sheet 3 of 5
`
`US 6,452,597 B1
`
`Size
`--- Adjuster
`
`__ Memory
`
`~
`
`206
`
`|
`
`.
`
`Information
`Analyzer
`
`Truncator
`
`208 +.
`
`Ny
`
`210
`
`‘\
`
`————_—_—
`Font Point Size
`Adjuster
`
`'
`
`Display Line
`Adjuster
`
`
`
`_
`212
`Threshold Font
`
`
`
`|
`|
`Point Size
`
`|
`Font Adjuster
`
`
`
`214
`;
`
`Variables
`246
`
`Current Font Point
`Size
`
`
`
`220
`
`i
`Current Font
`
`Current Number
`Of Lines
`
`-— 218
`
`— 222
`
`
`
`IPR2018-00044
`Ex. 1014/Page 4 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 4 of 14
`
`
`
`U.S. Patent
`
`Sep. 17, 2002
`
`Sheet 4 of 5
`
`US 6,452,597 B1
`
`/- 242
`
`
`Set Number Of Lines To
`One And Set Font To
`Starting Point Size.
`
`
`
`
`Can Info Fit At
`
`244
`
`Current Font And Number Of
`Lines?
`
`Yes
`
`
`
`No
`
`248
`
`Can Info
`Fit At Current Font And
`umber Of Lines With Captio
`Truncated?
`
`
`
`
`
`No
`
`252 -~
`
`Yes
`
`“
`
`Can An Additional
`:
`
`Yes
`
`Truncate Caption
`
`-=<Tine Be Displayed Using Current
`254 -
`
`
`Of Lines
`
`Increase Number
`
`Font?
`
`No
`
`yo 256\|Is There A Smaller
`
`
`Yes
`
`Font That Is Greater Than The
`
`Resets Font Size?
`
`258 ~
`
`Decrease Font
`Point Size
`
`- 250
`
`
`~ 246
`
`Display Info At
`Current Font And
`NumberOf Lines
`
`IPR2018-00044
`Ex. 1014/ Page 5 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 5 of 14
`
`
`
`U.S. Patent
`
`Sep. 17, 2002
`
`Sheet 5 of 5
`
`US 6,452,597 B1
`
`
`
`
`
`|
`iA
`Address: 1 Bellevue Rd. cs
`Fig. 5a
`
`
`
`fesl
`. A
`12487 Bellevue Rd. Apt. 1009 <>
`Fig. Sd
`
`
`. A
`3
`A fel
`fea
`;
`a
`Address:
`23859 Bellevue
`a
`Addre...: 1 Bellevue Rd. #301 de>
`Blvd. Suite 1607. 1st entrance 42”
`Fig. S¢
`Fy. Se
`
`
`
`A
`
`ry
`Addrs.:
`
`
`1 Bellevue Rd. #3014®>
`Fig. Se
`
`. A
`few
`32638 Bellevue Rd. Suite 3079, «
`third entrance with
`guard post
`<g>
`
`Fig. Sf
`
` 272 278-280
`
`274 | fel
`awe
`Miles Left Until
`
`7.
`
`“(aoFe
`Fig. 5¢
`
`276 ~
`
`\ 289
`
`IPR2018-00044
`Ex. 1014/ Page 6 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 6 of 14
`
`
`
`US 6,452,597 B1
`
`1
`DISPLAYING TEXT ON A LIMITED-AREA
`DISPLAY SURFACE
`
`TECHNICAL FIELD
`
`This invention relates to the display of information on
`computerized devices, such as automotive computers, that
`have limited display areas. More particularly, the invention
`relates to automatically adjusting the size of information
`being displayed on such a computerized device to effectively
`utilize the available display area.
`BACKGROUND OF THE INVENTION
`
`Computer technology is continually advancing, continu-
`ally providing new and expanded uses for computers. One
`such use is in vehicles, such as an automobile or truck.
`Programmable devices and controllers for controlling vari-
`ous engine and other system functions within a vehicle have
`been used for a numberof years. Additionally, other devices
`for providing basic feedback to a vehicle operator, such as
`mileage or number of miles that can be driven before
`refueling, have also been used for a number of years.
`However, as computer technology has advanced a new field
`of use for computers has opened up, allowing more con-
`ventional “desktop computer” functionality to be made
`available to vehicle operators via “vehicle computers”.
`One problem experienced with computers in general, and
`moreparticularly with vehicle computers, is difficulty read-
`ing the information displayed. Information, such as program
`data or instructions, is typically provided to a user via a
`display device, such as a cathode ray tube (CRT) monitoror
`a liquid crystal diode (LCD) display. To be useful, such
`information should be easily readable by the user. This is
`particularly true in a vehicle computer becausetheuser(e.g.,
`driver of the vehicle) may only be able to take brief glances
`at the display due to the user’s primary focus being on
`driving the vehicle.
`In order to makethe information easily readable, it should
`be displayed in a large size. For example, a vehicle computer
`may display a street address of a location that the driver is
`trying to find. However, when a large amount of information
`is displayed, problems can arise because the computer may
`not be able to display the information on a single “screen”
`of the display. For example, if the informationis the street
`address “12345 Washington Street, Building 5”, it may be
`too much information for a single screen using the desired
`large font size.
`Onesolution to this problem is to display the information
`using multiple “screens”. For example,
`the data “12345
`Washington” may be ona first screen and the user can scroll
`to a second screen to see “Street, Building 5”. However,this
`can be confusing to the user and requires the user to take
`attention away from other activities (e.g., his or her driving)
`to scroll between pages.
`Anothersolution is to display as much of the information
`as possible and omit the remainder. For example, “12345
`Washington” may be displayed and the remainder omitted.
`This is problematic because important information (e.g.,
`“Building 5”) may be omitted that prevents the user from
`accurately identifying the address. Furthermore, the omitted
`information may make the remaining information ambigu-
`ous. For example, a city may include a “Washington Street”
`and a “Washington Court”. If the word “street” is dropped
`from the display,
`then the driver would not be able to
`determine if he or she were supposed to be going to
`Washington Street or Washington Court.
`The invention described below addresses these
`disadvantages, providing a way to improve the display of
`information on small display surfaces.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`SUMMARYOF THE INVENTION
`
`The invention concerns the display of information on
`small display surfaces in a manner that allows the user to
`easily read the information. The invention automatically
`adjusts the size of information being displayed by the
`computer system in order to make the information easily
`readable, while at the same time leaving most(orall) of the
`information displayed on a single screen.
`According to one aspect of the invention, any one or more
`of the font point size, the font, the numberoflines used, and
`the caption (a label that describes the data being displayed)
`used is automatically adjusted. The font point size can be
`reduced in order to allow more information to be displayed
`on the single screen. The font itself can be changed to a font
`that requires less area (e.g., width) to display. The number of
`lines can be increasedin orderto allow the information to be
`displayed over multiple lines rather than a single line. The
`caption can be changed by partly or completely truncating
`the caption in order to provide the more useful information
`at a larger font size.
`According to another aspect of the invention, the size of
`information being displayed is adjusted using the following
`process. If all of the information cannot be displayed at a
`desired font size, then an attempt is made to display the
`information at the desired font size but with a truncated
`
`caption. If that attempt is unsuccessful, then an attempt is
`made to increase the number of lines used to display the
`information. If there is insufficient space within the display
`area to increase the numberof lines, then an attempt is made
`to reduce the font point size. This process continues until a
`size is determined at which the information can be dis-
`
`played.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by way of example
`and not
`limitation in the figures of the accompanying
`drawings. The same numbersare used throughoutthe figures
`to reference like components and/or features.
`FIG. 1 shows an exemplary vehicle computer system such
`as may be used with the invention.
`FIG. 2 shows exemplary components of the computer of
`FIG. 1 in more detail.
`
`FIG. 3 is a block diagram illustrating exemplary compo-
`nents for automatically adjusting the size of displayed
`information in accordance with the invention.
`
`FIG. 4 is a flowchart illustrating an exemplary process for
`adjusting the size of displayed information in accordance
`with the invention.
`
`FIGS. 5a, 5b, 5c, 5d, 5e, 5f, and 5g are example displays
`in accordance with the invention.
`
`DETAILED DESCRIPTION
`
`FIG. 1 shows an exemplary vehicle (e.g., automobile)
`computer system 100 such as may be used with the inven-
`tion. Vehicle computer system 100 has a centralized com-
`puter 102 coupled to various external peripheral devices,
`including a display device 104, security sensors 106, a
`vehicle diagnostic interface 108, speakers 110, a vehicle
`battery 112, a backup battery 114, and antenna(s) 116. The
`computer 102 is assembled in a housing 118 that is sized to
`be mountedin a vehicle dashboard,similar to a conventional
`automobile stereo. In the illustrated example, the housing
`118 has a form factor of a single DIN (Deutsche Industry
`Normen). Alternatively, it could be housed in a 2 DIN unit
`or other special form factor for an OEM.
`
`IPR2018-00044
`Ex. 1014/ Page 7 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 7 of 14
`
`
`
`US 6,452,597 B1
`
`3
`The computer 102 runs an open platform operating sys-
`tem which supports multiple applications. Using an open
`platform operating system and an open computer system
`architecture, various software applications and hardware
`peripherals can be produced by independent vendors and
`subsequently installed by the vehicle user after purchase of
`the vehicle. This is advantageousin that the software appli-
`cations do not need to be specially configured for uniquely
`designed embedded systems. In the illustrated example the
`open hardware architecture runs multitasking operating sys-
`tem that employs a graphical user interface. A multitasking
`operating system allows simultaneous execution of multiple
`applications. One such operating system is the “Windows”
`brand of operating systems(e.g., the “Windows CE”oper-
`ating system) sold by Microsoft Corporation of Redmond,
`Washington.
`The computer 102 can includeat least one storage drive
`which permits the vehicle user to download programs and
`data from a storage medium.
`In the illustrated
`implementation, the computer 102 has a CD ROM (orother
`optical) drive 120 which reads application-related CDs, as
`well as musical, video, game,or other types of entertainment
`CDs. The computer 102 may also include other storage
`devices, such as a magnetic disk drive, smart card reader,
`PCMCIAcard sockets,a hard disk drive, or a DVD (“digital
`video disk” or “digital versatile disk”) drive.
`The storage drives are mounted in a base unit 128 of the
`housing 118. The base unit 128 is constructed and sized to
`be mounted in the dashboard. Optionally, this base unit may
`be removable in the same fashion as a laptop computer and
`its associated docking station. This option allowsthe user to
`take the vehicle computer to his/her homeoroffice to serve
`as his/her portable PC. The housing 118 also has a faceplate
`130 which is pivotally mounted to the front of the base unit
`128 and may optionally be detachable. The faceplate can be
`rotated to permit easy and convenient access to the storage
`drives.
`
`The computer 102 has a keypad 132 and a display 134 on
`the faceplate 130. The operating system executing on the
`computer 102 controls the faceplate peripheral, which
`through the faceplate processor, can control the faceplate
`keys 132 and the faceplate display 134 as peripheral devices
`whenthe faceplate is attached to the base unit. Additionally,
`the computer 102 has a voice recognition device to permit
`the user to verbally enter commands in a hands-free, eyes-
`free environment. These voice commands can be used for
`controlling most operating modesof the vehicle computing
`platform. The computer 102 is also equipped with an IrDA
`(infrared developers association)
`transceiver port 136
`mounted on the faceplate 130 to transmit and receive data
`and programs using infrared signals. The entire faceplate
`unit 130 behaves as a multifunction peripheral to the com-
`puting platform.
`The computer 102 can output visual data to the LCD 134
`at the faceplate, or to the display device 104. In the exem-
`plary illustration, display 134 is a back lit LCD and display
`104 is a small flat panel display (e.g., 6.4" screen) that is
`movably mounted on a stand or yoke and remotely located
`from the computer. Additional display devices may also be
`added that are similar to display 104 or 134. Different types
`of display devices may also be added, such as a Heads Up
`Display (HUD).
`The display 104 is fully adjustable to different viewing
`positions that can be seen by the driver or other passengers
`in the vehicle. The type of data displayed can range widely
`from word instructions concerning the vehicle’s
`
`10
`
`15
`
`20
`
`25
`
`30
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`performance, to diagrammatic directions from a navigation
`system, to video movies for in-car entertainment. The dis-
`play 104 can be equipped with an automatic override switch
`138 which automatically disables the display of any non-
`driving related data when positioned to be viewed by the
`driver. When facing the driver, only information supportive
`and helpful
`to driving (e.g., diagnostics, navigation
`directions) is displayed on the monitor, while distracting
`information (e.g., video movies, games) is blocked from
`display. In one implementation, the switch is an electrical
`cylindrical switch which closes when the display is capable
`of being viewed by the driver; thus, the software can sense
`the display position and only allow permitted information to
`be displayed.
`In general, the vehicle computer system 100 can be used
`to integrate multiple vehicle-related systems onto one open
`platform hardware and software architecture. For instance,
`the vehicle computer system 100 can serve as a multimedia
`entertainment system, a navigation system, a communica-
`tions system, a security system, and a diagnostics system.
`Moreover, the vehicle computer system 100 provides addi-
`tional functionality traditionally associated with desk-top
`and laptop personal computers. For instance, vehicle com-
`puter system 100 can support word processing applications,
`spreadsheet applications, database applications, and
`appointment/schedule applications. Furthermore,
`the
`vehicle computer system 100 can be configured to operate as
`a server to other computing units in the vehicle to distribute
`games, video movies, and the like to passengers.
`In accordance with the invention,
`information can be
`displayed on either display device 104 or display 134. The
`information can be provided by an application running on
`computer 102, or by a device external to computer 102, such
`as sensors 106 or via diagnostic interface 108, antenna 116,
`IrDA port 136, etc.
`Information that can be displayed
`includes any type of data or control
`information.
`Additionally,
`information to be displayed can include a
`“caption” or “label” that describes the data. Examples of
`data that can be displayed include street addresses, phone
`numbers, and directions(e.g., “Turn Left At Light On Main
`Street”). Such data can be displayed either including a
`caption describing the data (e.g., “Address: 12345 Wash-
`ington Street”, where “Address:” is the caption portion of
`the information) or without a caption (e.g., “12345 Wash-
`ington Street”). Examples of control information include
`toolbars, menu options, and user-selectable on-screen
`regions (such as buttons), as well as instructions, headings,
`and other descriptive information. It should be noted that, by
`automatically adjusting data and control information, size
`adjuster 202 relieves other applications from the burden of
`determining the appropriate size for such information.
`The invention automatically adjusts the size of the infor-
`mation (e.g., text) displayed. The adjustment is based on the
`size of a display area available on the display 104 or 134 for
`displaying the information. The size of the information can
`be adjusted by making one or more changes, such as
`changing the point size of the font used to display the
`information, changing the font used to display the
`information, truncating a caption (rather than truncating the
`data that the caption describes), and/or changing the number
`of lines used to display the information.
`In the discussion herein, the invention is described in the
`general context of computer-executable instructions, such as
`program modules, being executed by one or more conven-
`tional personal computers. Generally, program modules
`include routines, programs, objects, components, data
`structures, etc. that perform particular tasks or implement
`
`IPR2018-00044
`Ex. 1014/ Page 8 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 8 of 14
`
`
`
`US 6,452,597 B1
`
`5
`particular abstract data types. Moreover, those skilled in the
`art will appreciate that the invention may bepracticed with
`other computer system configurations, including hand-held
`devices, multiprocessor systems, microprocessor-based or
`programmable consumer electronics, network PCs,
`minicomputers, mainframe computers, and the like. In a
`distributed computer environment, program modules may be
`located in both local and remote memory storage devices.
`FIG. 2 shows exemplary components of computer 102 of
`FIG. 1 in more detail. Computer 102 includes one or more
`processors or processing units 152, a system memory 154,
`and a bus 156 that couples various system components
`including the system memory 154 to processors 152.
`The bus 156 represents one or more of any of several
`types of busstructures, including a memory bus or memory
`controller, a peripheral bus, an accelerated graphics port, and
`a processor or local bus using any of a variety of bus
`architectures. The system memory 154 includes read only
`memory (ROM) 158 and random access memory (RAM)
`160. A portion of the operating system, such as kernel 162,
`contains the basic routines that help to transfer information
`between elements within computer 102, such as during
`start-up, is stored in ROM 158.
`Anumberof program modules maybe stored in ROM 158
`or RAM 160, including an operating system 164 and one or
`more application programs 166. Auser may enter commands
`and information into computer 102 through various input
`devices, such as a keyboard (e.g., keypad 132 of FIG. 1),
`touchscreen, pointing device, microphone, joystick, game
`pad, satellite dish, scanner,or the like (not shown in FIG. 2).
`These and other input devices are coupled to the processing
`unit 152 through an input/output (1/O) interface 168 that is
`coupled to the bus 156. A display 104 or 134, or other type
`of display device, is also connected to the bus 156 via an
`interface, such as a video adapter(s) 170. Data to be dis-
`played on display 104 or 134 is provided to adapter 170 by
`a display generator 172 of operating system 164. In addition
`to the display, computers can include other peripheral output
`devices (not shown in FIG. 2) such as speakers and printers
`that are coupled to the processing unit 152 through I/O
`interface 168.
`
`the processors of computer 102 are pro-
`Generally,
`grammed by meansofinstructions stored at different times
`in the various computer-readable storage media of the com-
`puter. Programs and operating systems are typically
`distributed, for example, on floppy disks or CD-ROMs.
`From there, they are installed or loaded into the secondary
`memory of a computer. At execution, they are loadedat least
`partially into the computer’s primary electronic memory.
`The invention described herein includes these and other
`
`various types of computer-readable storage media when
`such media contain instructions or programs for implement-
`ing the steps described below in conjunction with a micro-
`processor or other data processor. The invention also
`includes the computeritself when programmedaccording to
`the methods and techniques described below. Furthermore,
`certain sub-components of the computer may be pro-
`grammed to perform the functions and steps described
`below. The invention includes such sub-components when
`they are programmedas described. In addition, the invention
`described herein includes data structures, described below,
`as embodied on various types of memory media.
`For purposes ofillustration, programs and other execut-
`able program components such as the operating system are
`illustrated herein as discrete blocks, although it is recog-
`nized that such programs and componentsreside at various
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`times in different storage components of the computer, and
`are executed by the data processor(s) of the computer.
`FIG. 3 is a block diagram illustrating exemplary compo-
`nents for automatically adjusting the size of displayed
`information in accordance with the invention. A size adjuster
`202 is illustrated, including an information analyzer 204, a
`truncator 206, a font point size adjuster 208, a display line
`adjuster 210, and a font adjuster 212. Various status infor-
`mation is maintained by the components 204-212 in
`memory 214. Memory 214 can be a system memory (such
`as memory 154 of FIG. 2), or alternatively other memory
`locations or registers within the computer 102. Size adjuster
`202 can be implemented external to the operating system
`(e.g., one of application programs 166 of FIG. 2) as a
`module that can be invoked by the operating system, or
`alternatively as part of the operating system (e.g., part of
`operating system 164 of FIG. 2). Size adjuster 202 is
`invoked by display generator 172 of FIG. 2 prior to display-
`ing the information.
`Size adjuster 202 automatically adjusts the size of
`information, such astext, to be displayed to a user in order
`to make the information easily readable to the user. Adjuster
`202 can adjust
`the size of the information in various
`manners,including adjusting (either reducing or increasing)
`the font point size, adjusting (either increasing or reducing)
`the numberof lines used to display the information, and
`adjusting the font being used, as well as truncating the
`caption being displayed with the information. When adjuster
`202 has adjusted the size of the information, the information
`and corresponding size identifiers (e.g., font point size,
`numberof lines, font type, and caption to use) are provided
`to display generator 172 of FIG. 2 for use in displaying the
`information.
`
`The adjustment made by adjuster 202 is based on a
`display area available for
`the information.
`In some
`situations, the display area available for the information is
`the entire surface of the display 134. Thatis, all of display
`134 can be used as the display area. In other situations, the
`display area available for the information is less than the
`entire surface of the display 134. For example, the display
`area for control information may be limited to a smaller
`portion of the display (e.g.,
`the dimensions of a user-
`selectable button). By way of another example, other infor-
`mation (e.g., user-selectable icons or instructions) may be
`displayed on the display 134 that limits the display area
`available for the information.
`
`Size adjuster 202 receives the information to be displayed
`and optionally an indication of the size of the display area.
`For example, an application having a user-selectable button
`with text inside the button can provide the text and an
`indication ofthe size of the button (e.g., in pixels) to adjuster
`202. The size of the button is then used by adjuster 202 as
`the display area and the text is automatically adjusted for
`display within the button. In situations where an indication
`of the size of the display area is not given, adjuster 202 uses
`a default value(e.g., the entire surface of display 134) as the
`display area. Alternatively, adjuster 202 may limit the dis-
`play area based on other information (e.g., icons or other
`text) already being displayed. The portion of the display
`occupied by such other information can be provided to
`adjuster 202 from the operating system 164 of FIG. 2, or
`alternatively may be known by adjuster 202 if adjuster 202
`is part of the operating system 164.
`Information analyzer 204 compares the information to be
`displayed and thedisplay area available (e.g., on display 134
`of FIG. 1). Analyzer 204 determines whether the informa-
`
`IPR2018-00044
`Ex. 1014/ Page 9 of 14
`
`IPR2018-00044
`Ex. 1014 / Page 9 of 14
`
`
`
`US 6,452,597 B1
`
`7
`tion can be displayed within the area availableat a particular
`font, a particular font point size, and using a particular
`number of lines. Based on this analysis, various ones of
`adjusters 208-212 and truncator 206 are invoked to adjust
`the size of the information to be displayed. The adjustment
`process continues until the information can be displayed at
`an acceptable size.
`Truncator 206 determines how to truncate a caption or
`label for information being displayed. The caption or label
`can vary depending on the nature of the information being
`displayed, and is provided to adjuster 202 by the application
`that is providing the information to be displayed. Truncator
`206 truncates the caption by determining, based on the size
`of the display area and the information to be displayed, how
`many characters are to be removed from the caption and then
`removing that numberof characters. It should be noted that
`the situation can arise whereall characters are removed from
`
`the caption, resulting in a “complete” or “full”truncation. It
`should be noted that when truncating the caption, the cor-
`responding data remains unchanged. For example, the cap-
`tion “Address” may be truncated, but the corresponding
`street address is not truncated.
`
`Whena captionis truncated an indication may be given to
`the user that truncation has occurred. For example, ellipses
`can be added to the caption to indicate that the caption has
`been truncated. Alternatively, no such indication may be
`given. Whether such an indication is given to the user can
`vary depending on how much ofthe caption is truncated
`(e.g., no indication may be given if the caption is fully
`truncated.
`
`Alternatively, different methods of truncation may be
`used. For example, characters may be removed from the end
`of the caption one by one and, after each character is
`removed,
`information analyzer 204 invoked to check
`whether the information can be displayed at the current font
`size and numberof lines with the newly truncated caption.
`Another alternative methodology uses “intelligent”
`truncation, where an attempt is made to remove characters
`from the caption while leaving the caption as intelligible as
`possible. For example,
`it may be preferable to truncate
`“Address” to “Addrs” rather than “Addre”. Different meth-
`odologies can be used to achieve an intelligent truncation.
`One such methodology uses a set of rules to truncate the
`caption. By way of example, the following rules could be
`used:
`
`(1) Removeall punctuation from rightto left.
`(2) Removeall vowels (except possibly for the first letter
`in the caption) from rightto left.
`(3) Replace all duplicated consonants with a single con-
`sonant(e.g., replace “dd” with “d” and “ss” with “s”)
`from rightto left.
`(4) Remove remaining characters one by one from right to
`left.
`Truncator 206 would remove characters from the caption
`following these rules in order. Table I illustrates an example
`truncation of the caption “Address:” according to these
`rules.
`
`TABLEI
`
`Action
`Remove “:” -Rule 1
`Remove “e” -Rule 2
`Remove “s” -Rule 3
`
`Resulting Truncated
`Caption
`Address
`Addrss
`Addrs
`
`10
`
`15
`
`20
`
`30
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`
`TABLEI-continued
`
`Action
`Remove “d” -Rule 3
`Remove “s” -Rule 4
`Remove “1” -Rule 4
`Remove “d” -Rule 4
`
`Resulting Truncated
`Caption
`Adrs
`Adr
`Ad
`A
`
`Another such methodology uses a set of pre-determined
`versions of a truncated caption along with an ordering.
`Truncator 206 checks the different versions, in accordance
`with the ordering, to determine a truncated caption to use.
`For example, various truncated versions of the caption
`“Address” are listed in Table II below. These versions are
`used by truncator 206 in their order of appearance in Table
`Il.
`
`TABLEII
`
`Address
`Addrs
`Adrs
`Ads
`Ad
`A
`
`Yet another such methodology takes advantage of differ-
`ent character widths, removing “wider” charactersfirst. For
`example, in some fonts, the character “m” requires more
`width to display than both of the characters “7”and “1”. Thus,
`the caption would require less width to display if the letter
`“m” were removedrather than both of the letters “i” and “1”.
`Appropriate rules can be generated to remove “wider”
`charactersfirst, thereby leaving moreletters in the caption.
`It is to be appreciated that which characters, if any, are wider
`than which other characters is dependent on the font being
`used.
`Font point size adjuster 208 adjusts the point size of the
`font as necessary. The font point size is adjusted in one-point
`increments, althoughalternatively different sized increments
`could be used. Font point size adjuster 208 maintains a
`current font size being contemplated for use in displaying
`the information in a memorylocation 216.
`Font point size adjuster 208 can decrease or increase the
`font point size. The font point size can be reduced, for
`example, to allow more information to be displayed within
`a particular display area. Additional