Self optimizing font width cache
AssigneeMicrosoft Corporation
InventorJon Franklin Matousek
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorJon Franklin Matousek
Estimating the term…
A self-optimizing font width cache provides an efficient caching mechanism for providing font widths to an application program. The font width cache acts as a font width server that services requests for widths for any given character. The font width cache maintains good system performance by minimizing the number of calls to the operating system without requiring an inordinate amount of memory for the font width cache. The font width cache is designed for use in conjunction with the Unicode character set, which assigns phonetic-based characters to a lower subrange of character codes and ideographic characters to an upper subrange. Each font realization is associated with a font width cache, which include two hash tables. One hash table is associated with each subrange of character codes. Both hash tables start out small and grow dynamically in response to the demands placed on the hash table by the data being displayed. The decision to increase the size of a hash table depends on the percentage of hash table slots that are in use and the number of collisions that have occurred when trying to access that hash table.
A method for providing a dynamically expandable cache for storing data associated with elements, comprising the steps of:
A method for providing a memory cache for storing data associated with an element set having first and second element code subranges, comprising the steps of:
A method for providing a dynamically expandable memory cache for an element set having first and second element code subranges, comprising the steps of:
In a computer system having memory, a font, and an operating system, a dynamically expandable font property memory cache for a character set having first and second character code subranges, comprising:
A computer-readable medium on which is stored a computer program for operating a dynamically expandable memory cache for an element set having first and second element code subranges, said computer program comprising instructions which, when executed by a computer, perform the steps of:
A computer-readable medium on which is stored a computer program for operating a dynamically expandable memory cache for storing data associated with an element set, said computer program comprising instructions which, when executed by a computer, perform the steps of:
Dependencies are inferred from the claim text.