# US 5,710,880 A · Method and system for creating a graphic image with geometric descriptors

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,710,880 A
- Document ID: US5710880A
- Status: Granted
- Kind: A
- Application number: 08/333,799
- Filed: 1994-11-03
- Granted: 1998-01-20
- Earliest claimed: 1994-11-03
- Assignees: Microsoft Corporation
- Inventors: Virginia E. Howlett; Laura Janet Butler; Joyce Alison Grauman
- Web page: https://patentgrep.com/patent/US5710880A

## CPC

- G06T 11/23: using straight lines or curves
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method for creating a scalable graphic image for display by a pixel-oriented display device. A pixel-based design of the desired graphic image is created and thereafter separated into constituent parts. A geometric descriptor is created for each constituent part. These geometric descriptors are then hinted to ensure that the constituent parts represented by these descriptors can be overlaid or combined to form a display of the desired graphic image for various point sizes. The hinted geometric descriptors for the graphic image are stored in a font file that can be accepted by a rasterizer. In response to a request to display a graphic image, the rasterizer reads the corresponding hinted geometric descriptors from the font file and generates character bitmaps defining the pixels to be illuminated to display the constituent parts. This allows the scaling of the displayed graphic image at different sizes based upon the particular requirements of the user.

## Claims

### Claim 1

A method of creating a scalable graphic image that can be displayed at a plurality of sizes by a pixel-oriented display device, comprising the steps of:
creating a pixel-based design of said graphic image;
dividing said pixel-based design into constituent parts based on the colors of said constituent parts; and
generating geometric descriptors for said constituent parts, said geometric descriptors operative to support a combination of representations of said constituent parts to display said graphic image for each of said plurality of sizes.

### Claim 2 (depends on 1)

A method as recited in claim 1 further comprising the step of converting said set of geometric descriptors to a format compatible with a font program.

### Claim 3 (depends on 2)

The method of claim 2, wherein said converting step comprises:
storing said geometric descriptors as a set of font tables in a font file; and
removing selected ones of said font tables that are not needed by said font program.

### Claim 4 (depends on 1)

The method as recited in claim 1 wherein each of said constituent parts has a single one of said colors.

### Claim 5

A method of creating a scalable graphic image that can be displayed at a plurality of sizes by a pixel-oriented display device, comprising the steps of:
creating a pixel-based design of said graphic image;
dividing said pixel-based design into constituent parts based on the colors of said constituent parts;
generating a geometric descriptor for each constituent part; and
hinting each geometric descriptor to produce a set of hinted geometric descriptors representing constituent parts that can be overlaid to form a display of said graphic image for each of said plurality of sizes.

### Claim 6 (depends on 5)

The method as recited in claim 5 further comprising the step of converting said set of hinted geometric descriptors to a format compatible with a font program.

### Claim 7 (depends on 6)

The method of claim 6, wherein said converting step comprises:
storing said hinted geometric descriptors as a set of font tables in a font file; and
removing selected ones of said font tables that are not needed by said font program.

### Claim 8 (depends on 5)

The method as recited in claim 5 further comprising displaying said graphic image on said pixel-oriented display device in response to reading said set of hinted geometric descriptors.

### Claim 9 (depends on 5)

The method as recited in claim 5 wherein each of said constituent parts has a single one of said colors.

### Claim 10

A method of creating a scalable graphic image that can be displayed at a plurality of sizes by a pixel-oriented display device, comprising the steps of:
creating a pixel-based design of said graphic image;
dividing said pixel-based design into constituent parts based on the colors of said constituent parts;
using a font editor program to generate a geometric descriptor for each constituent part;
using a hinting program to hint each geometric descriptor to produce a set of hinted geometric descriptors representing constituent parts that can be overlaid to form a display of said graphic image for said plurality of sizes; and
converting said set of hinted geometric descriptors to a format compatible with a selected font program.

### Claim 11 (depends on 10)

The method as recited in claim 10 wherein each of said constituent parts has a single one of said colors.

### Claim 12

