`(10) Patent N0.:
`US 6,452,597 B1
`
`Goldberg et al.
`(45) Date of Patent:
`Sep. 17, 2002
`
`U5006452597B1
`
`(54) DISPLAYING TEXT ON A LIMITED-AREA
`DISPLAY SURFACE
`
`(75)
`
`Inventors: Jossef Goldberg; Benjamin N.
`.
`d~
`33231953311133: EJ' Zéllflleerfic’Ralé 0f
`ea
`6’
`y, '
`’
`6 m0“ ’
`Stuart N- DesPam> seame> all Of WA
`(US)
`_
`_
`.
`(73) ASSIgneeI Mlcrosoft Corporatlon, Redmond, WA
`US
`(
`)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent 15 extended or adjusted under 35
`U-S-C- 154(b) by 0 days.
`
`(22)
`(51)
`
`(21) Appl. N0.: 09/382,358
`.
`.
`Aug. 24’ 1999
`Flled’
`Int. Cl.7 ............................ G09G 5/26; G08B 5/22,
`H04Q 1/30; H04Q 7/00
`....................................... 345/472; 340/755
`(52) us. Ci.
`(58) Field of Search ................................. 345/472, 689,
`345/660; 707/517’ 519’ 540; 340/743’
`7.47 755. 382/298 301
`’
`’
`’
`
`685
`6,131,103 A * 10/2000 Yun ........................... 707/542
`6,138,039 A * 10/2000 Sudo et a1.
`................. 345/159
`21:33: 2 : $3888 fioihimotto let a1~
`~~~~~~~~ 352/385:
`,
`,
`e ms e a .
`..............
`.
`6,166,621 A * 12/2000 Burgan et a1.
`............. 340/755
`6,202,023 B1 *
`3/2001 Hancock etal.
`.....
`701/201
`
`6,229,519 B1 *
`5/2001 Narusawa .............. 345/26
`
`7/2001 Roth ...................
`6,266,060 B1 *
`345/853
`........ 455/412
`6,272,332 B1 *
`8/2001 Matsumoto et a1.
`6,279,018 B1 *
`8/2001 Kudiolli et al.
`............ 707/540
`OTHER PUBLICATIONS
`
`Nokia 6160 Owners Manual, 1999, 10 pages.
`“The Nokia 3110 Redefines Ease of Use for Cellular
`Phones”,
`http://WWW.nokia.com/news/newsihtmls/nmpi
`970312b.htm1, Mar. 12, 1997, 1 page.
`“Nokia Launches The New Nokia 8110i GSM Handport-
`able, Incorporating Smart Messaging”; http://WWW.nokia.
`com/news/newsihtmls/nmp13
`970312c.html, Mar.
`12,
`1997, 1 page.
`“AT&T Launches First National One—Rate Wireless Service
`glalné’ggmp¢//V1VV:~afi-COIH/Press/O598/980501cha~html> May
`. >PP~ ‘ ~
`.kala Introduces TDMA Handsets to the New 6100 Fam-
`ily ,
`http://WWW.nokia.com/news/newsihtmls/nmpi
`980108a.html, Jan. 8, 1998, pp. 1—2.
`
`(56)
`
`References Cited
`
`* cited by examiner
`
`U.S. PATENT DOCUMENTS
`4,486,857 A * 12/1984 Heckel
`....................... 707/508
`5,212,477 A *
`5/1993 Indekeu et al.
`340/755
`5,231,579 A *
`7/1993 Tsuchiya et al.
`..... 707/508
`5,258,739 A * 11/1993 DeLuca et a1.
`340/7.55
`5,635,978 A *
`6/1997 Alten 6t a1~ ~~~~~~~~~~~~~ 348/569
`576827133 A : 10/1997 JOhnson 6t a1~ ~~~~~~~~~~~~~ 340/426
`5’691’708 A
`11/1997 Batéhelder et al‘ """" 340/7‘29
`5,805,981 A *
`............... 455/384
`9/1998 Sugio et a1.
`5,828,313 A * 10/1998 Mochizuki ......
`340/825.44
`
`........ 340/755
`5,870,682 A *
`2/1999 Miwa et a1.
`8/1999 Tsumura .............. 340/755
`5,936,545 A *
`
`6,067,070 A *
`5/2000 Suzuki et a1.
`..... 345/660
`
`8/2000 Behr et a1. .................. 340/995
`6,107,944 A *
`6,128,012 A * 10/2000 Seidensticker, Jr. et al.
`..... 345/
`
`Primary Examiner—Jeffery 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 dis 1a ed on a sin 1e screen An one or
`.
`p. y
`g
`‘
`y
`.
`more of the font pomt Size, the font type, the number of lines
`used, énd the caPtIOI} used can be adJUSFed.1H .Order
`to
`determine the manner in Which the information is displayed.
`
`30 Claims, 5 Drawing Sheets
`
`
`
`El
`
`Qifi
`
`
`
`Addre...: 1 Bellevue Rd. #301 <3»
`
`
`
`IPR2018-00044
`
`EX. 1014 / Page 1 of14
`
`IPR2018-00044
`Ex. 1014 / Page 1 of 14
`
`
`
`US. Patent
`
`Sep. 17, 2002
`
`Sheet 1 of 5
`
`US 6,452,597 B1
`
`N:!!
`
`v:\\‘
`
`9:[xwe\
`
`885::
`
`
`
`258930whomcwmESomm\
`
`
`
`
`
`bmtmmm_oEo>mm?1)
`
`//
`
`
`
`
`
`
`
`
`
`
`
`.5ENEmmr”3963‘
`
`
`
`mam.:2“.
`
`
`
`02>N?\\o?
`
`IPR2018-OOO44
`
`EX. 1014 / Page 2 0f14
`
`IPR2018-00044
`Ex. 1014 / Page 2 of 14
`
`
`
`
`
`US. Patent
`
`Sep. 17, 2002
`
`Sheet 2 0f 5
`
`US 6,452,597 B1
`
`54,.
`
`
`
`we/
`
`8%quQ.
`
`co=m23Q<
`
`mESmoi
`
`IPR2018-00044
`
`EX. 1014 / Page 3 0f14
`
`
`
`
`
` ._m?t.7,amewzsigma.-.w.Wa_I...................Z,,
`
`IPR2018-00044
`Ex. 1014 / Page 3 of 14
`
`
`
`
`US. Patent
`
`Sep. 17, 2002
`
`Sheet 3 0f 5
`
`US 6,452,597 B1
`
`Memory
`””214
`
`
`
`
`Variables
`
`/flA216
`
`Current Font Point
`Size
`
`Font Point Size
`
`Adjuster
`
`'
`
`Display Line
`Adjuster
`
`
`
`EC
`
`212
`
`
`
`Font Adjuster
`
`I
`
`
`
`
`
`
`
`
`/ 220
`
`r___..
`
`Current Font
`
`
`
`
`Current Number
`Of Lines
`
`"7218
`
`
`
`,2 222
`
`
`Threshold Font
`Point Size
`
`
`
`IPR2018-00044
`
`EX. 1014 / Page 4 0f14
`
`IPR2018-00044
`Ex. 1014 / Page 4 of 14
`
`
`
`US. Patent
`
`Sep. 17, 2002
`
`Sheet 4 0f 5
`
`US 6,452,597 B1
`
`242
`
`
`Set Number Of Lines To
`One And Set Font To
`
`Starting Point Size.
`
`
`
`
`244
`
`/Can Info Fit At
`Current Font And Number Of
`Lines?
`
`Yes
`
`No
`
`
`
`254 '
`
`/ 248
`/ Can info
`Fit At Current Font And
`
`
`umber Of Lines With Captio
`Truncated?
`
`
`Yes
`
`" 250
`
`N0
`
`N (J1N /
`
`Truncate Caption
`
`Yes
`
`Can An Additional
`
`Increase Number
`Of Liners
`
`N0
`
`4% Be Displayed Using Current
`Font?
`/ 256\/Is There A Smaller
`
`
`
`Point Size
`
`Yes
`
`258
`
`Decrease Font
`
`Font That Is Greater Than The
`
`flhold Font Size?
`
`~ 246
`
`Display Info At
`Current Font And
`Number Of Lines
`
`IPR2018-OOO44
`
`EX. 1014 / Page 5 0f14
`
`IPR2018-00044
`Ex. 1014 / Page 5 of 14
`
`
`
`US. Patent
`
`Sep. 17, 2002
`
`Sheet 5 0f 5
`
`US 6,452,597 B1
`
`
`
`%J
`
`
`Address: 1 Bellevue Rd.
`43>
`
`L i fii
`
`
`
`El
`
`&. i 9
`
`12487 Bellevue Rd. Apt. 1009 43>
`
`76g. 5g
`
`76g 545
`
`
`
`[a
`
`na.a]
`
`A
`_
`
`Addre....
`1 Bellevue Rd. #301 4;»
`76g 5%
`
`[a
`
`2
`A
`3859 Bellevue
`Address:
`Blvd. Suite 1607 1st entrance 4;»
`76g 5e
`
`nin9
`
`
`
`1%
`
`1 Bellevue Rd. #30143»
`
`n in n
`
`
`Addrs...:
`
`Q i fl
`Lg]
`32638 Bellevue Rd. Suite 3079
`third entrance with uard post
`
`40)
`
`7g. 56
`
`7g. 5,;
`
`280
`um
`
`
`
`[Image
`276 c 7
`\ 282
`
`IPR2018-OOO44
`
`EX. 1014 / Page 6 0f14
`
`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 number of 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
`more particularly 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) monitor or
`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 because the user (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 make the 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 information is the street
`address “12345 Washington Street, Building 5”, it may be
`too much information for a single screen using the desired
`large font size.
`One solution to this problem is to display the information
`using multiple “screens”. For example,
`the data “12345
`Washington” may be on a 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.
`Another solution 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
`SUMMARY OF 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 (or all) 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 number of lines 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 increased in order to 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 number of 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 numbers are used throughout the 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, Sc, 5d, Se, 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 mounted in 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-OOO44
`
`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 advantageous in 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 include at 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 (or other
`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,
`PCMCIA card 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 allows the user to
`take the vehicle computer to his/her home or office 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
`when the 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 modes of 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
`
`35
`
`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-OOO44
`
`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 be practiced 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 bus structures, 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. Aportion 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.
`Anumber of program modules may be 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 (I/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 means of instructions 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 loaded at 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 computer itself when programmed according 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 programmed as described. In addition, the invention
`described herein includes data structures, described below,
`as embodied on various types of memory media.
`For purposes of illustration, 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 components reside 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. Asize 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 as text, 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 number of 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,
`number of 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. That is, 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 of the 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 the display area available (e.g., on display 134
`of FIG. 1). Analyzer 204 determines whether the informa-
`
`IPR2018-OOO44
`
`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 available at 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 number of characters. It should be noted that
`the situation can arise where all 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.
`
`When a caption is 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 of the 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 number of 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) Remove all punctuation from right to left.
`(2) Remove all vowels (except possibly for the first letter
`in the caption) from right to left.
`(3) Replace all duplicated consonants with a single con-
`sonant (e.g., replace “dd” with “d” and “ss” with “s”)
`from right to 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.
`
`TABLE I
`
`Action
`Remove “:” -Rule 1
`Remove “e” -Rule 2
`Remove “s” -Rule 3
`
`Resulting Truncated
`Caption
`Address
`Addrss
`Addrs
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`
`TABLE I-continued
`
`Action
`Remove “(1” -Rule 3
`Remove “s” -Rule 4
`Remove “r” -Rule 4
`Remove “(1” -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
`11.
`
`TABLE II
`
`Address
`Addrs
`Adrs
`Ads
`Ad
`A
`
`Yet another such methodology takes advantage of differ-
`ent character widths, removing “wider” characters first. For
`example, in some fonts, the character “m” requires more
`width to display than both of the characters “i” and “1”. Thus,
`the caption would require less width to display if the letter
`“m” were removed rather than both of the letters “i” and “1”.
`Appropriate rules can be generated to remove “wider”
`characters first, thereby leaving more letters 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, although alternatively 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 memory location 216.
`Font point