WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for constructing, storing and displaying characters    
United States Patent4907282   
Link to this pagehttp://www.wikipatents.com/4907282.html
Inventor(s)Daly; Joseph P. (Artane, IE); Hennessy; Denis G. (Rathgar, IE); Samways; Philip (Newport, IE)
AbstractA method and apparatus for creating and storing characters for display on a video screen. The shape of the graphic character is displayed at various degrees of resolution. The graphic character is stored as a bitmap or as coefficients of spline curves. These can be scaled up or down to give different character sizes. The coefficients can be converted to form pixelmaps which are rectangular arrays of pixels. The pixelmaps may have gray scale values.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4907282
Method and apparatus for constructing, storing and displaying characters - US Patent 4907282 Drawing
Method and apparatus for constructing, storing and displaying characters
Inventor     Daly; Joseph P. (Artane, IE); Hennessy; Denis G. (Rathgar, IE); Samways; Philip (Newport, IE)
Owner/Assignee     nHance Development Corporation (Dublin, GB5)
Patent assignment
All assignments
Publication Date     March 6, 1990
Application Number     07/296,852
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     January 13, 1989
US Classification     382/242 345/471 345/472
Int'l Classification     G06K 009/34
Examiner     Boudreau; Leo H.
Assistant Examiner     Couso; Jose L.
Attorney/Law Firm     Finnegan, Henderson, Farabow, Garrett and Dunner
Address
Parent Case     This application is a continuation, of application Ser. No. 906,760, filed 9/12/86 now abandoned.
Priority Data     Sep 13, 1985[IE]2259/85
USPTO Field of Search     364/518 364/521 364/522 364/523 340/730 340/731 340/735 340/747 340/748 358/77 358/96 358/263 358/903 382/9 382/10 382/20 382/21 382/22 382/23 382/24 382/25 382/26 382/47 382/48 382/51 382/56
Patent Tags     constructing, storing displaying characters
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4785296
Tabata
345/634
Nov,1988

[0 after 0 votes]
4780711
Doumas
345/614
Oct,1988

[0 after 0 votes]
4764975
Inoue
382/299
Aug,1988

[0 after 0 votes]
4751507
Hama
715/784
Jun,1988

[0 after 0 votes]
4742558
Ishibashi
382/240
May,1988

[0 after 0 votes]
4700320
Kapur
715/807
Oct,1987

[0 after 0 votes]
4692806
Anderson
375/240.08
Sep,1987

[0 after 0 votes]
4685068
Greco, II
382/157
Aug,1987

[0 after 0 votes]
4682189
Purdy
345/468
Jul,1987

[0 after 0 votes]
4675830
Hawkins
345/666
Jun,1987

[0 after 0 votes]
4675831
Ito
345/597
Jun,1987

[0 after 0 votes]
4674058
Lindbloom
345/441
Jun,1987

[0 after 0 votes]
4630309
Karow
382/241
Dec,1986

[0 after 0 votes]
4628534
Marshall
382/299
Dec,1986

[0 after 0 votes]
4517604
Lasher
382/233
May,1985

[0 after 0 votes]
4298945
Kyte
345/469
Nov,1981

[0 after 0 votes]
4688182
Schrieber
345/442
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A computer system for displaying characters on a video screen, comprising:

storage means for storing a character as coefficients for spline curves which are a function of the character edges forming a boundary of the character;

a look-up table including an index of stored pixelmap colors for each combination of character color, background color, and gray scale value;

conversion means for converting said coefficients to form a pixelmap of the character, said pixelmap including gray scale values corresponding to said coefficients for spline curves from full on to full off for boundary pixels at the character edges and for selectively scaling the coefficients for displaying the character at different sizes;

display means for displaying the pixelmap of the character in a selected color against a background having a different selected color; and

means including the table of stored pixelmap colors for mixing the character color and the background color for each boundary pixel in accordance with the gray scale value of the boundary pixel, the mixing means including,

means for extracting color bits representing component intensity from each of the red, blue and green components of each of the background and character colors,

means for subtracting the background color component bits from the character color component bits to provide a difference color component value,

