EP1113413A2 - Workstation with text font cache - Google Patents
Workstation with text font cache Download PDFInfo
- Publication number
- EP1113413A2 EP1113413A2 EP00311648A EP00311648A EP1113413A2 EP 1113413 A2 EP1113413 A2 EP 1113413A2 EP 00311648 A EP00311648 A EP 00311648A EP 00311648 A EP00311648 A EP 00311648A EP 1113413 A2 EP1113413 A2 EP 1113413A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- font
- bitmaps
- cache
- stored
- bitmap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000009877 rendering Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 19
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 4
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000002059 diagnostic imaging Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 210000003484 anatomy Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000009206 nuclear medicine Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
Definitions
- the field of the invention is display systems, and particularly the display of text characters in workstations and the like.
- the present invention is a method and means for rendering text on a display using a plurality of different fonts. Bitmaps for each font being displayed are stored in a font cache, and as text rendering commands are generated to display a character of a particular font, the corresponding bitmap stored in the font cache is used. When a new font is requested by a text rendering command, the corresponding set of bitmaps for that font are generated and stored in the font cache. When the font cache is full, the least often used font is removed from the font cache to make room for new fonts.
- the workstation includes a mini-tower 10 which houses a processor and associated circuitry, memory, and peripheral interface circuits.
- One of the peripheral devices is a commercially available CRT monitor 12 which connects to a graphics circuit housed in the mini-tower 10, and another peripheral device is a keyboard and mouse 14 that connects to a PCI-based controller in the mini-tower 10.
- An operator may input data through the keyboard and control the position of a cursor on the monitor display 12 using the mouse.
- the workstation 10 may operate as a stand alone graphic display system, or it may be connected to receive digitised image data directly from a medical imaging system such as an x-ray system, x-ray CT system, MRI system, PET scanner system or nuclear medicine system.
- the workstation 10 typically contains application programs which perform image processing functions, such as, filtering the medical images, transforming the size and orientation of the medical images and adding textual information to the medical images.
- the workstation includes a processor 20 which executes instructions stored in a memory 22.
- the processor 20 is a commercially available device sold by Sun Microsystems, Inc. under the trademark UltraSPARC-IIi. It incorporates on-chip memory and I/O control to facilitate system integration. It is a superscalar processor implementing the SPARC-V9 64-bit RISC architecture and executing the instruction set sold commercially under the trademark "VIS". It also includes an integral PCI bus driver which provides a direct interface with a 32-bit PCI bus 24. It also includes integral memory management circuitry for handling all external memory 22.
- the PCI bus 24 is an industry standard bus that transfers 32-bits of data at 33MHz between the processor 20 and a number of peripheral controller cards. These include a PCI EIDE controller 26 which provides a high-speed transfer of data to and from a CD ROM drive 28 and a disc drive 30. A keyboard and Ethernet controller 32 supports data transfer with a number of peripheral devices, including input from the keyboard and mouse 14 and communication with Ethernet ports on medical imaging equipment. And finally, a graphics controller 34 couples the PCI bus 24 to the CRT monitor 12 through a standard VGA connection 36.
- the graphics controller 34 is interfaced with the PCI bus 24 by a PCI interface 38.
- the graphics controller 34 provides 8-bit or 24-bit color high performance graphics functions to the user.
- the graphics functions defined under the standard identified with the Silicon Graphics, Inc. trademark "OpenGL” are supported by the graphics controller 34.
- the graphics controller 34 includes a frame buffer controller 40 that operates in response to instructions stored in a PROM memory 42 to perform requested graphic functions. These functions include providing the latter half of 3D graphics rendering pipeline functions, providing acceleration for windowing functions and complex graphics applications. It also performs pixel processing to accelerate functionality such as transparency and antialiasing. It also provides rendering acceleration for dot, line, text, triangles, and fill patterns, as well as windowing functions, including fill, scroll, text, two and three dimensional vectors, and polygons.
- Image data which is processed by the frame buffer controller 40 is stored in a frame buffer memory 44.
- the frame buffer 44 is coupled to the controller 40 by a 36-bit data bus 46, and image data is written to and read from the frame buffer 44 under the direction of control signals and address signals on a control bus 48.
- the frame buffer memory 44 is also connected to a RAMDAC circuit 50 which converts the digital pixel values stored in the frame buffer memory 44 into analog signals and sends them through standard VGA connection 36 to the monitor 12.
- the RAMDAC 50 supports the simultaneous display of 8-bit and 24-bit color images and provides video timing for a number of different image resolutions.
- medical images may be input to the workstation in a number of ways.
- the workstation is connected directly to the medical imaging equipment through an Ethernet link.
- the image data is downloaded to the workstation through the Ethernet controller 32 and stored in memory 22.
- a number of image processing functions may be performed on the image data in the memory 22.
- a two-dimensional image may then be displayed on the monitor 12 by transferring a two-dimensional array of pixel data to the graphics controller 34 which automatically produces the corresponding analog signals for the monitor 12.
- the array of image pixel data to be displayed is stored in the frame buffer memory 44.
- the frame buffer controller 40 operates in concert with the RAMDAC 50 to produce a corresponding display on monitor 12 as indicated at process block 100.
- the operator may create textual information or labels which are to be added to the displayed image as indicated at process block 102.
- This textual information may be, for example, information concerning the medical imaging system and the prescription used to acquire the image data, or it may be information about the patient or the anatomy depicted in the image.
- a text rendering command When an application running on the workstation requires that text be rendered on the display 12, it produces a text rendering command.
- This command indicates the particular text font to be used and the particular character within that font. For example, the particular character might be identified by an 8-bit ASCII code.
- a program indicated in Fig. 5 is performed to render the text and manage the data structures stored in memory as shown in Fig. 4.
- a font cache object is created as indicated at process block 202 to initialize the required data structures.
- these data structures include a font cache 204 which is a block of memory reserved to store the bitmap data needed to render the characters.
- the size of this font cache 204 is configurable and can be changed at any time to optimize the workstation performance for the particular tasks being performed. For example, if large amounts of textual information in many different fonts is being displayed on the monitor 12, a larger font cache 204 can be configured by entering appropriate data through keyboard 14.
- a number of data structures are initialised that are required to manage the font cache 204.
- a use counter 206 which retains a number indicative of the number of times a particular font stored in the font cache 204 has been used. This count is initialised to zero when a font is first requested by a TEXT render command.
- Another data structure is a time requested number 208 which indicates the last time a particular font stored in font cache 204 was used. It is updated with the value of a real-time clock (not shown) maintained by the workstation each time its associated font stored in font cache 204 is used.
- Text render commands are examined at decision block 210 to determine if the bitmaps for the requested font is stored in the font cache 204. If so, the use counter 206 for the requested font is incremented and its associated time requested data 208 is updated with the current time as indicated at process block 212. The bitmap for the requested character is then read from the font cache 204 as indicated at process block 214 and rendered on the display as indicated at process block 216.
- bitmap data for the newly requested font must be produced as indicated at process block 220.
- the creation of bitmaps is relatively time consuming process in which the font is loaded into memory from disc drive 30, memory space is allocated for the font bitmaps and each font character is rasterized into a corresponding bitmap. The result is a set of bitmaps along with a list of pointers to their locations in the block of memory in which they are stored.
- the newly created font bitmaps are stored in the font cache 204.
- the present contents of the font cache 204 is checked to determine if there is room for the new bitmaps. If so, the newly created font bitmaps are added to the font cache 204 as indicated at process block 224.
- the use counters 206 for each font currently stored in the font cache 204 are checked to determine the least often used font. As indicated at decision block 226, if there is a single least used font, that font is replaced with the newly created font bitmaps as indicated at process block 228.
- the present invention thus enables a more efficient use of available memory and a reduction in processing needed to generate font bitmaps.
- the common font cache 204 may be shared by all applications producing text rendering commands, thus requiring only one copy of the font bitmaps being used. Font bitmaps are saved in the font cache 204 as long as memory space therein is available, making them available for later use by the same applications that prompted their generation or other applications. This reduces the instances in which font bitmaps must be generated with a consequent reduction in processing time.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
Abstract
Description
Claims (13)
- A method for producing text objects on a display, the steps comprising:a) storing a plurality of sets of font bitmaps in a font cache (204);b) receiving a text rendering command (200) which identifies a character in a designated font to be displayed;c) determining (210) if the font bitmap corresponding to the character is stored in the font cache and eitheri) reading the corresponding font bitmap (214) from the font cache (204); orii) generating another set of font bitmaps (220) corresponding to the designated font and storing (224, 228, 230) the same in the font cache (204), and reading (214) the corresponding font bitmap therein from the font cache; andd) displaying the character by rendering (216) the font bitmap read from the font cache on a display.
- The method as recited in claim 1 which includes the further steps of:e) determining if the font cache is full (222); and if it is full;f) removing one of the sets of font bitmaps (228, 230) stored in the font cache (204).
- The method as recited in claim 2 in which said one set of font bitmaps removed in step f) is the least used set of font bitmaps (228).
- The method as recited in claim 2 which includes:g) counting (212) the number of times a font bitmap in each set of font bitmaps is read from the font cache; andthe one set of font bitmaps removed in step f) is a set of font bitmaps having the lowest count (228).
- The method as recited in claim 2 which includes:h) storing (212) the time at which a font bitmap is read from each of said sets of font bitmaps stored in the font cache (204); andthe one set of font bitmaps removed in step f) is determined by the stored time (230) for that set of font bitmaps.
- The method as recited in claim 4 which includes:h) storing (212) the time at which a font bitmap is read from each of said sets of font bitmaps stored in the font cache (204); andthe one set of font bitmaps removed in step f) is determined by the stored time when two or more sets of font bitmaps have the same lowest count (226).
- A workstation which comprises:a memory for storing a font cache (204) containing a plurality of sets of font bitmaps;means for producing a text rendering command (14, 20) which identifies a character in a designated font to be displayed;means for comparing (210, 20) the designated font in the text rendering command with the fonts stored in the font cache (204);means for reading (214, 20) the font bitmap corresponding to the character from the font cache (204) if the designated font is stored in the font cache;means for producing (220, 20) a new set of font bitmaps corresponding to the designated font in the text rendering command if the designated font is not stored in the font cache (204), including means for storing (224, 228, 230, 20) the new set of font bitmaps in the font cache, and means for reading (214, 20) the font bitmap from the font cache (204) corresponding to the character;a display device (12) for producing an image; andmeans for rendering the character (34) on the display device using the font bitmap read from the font cache (204).
- The workstation as recited in claim 7 in which the means for producing a text rendering command includes:memory (22) for storing a plurality of application programs; anda processor (20) for executing the stored programs and producing text rendering commands.
- The workstation as recited in claim 7 which includes:a keyboard (14) through which data may be manually entered; andconfiguration means (202, 20) for receiving data input through the keyboard (14) and determining therefrom the size of the font cache (204).
- The workstation as recited in claim 7 which further includes:means (222, 20) for determining if the font cache (204) is full; andmeans (228, 230, 20) responsive to the last named means for removing one of said sets of font bitmaps if the font cache (204) is full.
- The workstation as recited in claim 10 which includes:means (206) for counting the number of times a font bitmap in each of said sets of font bitmaps is read from the font cache (204); andthe means (228, 20) for removing one of said sets of font bitmaps is operable to remove a set of font bitmaps having the lowest count.
- The workstation as recited in claim 10 which includes:timer means (208) for storing the time at which a font bitmap is read from each of said sets of font bitmaps stored in the font cache (204); andthe means for removing (230, 20) one of said sets of font bitmaps is responsive to the stored times for determining which set of font bitmaps to remove.
- The workstation as recited in claim 11 which includes:timer means for storing (208) the time at which a font bitmap is read from each of said sets of font bitmaps stored in the font cache (204); andthe one set of font bitmaps removed from the font cache (204) is determined by the stored times (208) when two or more sets of font bitmaps have the same lowest count.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US47340199A | 1999-12-28 | 1999-12-28 | |
| US473401 | 1999-12-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP1113413A2 true EP1113413A2 (en) | 2001-07-04 |
| EP1113413A3 EP1113413A3 (en) | 2003-03-26 |
Family
ID=23879377
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP00311648A Withdrawn EP1113413A3 (en) | 1999-12-28 | 2000-12-22 | Workstation with text font cache |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP1113413A3 (en) |
| JP (1) | JP2001249657A (en) |
| IL (1) | IL140459A0 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1443403A3 (en) * | 2003-01-28 | 2007-10-10 | Microsoft Corporation | Method and system for an atomically updated, central cache memory |
| CN112581279A (en) * | 2020-12-25 | 2021-03-30 | 深圳市富途网络科技有限公司 | Ordering method of desktop financial software and related product |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7827510B2 (en) * | 2022-03-24 | 2026-03-10 | 株式会社Screenホールディングス | Drawing data generating device, drawing system, and drawing data generating method |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06289838A (en) * | 1993-04-05 | 1994-10-18 | Fuji Xerox Co Ltd | Font cache controller and its applying method |
| DE69615278T2 (en) * | 1995-06-06 | 2002-06-27 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | SDRAM data allocation arrangement and method |
| US5883640A (en) * | 1996-08-15 | 1999-03-16 | Hsieh; Paul | Computing apparatus and operating method using string caching to improve graphics performance |
-
2000
- 2000-12-21 IL IL14045900A patent/IL140459A0/en unknown
- 2000-12-22 EP EP00311648A patent/EP1113413A3/en not_active Withdrawn
- 2000-12-27 JP JP2000396391A patent/JP2001249657A/en not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1443403A3 (en) * | 2003-01-28 | 2007-10-10 | Microsoft Corporation | Method and system for an atomically updated, central cache memory |
| KR100906262B1 (en) * | 2003-01-28 | 2009-07-06 | 마이크로소프트 코포레이션 | Method and system for an atomically updated, central cache memory |
| EP1993039A3 (en) * | 2003-01-28 | 2013-04-03 | Microsoft Corporation | Method and system for an atomically updated, central cache memory |
| CN112581279A (en) * | 2020-12-25 | 2021-03-30 | 深圳市富途网络科技有限公司 | Ordering method of desktop financial software and related product |
| CN112581279B (en) * | 2020-12-25 | 2024-03-19 | 深圳市富途网络科技有限公司 | Desktop financial software order methods and related products |
Also Published As
| Publication number | Publication date |
|---|---|
| IL140459A0 (en) | 2002-02-10 |
| JP2001249657A (en) | 2001-09-14 |
| EP1113413A3 (en) | 2003-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5821940A (en) | Computer graphics vertex index cache system for polygons | |
| US6111584A (en) | Rendering system with mini-patch retrieval from local texture storage | |
| US6348919B1 (en) | Graphics system with optimized use of unified local and frame buffers | |
| US5430841A (en) | Context management in a graphics system | |
| EP0338416B1 (en) | Virtual display adapter | |
| AU612222B2 (en) | Z-buffer allocated for window identification | |
| US7864185B1 (en) | Register based queuing for texture requests | |
| US4496944A (en) | Graphics display system and method including associative addressing | |
| US4492956A (en) | Graphics display system and method including preclipping circuit | |
| EP0329892A2 (en) | Display system comprising a windowing mechanism | |
| US6734867B1 (en) | Cache invalidation method and apparatus for a graphics processing system | |
| US5867145A (en) | Graphical image recasting | |
| US6166743A (en) | Method and system for improved z-test during image rendering | |
| WO1995030969A1 (en) | Computer graphics system having high performance multiple layer z-buffer | |
| KR20080067840A (en) | 3D graphics accelerator and its pixel distribution method | |
| US6429878B1 (en) | Display of text on medical images | |
| US5003497A (en) | Method for three-dimensional clip checking for computer graphics | |
| US6847369B2 (en) | Optimized packing of loose data in a graphics queue | |
| US7310103B2 (en) | Pipelined 2D viewport clip circuit | |
| US7616200B1 (en) | System for reducing aliasing on a display device | |
| US6411299B1 (en) | Processing text for display on medical images | |
| US20030160793A1 (en) | Synchronizing data streams in a graphics processor | |
| EP1113413A2 (en) | Workstation with text font cache | |
| US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
| EP0425178A2 (en) | Graphics display system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
| AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
| PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
| AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
| AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: 7G 09G 1/16 B Ipc: 7G 09G 5/36 A |
|
| 17P | Request for examination filed |
Effective date: 20030926 |
|
| AKX | Designation fees paid |
Designated state(s): DE NL |
|
| 17Q | First examination report despatched |
Effective date: 20040218 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20040629 |