The font used by the program is stored in a Windows bitmap file. The bitmap uses three different colors of pixels to define the glyphs of the font. The three pixel colors are used to indicate glyph pixels, halftone pixels, and background pixels.
When the glyphs of the font are rendered by the program, the halftone pixels will be displayed in the color that is halfway between the background color and the foreground color. Thus the halftone pixels are useful for doing simple anti-aliasing of the glyphs.
The pixel in the top-left corner must be the color of the glyph pixels. The pixel immediately below this must be the color of the background pixels. Any other pixel colors in the bitmap are taken as halftone pixels. Note that the colors used in the bitmap do not affect the actual colors used in rendering the font.
All glyphs must be of the same height, though the widths may vary freely. The glyphs appear in rows, and are read in reading order: from left-to-right, then top-to-bottom. Each row of glyphs includes an extra line of pixels above it. In addition, there is an extra column of pixels running down the left side of the bitmap. These pixel-wide lines contain markers that locate the separation between individual glyphs.
The left column of pixels will have one glyph-colored pixel per row of glyphs in the bitmap. The height of each pixel in the left column indicates the height of the row of pixels above each row of glyphs. All other pixels in the left column will have the background color.
The glyphs in a given will be separated from each other by a single column of pixels. This column will be indicated by a glyph-colored pixel directly above it, in the row of pixels. All other pixels in the rows will have the background color. There will also be a glyph-colored pixel immediately after the last glyph in a row. (The net result is that every glyph will have a glyph-colored pixel on either side.) Each row can contain any number of glyphs; anything to the right of the last glyph in a row is ignored.
The glyphs in the bitmap will correspond to the ISO-8859-1 characters 32 through 126 inclusive, followed by the characters 160 through 255 inclusive. (It is not possible to define glyphs for the characters 0 through 31 or for the characters 127 through 159.) The bitmap can contain fewer glyphs; in such a case, the characters that are absent will not be displayed by the program.