means for combining the difference color component value with the gray scale of boundary pixels to provide the index for the look-up table,

means for referencing a corresponding pixelmap color component in the look-up table using the index, and

means for adding the corresponding background color component bits to the referenced pixelmap color component.

2. The computer system set forth in claim 1 further comprising:

means for storing for each character a left and a right field shape, said field shapes being fewer in number than the total number of characters to be displayed;

means for storing a proportional spacing value for each left and right field shape; and

means for determining the spacing between adjacent characters in accordance with said proportional spacing values.

3. A method of operating a computer system for displaying a character on a video screen, comprising the steps of:

storing a character as coefficients for spline curves which are a function of the character edges forming a boundary of the character;

providing, in a look-up table having an index, pixelmap colors for each combination of character color, background color, and gray scale values;

using said stored pixelmap colors for each boundary pixel;

converting said coefficients to form a pixelmap of the character, said pixelmap including gray scale values from full on to full off for boundary pixels at the character edges and for selectively scaling said coefficients for displaying the character at different sizes;

displaying the pixelmap of the character in a selected color against a background having a different selected color; and

mixing the character color and the background color in the look-up table for each boundary pixel in accordance with the gray scale value of the boundary pixel, the step of mixing including,

extracting color bits representing component intensity from each of the red, blue and green components of each of the background and character colors,

subtracting the background color component bits from the character color component bits to provide a difference color component value,

combining the difference color component value with the gray scale value of boundary pixels to provide an index for the look-up table,

referencing a corresponding pixelmap color components in the look-up table using the index, and

adding the corresponding background color component bits to the referenced pixelmap color components.

4. The method set forth in claim 3 further comprising the steps of:

storing for each character a left and right field shape, said field shapes being fewer in number than the total number of characters to be displayed;

storing a proportional spacing value for each left and right field shape; and

determining the spacing between adjacent characters in accordance with said proportional spacing values.

5. A computer system for displaying characters on a video screen, comprising:

storage means for storing pixelmaps corresponding to characters, said pixelmaps including gray scale values from full on to full off for boundary pixels at the character edges;

a look-up table of stored pixelmap colors for each combination of character color, background color, and gray scale value;

display means for displaying the pixelmap of a respective character in a selected one of the stored character colors against a background having a different selected one of the stored background colors; and

means for mixing the selected character color and the selected background color for each boundary pixel in accordance with the gray scale value of the boundary pixel, the mixing means including,

means for extracting color bits representing component intensity from each of the red, blue and green components of each of the background and character colors,

means for subtracting the background color component bits from the character color component bits to provide a difference color component value,

means for combining the difference color component value with the gray scale value of boundary pixels to provide an index for the look-up table,

means for referencing a corresponding pixelmap color component in the look-up table using the index, and

means for adding the corresponding background color component bits to the referenced pixelmap color component.

6. The computer system set forth in claim 5 further comprising:

means for, storing for each character a left and a right field shape said field shapes being fewer in number than the total number of characters to be displayed;

means for storing a proportional spacing value for each left and right field shape; and

means for determining the spacing between adjacent characters in accordance with said proportional spacing values.

7. A method of operating a computer system for displaying characters on a video screen, comprising the steps of:

storing in a look-up table pixelmap colors corresponding to each combination of character colors, background colors, and gray scale values from full on to full off for boundary pixels at the character edges;

displaying the pixelmap of a respective character in a selected color against a background having a different color; and

mixing the character color and the background color for each boundary pixel in accordance with the gray scale value of the boundary pixel; the step of mixing including,

extracting color bits representing component intensity from each of the red, blue and green components of each of the background and character colors,

subtracting the background color component bits from the character color component bits to provide a difference color component value,

combining the difference color component value with the gray scale value of boundary pixels to provide an index for the look-up table,

referencing a corresponding pixelmap color component in the look-up table using the index, and

adding the corresponding background color component bits to the referenced pixelmap color components.

8. The method set forth in claim 7 further comprising the steps of:

storing for each character a left and a right field shape; said field shapes being fewer in number than the total number of characters to be displayed;

