 
  Help for PixelFont
 
 
This is version 1 of PixelFont, 25-04-1998.
Copyright Richard Atterer.
This program is Free Software - see the file Copying for details. The
source is available in a separate archive. PixelFont uses the Fontfile
library by Jakob Stoklund Olesen (thanks!).


PixelFont is a small utility that turns 16-colour greyscale sprites into
bitmap fonts, which can then be used as the system font or for the display
in Zap, Messenger etc. A number of example sprite files are included -
double-click CreateFonts to convert them into fonts.

Note: Because PixelFont only creates fonts for a specific point size and
resolution, the FontManager won't display the bitmaps (and give an error
instead) unless exactly that size is requested. Also, many programs, e.g.
Draw, refuse to use the fonts.


The first four columns and the two bottom rows of the sprite have special
meaning. They may only contain black and white pixels.

Column 0: Gives the height and position of capital letters, e.g. E, X.
Column 1: Height and position of lowercase letters like b, d, f. These
       	  characters are usually slightly larger than the capital letters for
	  some typefaces - see the example Trinity.
Column 2: Height and position of lowercase letters, e.g. n, x.
Column 2: Height and position of the part of g, p, q etc. that extends
       	  below the baseline.
The values must all specify the same coordinate as the font baseline. Note
that (apart from the position of the baseline) the FontManager does not make
use of the information - however, some programs may.


The two bottom rows contain information about the individual character
widths. The bottom row is only used to indicate where the definition of a
character begins and ends, it doesnt influence the width. In the row above
the bottom row, the width as well as the horizontal position of a character
is specified.

It is possible to create characters that overlap slightly (which is the case
with many italic/oblique styles) or special characters which add an accent to
the following character because they dont advance the cursor after having
been printed.

If the second row doesnt contain any black pixels for a character, that
character has a width of zero and the relative x origin is the left side of
the black pixels in the lowest row (this is the only case for which the
position of the pixels in the lowest row influences the final output). If you
want to specify a different x position but at the same time want the width to
remain zero, let the second row contain <black><white><black> - in this case,
the x origin is set to the coordinate of the leftmost black pixel.


When creating the bitmap font, PixelFont throws away any completely white
rows and columns it finds in a character. This can reduce the required disc
space and speed up screen output.


Syntax:

*PixelFont <spritefile> <fontname> [<destination dir>] [<options>]

The following options are supported. They can be abbreviated to the first
letter, e.g. -s:

-size <points*16>
	Assumed design size of the font, in 16ths of points. The default is
	12 points, i.e. a value of 12*16. This influences both the x and
	y size.
-height <points*16>
	As -size, but only influences the y size.
-xdpi <dpi> and -ydpi <dpi>
	Resolution the font is designed for. The default is 90 dpi for both
	the x and y resolution.
-ulinepos <1/256th em>
-ulinethick <1/256th em>
	Position of underlined text (in relation to the base line)
	and thickness of the line. Doesnt seem to be used by the
	FontManager.
-monospaced <pixel width>
	Create a font in which all defined characters have the same width,
	specified in pixels.
-gamma <floating point value>
	Very unfortunately, the FontManager doesnt have any support for
	gamma correction of its output. Usually, this means that a font that
	you designed for black on white display will look poor when viewed
	white on black. In this case, you can make PixelFont re-map the
	shades of grey to compensate for the non-linear representation on
	your monitor.


  __   _
  |_) /|  Richard Atterer
  | \/|  atterer@informatik.tu-muenchen.de
   ` 