A method of creating a scaleable graphic image for display by a pixel-oriented display device at a plurality of point sizes, comprising the steps of:
creating a pixel-based design of a graphic image having a default size defined by a predefined one of said point sizes;
dividing said pixel-based design into constituent parts based on colors of said pixel-based design, each constituent part having a single one of the colors;
importing said constituent parts into a font editor program;
using said font editor program to create geometric descriptors for said constituent parts;
supplying said geometric descriptors to a hinting program;
using said hinting program to apply hints to said geometric descriptors to produce a set of hinted geometric descriptors for each of said plurality of point sizes;
storing said set of hinted geometric descriptors as a set of font tables in a font file; and
converting said set of font tables to a format compatible with a font program.

### Claim 13 (depends on 12)

The method as recited in claim 12 wherein said step of creating a pixel-based design of said graphic image comprises using a computer paint program to create the pixel-based design; and
said converting step comprises removing selected ones of said font tables that are not needed by said font program.

### Claim 14 (depends on 12)

The method as recited in claim 12 wherein said step of creating a pixel-based design of said graphic image comprises using a computer paint program to create the pixel-based design;
said step of creating geometric descriptors for said constituent parts comprises using said font editor program to trace each outline of said constituent parts; and
said converting step comprises removing selected ones of said font tables that are not needed by said font program.

### Claim 15 (depends on 12)

The method of claim 12 further comprising displaying said graphic image on said pixel-oriented display device in response to accessing said converted font tables.

### Claim 16

A computer readable medium on which is stored a program module executable on a computer characterized by a pixel-based display device, the program module operative to render a scaleable graphic image in response to accessing a font file maintained in a memory storage device, the font file comprising:
a plurality of geometric descriptors representing constituent parts of a pixel-based design corresponding to the graphic image and having a plurality of colors,
each constituent part corresponding to a portion of the pixel-based design and having only one of the colors of the pixel-based design,
each geometric descriptor scaleable for a predefined range of point sizes to support rendering of the scaleable graphic image by the pixel-oriented display device at any one of the point sizes.

### Claim 17 (depends on 16)

The computer-readable medium of claim 16, wherein the geometric descriptors further comprise hints for shaping the appearance of the scaleable graphic image presented by the pixel-oriented display device, each hint associated with one of the point sizes.

### Claim 18

For a computer characterized by a pixel-oriented display device having a display resolution and a program module maintained in a computer memory and executable on the computer, the program module operative to render a scaleable graphic image by performing the steps of:
accessing a font file comprising a plurality of geometric descriptors representing constituent parts of a pixel-based design corresponding to the graphic image, the pixel-based design having a plurality of colors, each constituent part corresponding to a portion of the pixel-based design and having only one of the colors of the pixel-based design, each geometric descriptor scaleable for a range of point sizes to support rendering of the scaleable graphic image by the pixel-oriented display device at any one of the point sizes;
scaling the geometric descriptors in response to a selected one of the point sizes and the display resolution of the pixel-oriented display device;
responsive to the scaled geometric descriptors, generating character bitmaps that define pixels of the pixel-oriented display device to be illuminated for displaying a representation of the constituent parts; and
responsive to the character bitmaps, drawing the representation of each of the constituent parts to render the scaleable graphic image at the selected point size.

### Claim 19 (depends on 18)

The program module of claim 18 further operative to perform the step of responding to at least one hint of the scaled geometric descriptors by applying each hint to the corresponding scaled geometric descriptor.

### Claim 20 (depends on 18)

The program module of claim 18 wherein said step of drawing the representation of each of the constituent parts to render the scaleable graphic image comprises the step of overlaying each said character bitmap to render said graphic image.

### Claim 21 (depends on 18)

The program module of claim 18 wherein said step of drawing the representation of each of the constituent parts to render the scaleable graphic image comprises the steps of:
calculating a position and a size of said scaleable graphic image on said pixel-oriented display device;
declaring an area in which said scaleable graphic image is to be drawn; and
drawing in iterative fashion each said constituent part until said scaleable graphic image is displayed.