storing a proportional spacing value for each left and right field shape; and

determining the spacing between adjacent characters in accordance with said proportional spacing values.

9. A computer system for constructing and displaying characters on a video screen at a plurality of different degrees of resolution comprising:

means for setting up a higher resolution grid as an array of a plurality of pixels, for display of characters at a higher resolution;

means for setting up one or more lower resolution grids, each as an array of a lesser number of pixels, for display of characters at lower resolutions;

means for constructing a character at the higher resolution by switching pixels on and off to fit the higher resolution grid;

display means for displaying the said character at the or each lower resolution;

means for altering the shape of the said character at the higher resolution by changing pixels of the higher resolution grid in response to user monitoring of the shape of the said character as displayed at the or each lower degree of resolution;

means for generating spline curve coefficients for determining boundaries of said altered character at the higher resolution;

storage means for storing said spline curve coefficients to provide a set of stored spline curved coefficients;

means for selectively scaling said stored spline curve coefficients to obtain scaled coefficients for generating pixelmaps in accordance with said scaled coefficients;

means for generating a pixelmap from said scaled coefficients, said pixelmap having gray scale values for each boundary pixel at the character edges corresponding to the percentage of the boundary pixel within the boundary as determined by said spline curve coefficients; and

means for displaying a pixelmap for the character in accordance with the scaled coefficients.

10. A computer system according to claim 9 wherein said stored spline curve coefficients which correspond to vertical and horizontal boundaries of the character coincide with pixel boundaries.

11. A computer system according to claim 9 further comprising:

means for storing for each character a left and right field shape, said field shapes being fewer in number than the total number of characters to be displayed;

means for storing a proportional spacing value for each left and right field shape; and

means for determining the space between characters in accordance with said proportional spacing value.

12. The system of claim 9 wherein the means for generating a pixelmap comprises a look-up table of stored pixelmap colors for each combination of character color, background color, and gray scale value.

13. A method of operating a computer system for constructing and displaying characters at a plurality of different degrees of resolution comprising the steps of:

setting up a higher resolution grid as an array of a plurality of pixels for display of characters at a higher resolution;

setting up one or more lower resolution grids, each as an array of a lesser number of pixels, for display of characters at lower resolutions;

constructing a character at the higher resolution by switching pixels on and off to fit the higher resolution grid;

displaying the said character at the or each lower resolution;

monitoring the shape of the said character as displayed at the or each lower resolution;

altering the shape of the character at the higher resolution by changing pixels of the higher resolution grid in response to the monitored shape of the said displayed character at the or each lower resolution;

repeatedly displaying, and monitoring the shape of, said character at the or each lower resolution and subsequently further altering the altered character until the character shape is visually acceptable when displayed at the higher and at each lower resolution; and

generating spline curve coefficients for determining boundaries of said altered character at the higher resolution;

storing said spline curve coefficients of the character at the higher resolution to provide a set of stored spline curve coefficients;

scaling selectively said stored spline curve coefficients to obtain scaled coefficients for generating pixelmaps in accordance with said scaled coefficients;

generating a pixelmap from the scaled coefficients, said pixelmap having gray scale values for each boundary pixel at the character edges corresponding to the percentage of the boundary pixel within the boundary as determined by said spline curve coefficients; and

displaying a pixelmap for the character in accordance with the scaled coefficients.

14. A method according to claim 13 wherein said stored spline curve coefficients which correspond to the vertical and horizontal boundaries of the character coincide with the pixel boundaries.

15. A method according to claim 13 further comprising the steps of:

storing for each character a left and right field shape, said field shapes being fewer in number than the total number of characters to be displayed;

storing a proportional spacing value for each left and right field shape; and

determining the space between characters in accordance with said proportional spacing value.

16. The method of claim 13 wherein the step of generating a pixelmap comprises the substeps of:

storing in a look-up table pixelmap colors for each combination of character color, background color, and gray scale value; and

referencing said look-up table for each boundary pixel.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The present invention relates to a method and apparatus for creating and storing characters, for example, letters, numbers, punctuation marks, symbols and the like, as well as graphic primitives, such as, lines, arcs, curves, circles and the like, and also computer graphics and the like. Further, the invention relates to a method and apparatus for retrieving and displaying the stored characters on, for example, a monitor.

