Computer graphics processing and selective visual display system – Computer graphics processing – Character generating
Reexamination Certificate
1997-06-27
2001-01-16
Hong, Stephen S. (Department: 2776)
Computer graphics processing and selective visual display system
Computer graphics processing
Character generating
C345S441000, C345S442000, C345S182000, C345S504000
Reexamination Certificate
active
06175372
ABSTRACT:
TECHNICAL FIELD
The invention relates generally to font technology and, more specifically, to an improved scan conversion system for supplying a character bitmap defining pixels to be activated on pixel-oriented display devices.
BACKGROUND OF THE INVENTION
Most general purpose computer systems support a display of text-based characters, including letters, numerals, and other symbols, on pixel-oriented display devices. A pixel is a discrete segment of an overall field in which an image can be displayed. Although pixels are typically square or round in shape for most devices, many newer pixel-oriented display devices include rectangular pixels. A pixel is activated or “turned on” when the process that generates the display determines that it is appropriate to activate that portion of the image field. Accordingly, the display surface for a pixel-oriented display device consists of a grid of points, or pixels, each of which can be individually illuminated or “darkened” to display an image. Common pixel-oriented display devices are raster scan cathode ray tube (CRT) displays, liquid crystal display (LCD) displays, dot matrix printers, and laser printing devices.
In general, to display text on a pixel-oriented display device, a computer system utilizes one or more fonts. A font is a collection of characters designed by a typographer in a consistent style. Specifically, a typographer designs a character outline or “glyph” of each character for a particular font, including characters, numbers, punctuation, and any other image for a given font. A particular font refers to selected geometric characteristics of the characters within a character set. A glyph for a given character in a font is described as a numbered sequence of points that are on or off a curve defining the boundary of the character. In general, number sequence for the points should follow a recognized rule for how the points relate to the area to be filled and the area not to be filled when rendering the glyph. For TrueType font descriptions, the points are numbered in consecutive order so that as a path is traversed in the order of increasing point numbers, the filled area will always be to the right of the path. This glyph or outline description of the character is typically stored within a font file maintained by the computer system. TrueType font files are described in the Technical Specification, Revision 1.5, January 1994, entitled “TrueType 1.0 Font Files,” by Microsoft Corporation, Redmond, Washington.
In response to the information supplied by a font file, the outline is scaled according to the font size requested by the user and the characteristics of the display device on which it is to be displayed. The outline also may contain hints, which are routines that, when executed, adjust the shapes of the character outlines for various point sizes to improve their appearance. The outline is then scan converted to produce a character bitmap that can be rendered on the selected display device.
A character bitmap represents a grid-like array of pixels and each array element contains a pixel center. The pixel centers are connected in either horizontal or vertical directions by straight lines commonly described as scan lines or reference lines. Each character bitmap contains data reflecting which pixels in a subset of the display grid must be illuminated in order to form an image of a particular character. When a computer system needs to display a particular character at a display location, it accesses the character bitmap for that character. The computer system then turns the illumination of pixels near the display location on or off in accordance with the data stored in the character bitmap. The concept of displaying a character extends to a temporary display, such as a CRT display, as well as a more permanent image creation in the form of a printer.
Using font descriptions, computer systems can now create character bitmaps defining the images to be displayed, also described as raster fonts, dynamically in different typefaces in response to the needs of users. A computer program, which is also described as a rasterizer program, is typically incorporated as part of an operating system or printer control software program to provide this font technology service. The rasterizer program may be called by an application program, such as a word processor or a spreadsheet, when the program requires a raster font. In response to this request, the rasterizer program reads a description of the character outline from a font file stored within a memory storage device. The font file can be stored within either volatile or nonvolatile memory of the computer system or the display device.
The rasterizer program also receives the character's height or “point” size and the predetermined resolution of the intended display device to support the scaling of the character outline. The resolution of a pixel-oriented display device is specified by the number of dots or pixels per inch (dpi) that are to be displayed. This information supports a mapping of the description of the character outline into physical pixel units for the display device to be employed in displaying the character in that particular size. Thus, the geometric description of the character outline is scaled in physical pixel coordinates and represents a function of the predetermined physical pixel size of the display device and the requested point size. This process alters the height and width of the character.
To support the rendering of fonts at low resolution and/or small sizes, the rasterizer program typically includes a routine that analyzes the outlines of fonts and “hints” the fonts according to the size specified by the user in the resolution of the display device. The fundamental task of hinting is to identify critical characteristics of the original font design and to use instructions which adjust the outline to insure that those characteristics will be preserved when the character outline is rendered in different sizes on different devices. Common hinting goals include consistent stem weights, consistent intensity, even spacing, and the elimination of pixel dropouts.
If required, the rasterizer program applies hints to the scaled character outline to fit it to pixel boundaries while distorting the scaled character outline as little as possible. The rasterizer program thereafter conducts a scan conversion operation for the hinted character outline by superimposing a grid corresponding to the horizontal and vertical densities of the intended display device over the hinted outlines, then designating the subset of pixels of the grid whose centers fall within, or precisely on, the hinted outlines as pixels requiring illumination by the display device. The rasterizer program then returns the resulting raster font to the application program, which may use it to display text. The raster font also may be stored within an allocated buffer of computer system memory or display device memory to be used to satisfy any identical request received in the future.
The scan conversion process represents the task of “coloring” inside the lines of the character. For the rasterizer program, a scan converter generates a character bitmap which includes pixels which are activated based upon the relationship of the pixel centers with the character outlines. For conventional scan converters, two rules are generally used to determine if a particular pixel should be turned on or turned off. First, if a pixel's center or reference point falls within the character outline, that pixel is turned on and becomes part of that character outline. Second, if a contour of the character outline falls exactly on a pixel's center, that pixel is turned on. These rules define the conventional “centerpoint” fill method of bitmapping a character outline or glyph and is well known in the art of digital typography.
In general, at the start of a conventional scan conversion process, the character outline is traversed to determine the maximum and minimum coordinate values of the outline. The amount of
Ballard Dean Dayton
Kohen Eliyezer
LandOfFree
Method for estimating the memory required for scan... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for estimating the memory required for scan..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for estimating the memory required for scan... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2542687