EGG-MKFONT(1)

NAME
egg-mkfont - generates .egg files with rasterized font glyphs

SYNOPSIS
egg-mkfont [opts] -o output.egg font
egg-mkfont [opts] font output.egg

DESCRIPTION
egg-mkfont uses the FreeType library to generate an egg file and a series of texture images from a font file input, such as a TTF file. The resulting egg file can be loaded in Panda as a font for rendering text, even if FreeType is not compiled into the executing Panda.

egg-mkfont will normally run the generated egg file through egg-palettize automatically as part of the generation process. This collects the individual glyph textures into a small number of texture maps. If you intend to run the font through egg-palettize yourself later, you may choose to omit this step.

OPTIONS

-fg r,g,b[,a]
    Specifies the foreground color of the generated texture map. The default is white: 1,1,1,1, which leads to the most flexibility as the color can be modulated at runtime to any suitable color.

-bg r,g,b[,a]
    Specifies the background color of the generated texture map. The default is transparent: 1,1,1,0, which allows the text to be visible against any color background by placing a polygon of a suitable color behind it. If the alpha component of either -fg or -bg is not 1, the generated texture images will include an alpha component; if both colors specify an alpha component of 1 (or do not specify an alpha compenent), then the generated images will not include an alpha component.

-interior r,g,b[,a]
    Specifies the color to render the interior part of a hollow font. This is a special effect that involves analysis of the bitmap after the font has been rendered, and so is more effective when the pixel size is large. It also implies -noaa (but you can use a scale factor with -sf to achieve antialiasing).

-chars range
    Specifies the characters of the font that are used. The range specification may include combinations of decimal or hex unicode values (where hex values are identified with a leading 0x), separated by commas and hyphens to indicate ranges, e.g. '32-126,0xfa0-0xfff'. It also may specify ranges of ASCII characters by enclosing them within square brackets, e.g. '[A-Za-z0-9]'. If this is not specified, the default is the set of ASCII characters.

-extra file.egg
    Specifies additional externally-painted glyphs to mix into the generated egg file. The named egg file is expected to contain one or more groups, each of which is named with the decimal unicode number of a character and should contain one polygon. These groups are simply copied into the output egg file as if they were generated locally. This option may be repeated.

-ppu pixels
    Specify the pixels per unit. This is the number of pixels in the generated texture map that are used for each onscreen unit (or each 10 points of font; see -ps). Setting this number larger results in an easier-to-read font, but at the cost of more texture memory. The default is 30.

-ps size
    Specify the point size of the resulting font. This controls the apparent size of the font when it is rendered onscreen. By convention, a 10 point font is 1 screen unit high, so the default is 10.

-pm n
    The number of extra pixels around a single character in the generated polygon. This may be a floating-point number. The default is 1.

-tm n
    The number of extra pixels around each character in the texture map. This may only be an integer. The default is 2. This is meaningful when -nopal is also used; in the normal case, use -pm to control both the polygon size and the texture map spacing.

-rm n
    The amount of padding in screen units to place around the glyph when rendered. This differs from -pm in that it has no effect on the generated texture map, only on the generated egg. Use this in order to space the characters out in case they appear to be too close together when rendered. The default is 0.

-sf factor
    The scale factor of the generated image. This is the factor by which the font image is generated oversized, then reduced to its final size, to improve antialiasing. If the specified font contains one or more fixed-size fonts instead of a scalable font, the scale factor may be automatically adjusted as necessary to scale the closest-matching font to the desired pixel size. The default is 2.

-noaa
    Disable low-level antialiasing by the Freetype library. This is unrelated to the antialiasing that is applied due to the scale factor specified by -sf; you may have either one, neither, or both kinds of antialiasing enabled.

-nopal
    Don't run egg-palettize automatically on the output file, but just output the raw egg file and all of its individual texture images, one for each glyph.

-nr Don't actually reduce the images after applying the scale factor, but leave them at their inflated sizes. Presumably you will reduce them later, for instance with egg-palettize.

-gp pattern
    The pattern to be used to generate the glyph texture images. This string will be passed to sprintf to generate the actual file name; it should contain the string %d or %x (or some variant such as %03d) which will be filled in with the Unicode number of each symbol. If it is omitted, the default is based on the name of the egg file. This is used only if -nopal is specified; in the normal case, without -nopal, use -pp instead.

-pp pattern
    The pattern to be used to generate the palette texture images. This string is effectively passed to egg-palettize as the -tn option, and thus should contain %i for the palette index number. This is used if -nopal is not specified.

-palsize xsize,ysize
    Specify the size of the palette texture images. This is used if -nopal is not specified.

-face index
    Specify the face index of the particular face within the font file to use. Some font files contain multiple faces, indexed beginning at 0. The default is face 0.

-o filename
    Specify the filename to which the resulting egg file will be written. If this option is omitted, the last parameter name is taken to be the name of the output file.

-cs coordinate-system
    Specify the coordinate system of the resulting egg file. This may be one of 'y-up', 'z-up', 'y-up-left', or 'z-up-left'. The default is y-up.

-h  Display this help page.