a. Font Storage

1. Bitmaps

Typefaces utilized in the display of information on computer display devices are traditionally laid out in matrix structures known as bitmaps. These are rectangular arrays of points where each point represents a pixel to be turned on during the display of that character. Bitmaps are often stored in computer memory devices called character generators and are specified in terms of the "character matrix", the size of a character in horizontal and vertical pixels. Common matrix sizes are 5.times.7 and 7.times.9.

Bitmap fonts need an amount of memory for storage which is proportional to the size of the character matrix. The following table shows some sample character sizes and the amount of bit storage needed per character:

______________________________________ Character Matrix Bit Storage per Character ______________________________________ 5 .times. 7 35 7 .times. 9 63 16 .times. 24 384 32 .times. 48 1536 64 .times. 96 6144 ______________________________________

Some computer systems use proportionally spaced bitmap fonts. In these systems the characters are not displayed on a fixed grid, but rather each character takes an amount of space in proportion to its size. This is similar to the way in which typesetters lay out text whereas fixed-spaced characters look more like typewriter text. For proportionally-spaced characters it is necessary to store information indicating the size of the character together with the bitmap pattern for each character.

2. Splines

A spline is a parametric cubic equation representing a curved line in which the X and Y values of each point along the curve are represented as a third-order polynomial of some parameter t. Four coefficients define the position and tangent vectors of each end point of the line and by varying t from 0 to 1, a curve is described between the end points. Well-known types of splines are the "Hermite", "Bezier" and "B-spline." These differ primarily in the significance of the four defining coefficients. The Hermite curve defines the position and tangent vectors at the end points. The Bezier curve defines the curve end points and two other points which are the end points of the tangent vectors. The B-spline curve approximates the end points (does not guarantee that the curve will pass through these points) but describes a curve whose first and second order derivatives are continuous at the segment end points.

A character pattern can be defined in terms of splines by storing data representing a series of curves which make up the character outline. When the character is displayed this outline is filled in on the display screen to produce a solid character.

The advantages of splines over bitmaps as a means of storing character fonts is their economy of storage and the fact that they can easily be scaled to any desired size. An average character can be stored with 20 spline curves, requiring only 80 coefficient values. Spline curves preserve their shape as their coefficients are scaled, enabling the same set of coefficient data to be utilized in displaying characters of different sizes.

3. How fonts are normally stored

In computer systems not used to display graphics, character fonts are usually stored as bitmaps in a read only memory (ROM) associated with a character generator circuit. The character matrix usually varies from 5.times.7 to 9.times.13 and is not proportionally-spaced. The character is designed to fill the display cell as much as possible and characters are often given serifs to make narrow characters appear wider. When graphics are required, the fonts are also usually stored in a bitmap form although the bitmap is stored in CPU memory instead of in a memory dedicated to the character generator. The characters are usually displayed in fixed display cells. In systems adapted to display characters in varying sizes or on output devices with a very high resolution (e.g., laser printers or photo-typesetters), splines are often used.

b. Font Creation

Normally, at the design stage, low- and high-resolution characters are treated differently. Low-resolution characters are created as bitmaps; bits are turned on to give the most appealing character. High-resolution characters are created by drawing appealing characters (or using existing typefaces), and matching their outlines with splines.

When spline character designs are required for a high resolution display device, the designer has the option of creating the designs on paper and "wrapping" the splines around them, or taking an existing typeface and wrapping the spline curves around its outline. This is normally done using a high resolution graphics terminal and adjusting the splines until they fit the outline of the character.

While these systems work well in the environments for which they were designed, namely phototypesetting systems and very high resolution output devices, they have major drawbacks when used in a display system having a pixel density of less than 100 pixels per inch. The pixel density of a 640.times.480 pixel display on a 13 inch (diagonal) cathode ray tube monitor is about 62 pixels per inch.

c. Font Display

1. Screen Memory Organization

