Browse Prior Art Database

Fast Fixed-Width Font Renderer

IP.com Disclosure Number: IPCOM000113013D
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 2 page(s) / 49K

Publishing Venue

IBM

Related People

Erb, DJ: AUTHOR

Abstract

Disclosed is a method for increasing the performance when rendering a fixed-width font to a graphics display or to system memory. The performance gain is obtained by reducing the amount of data that must be transferred to, and processed by, the adapter or memory controller.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 58% of the total text.

Fast Fixed-Width Font Renderer

      Disclosed is a method for increasing the performance when
rendering a fixed-width font to a graphics display or to system
memory.  The performance gain is obtained by reducing the amount of
data that must be transferred to, and processed by, the adapter or
memory controller.

      Fixed-width characters have the same width and height for all
characters.  A character consists of two parts:  the actual "ink" of
the character, known as the "glyph", and the blank space around the
glyph that separates the glyphs from each other.  Because the glyphs
themselves are not the same size (an 'a' is always shorter than an
'M' for example), the characters are padded with enough blank space
above and below the glyph to make each character the same height and
width.  When sending the data to the graphics adapters, the blank
lines are ignored by the adapter anyway.  By analyzing each character
or set of characters before they are sent from the top and removing
the top and bottom blank spaces, the rendering performance increases.

      The X Window system draws its glyphs onto the screen by
transferring a bitmap (1 bit per pixel) to the screen.  Wherever a
zero appears in the bitmap, the corresponding pixel is ignored, and
wherever a 1 appears in the bitmap, the corresponding pixel is to be
drawn in the foreground color.  By examining the contents of the
bitmap at the top for scanlines that are all zeros, we can reset our
pointers su...