For a computer to represent an image on a raster-scanned display screen, the entire screen image is usually stored in a display memory. There are two basic design approaches to representing a screenfull of characters in memory. These are called "cell-based" and "bitmapped" designs.

For cell-based designs, the screen is divided into rectangular "cells" each of which can hold a character. For a display of 40 characters by 20 lines the screen memory would need to contain 800 bytes. Each of the cells are the same size on the screen and this size corresponds to the character matrix of the character generator.

The individual memory location for each cell can hold a value from 0 to 255. This is the ASCII code of the character to be displayed at that position. The display controller scans each cell sequentially across and down the screen and reads each cell location in turn. The ASCII code found there is sent to the character generator along with the current row within the character cell and the character generator outputs the row of bits for that character. The output of the character generator is serialized and any bits that are set (on) correspond to visible pixels on the screen.

Because of the hardware structure of cell-based displays, graphics and proportional character and inter-character spacing are not possible. Mainly because of their lack of graphics, cell-based designs are being used less in computer displays.

In the case of bitmap designs, the screen memory has one location for each pixel on the screen. The value at each location corresponds to the color of that pixel; if the location can hold 256 different values then the screen can display 256 different colors. For a display of 640 horizontal pixels by 480 vertical pixels, a screen memory size of 307,200 bytes is needed. The CRT controller supplies the address of each byte in turn which is read from screen memory and displayed. To display a character on the screen, the CPU has to write each pixel in the character design into the proper location in screen memory.

2. Bits per Pixel

A term often used in describing screen memory is the number of "bits per pixel". A bit is the smallest digital storage element and can represent one of two states, on or off, 1 or 0, bright or dark. The bits per pixel term is an indication of how many values a screen pixel can hold, i.e., the number of distinct colors or gray levels it can represent. The number of colors which can be represented is calculated as 2 to the power of the bits per pixel term. Therefore, if the screen memory has 8 bits per pixel, it can represent 256 different colors. A "pixelmap" is the term used in this specification to describe a rectangular array of pixels.

3. Single bit display

When the display is monochrome, the character font bitmap is usually stored as one bit per pixel. This is true even if the screen memory has more than one bit per pixel. Since the character bitmap stores several pixels per computer word, several character bitmap pixels are read together. If the display memory also stores several pixer per computer word, the same applies to display writes.

4. Gray scale display

The fundamental problem of displaying a high resolution image on a low resolution display is that the image is sampled at a rate which is too low to accurately represent the original image. The effect is known as "aliasing" and occurs frequently when characters are displayed on low resolution displays.

To reduce the effects of aliasing, some existing computer systems use several gray levels at the edges of the characters. This gives the impression of the characters being drawn on a higher resolution grid than the display grid. Because the characters were not initially designed for sampling on the display grid, however, the characters rarely have a clean outline, even on a character with a straight edge which needs no correction and give the impression of having a gray, fuzzy outline around the character.

In this specification the term video screen is the term used to cover all forms of visual display units such as but not exclusively computer screens, VDU's and LCD's.

OBJECTS

Accordingly, it is an object of the present invention to provide a method for creating and displaying characters on a computer controller output device, such as a monitor or hard copy output device, whereby the problems of anti-aliasing and distortion are reduced, especially at low resolutions.

Another object of the invention is to provide pixelmaps for efficient font storage.

Another object of the invention is to provide splines for efficient font storage.

A further object of the invention is to provide a combination of pixelmaps and splines for efficient font storage.

A still further object of the invention is to provide proportional inter-character spacing in a computer controlled display system.

Additional objects and advantages of the present invention will be set forth in part in the description that follows, which is given by way of example only and in part will be obvious from the description and may be learnt by practice of the invention.

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one embodiment of the invention and, together with the description, serve to explain the principles of the invention.

SUMMARY OF THE INVENTION

This invention provides a computer system for creating graphic characters for display on a video screen, comprising:

display means for displaying a graphic character at a plurality of different degrees of resolution;

means for determining the shape of the displayed graphic characters for said displayed degrees of resolution by changing pixels forming the graphic character displayed for the higher of said plurality of degrees of resolution; and

storage means for storing the graphic character for the higher resolution.

The invention further provides a method of operating a computer system for creating graphic characters for display on a video screen, comprising the steps of:

displaying a graphic character at a plurality of different degrees of resolution;

determining the shape of the displayed graphic character by changing pixels forming the graphic character displayed for the higher of said plurality of degrees of resolution; and

storing the graphic character for the higher resolution.

In this latter method the displayed graphic character has three degrees of resolution, high, medium, and low, such that the graphic character corresponding to the medium resolution has approximately one-fourth of the pixels of the graphic character corresponding to the high resolution, and the graphic character corresponding to the low resolution has approximately one-fourth of the pixels of the graphic character corresponding to the medium resolution.

Additionally the invention provides a computer system for displaying graphic characters on a video screen, comprising:

storage means for storing graphic characters as coefficients for spline curves which are a function of the boundaries of the respective graphic characters;

conversion means for converting said coefficients to form a pixelmap of the character, said pixelmap including gray scale values from full on to full off for pixels at points along the boundary of the displayed graphic character; and

display means for displaying said formed pixelmap.

There is also provided a method of operating a computer system for displaying graphic characters on a video screen, comprising the steps of:

storing graphic characters as coefficients for spline curves as a function of the boundaries of respective graphic characters;

converting said coefficients to form a pixelmap of the graphic character, said pixelmap including gray scale values from full on to full off for pixels at points along the boundary of the displayed graphic character;

displaying said formed pixelmap.

The invention further provides a computer system for displaying graphic characters on a video screen, comprising:

storage means for storing pixelmaps corresponding to graphic characters, said pixelmaps including gray scale values from full on to full off for pixels at points along the boundaries of the stored graphic characters; and

display means for displaying the pixelmaps of a respective graphic character in a selected color against a background having a different selected color;

means for mixing the character color and the background color for each boundary pixel in accordance with the gray scale value of the pixel.

According to the invention there is provided a method of operating a computer system for displaying graphic characters on a video screen, comprising the steps of:

storing pixelmaps corresponding to graphic characters, said pixelmaps including gray scale values from full on to full off for pixels at points along the boundaries of the stored graphic characters;

displaying the pixelmap of a respective graphic character in a selected color against a background having a different color; and

mixing the character color and the background color for each boundary pixel in accordance with the gray scale value of the pixel.

Additionally the invention provides a computer system, comprising:

means for initially displaying graphic characters having at least two different degrees of resolution;

means for determining the shape of said characters for said different degrees of resolution by changing the pixels of corresponding characters having the higher resolution;

means for generating coefficients of spline curves for determining boundaries of said higher resolution characters;

storage means for storing said spline curve coefficients;

means for selectively scaling said stored coefficients for generating pixelmaps in accordance with said scaled coefficients;

means for generating a pixelmap from coefficients corresponding to each character; said pixelmap having gray scale values for each boundary pixel corresponding to the percentage of such pixel within the boundary as determined by said spline curve coefficients; and

means for displaying pixelmaps for said characters in accordance with the selected scaled coefficients.

Further there is provided a method of operating a computer system, comprising the steps of:

displaying initially graphic characters having at least two different degrees of resolution;

determining the shape of said characters for said different degrees of resolution by changing the pixels of corresponding characters having the higher resolution;

generating coefficients of spline curves for determining boundaries of said higher resolution characters;

storing said spline curve coefficients of the higher resolution characters;

scaling selectively said stored coefficients for generating pixelmaps in accordance with said scaled coefficients;

generating a pixelmap from each coefficient corresponding to each character; said pixelmap having gray scale values for each boundary pixel corresponding to the percentage of such pixel within the boundary as determined by said spline curve coefficients; and

displaying pixelmaps for said characters in accordance with the selected scaled coefficients.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1a is a block diagram of the components and hardware of one embodiment of the character generation system of the present invention.

FIG. 1b is a block diagram of the components and hardware of one embodiment of the electronic character display system of the present invention.

FIG. 2a is a diagram illustrating the graphic display of a character at a relatively high (96.times.96 pixels) resolution grid.

FIG. 2b is a diagram illustrat