search on Google
internet angelcode.com

Bitmap Font Generator

This program will allow you to generate bitmap fonts from TrueType fonts. The application generates both image files and character descriptions that can be read by a game for easy rendering of fonts.

download installer for v1.9c (219KB)

If you don't have an image viewer capable of reading TGA, PNG, or DDS files, I recommend PUPP, another free product from AngelCode.

Features

  • Both 16bit unicode and 8bit character sets are supported
  • Optimal use of texture space, i.e. as little unused area as possible
  • Support for kerning pairs
  • Easy to use file format, either normal text file or xml files. Binary format is available for those that prefer that
  • 8bit or 32bit texture output (TGA, PNG, and DDS files)
  • Option for packing 4 layers of font images into 1 32bit texture. Needs special shader to render with, but saves a lot of memory
  • Anti-aliasing, both through Windows native font smoothing and super sampling
  • Configurable padding and spacing between characters
  • Select characters from text file
  • Generate bitmap font from command line
  • Import colored images as characters, supports: bmp, jpg, tga, dds, png
  • Optional outline to font characters
  • Optional packing of characters with outline into 1 channel. Needs special shader to unpack during rendering, but saves a lot of memory.

Tutorials

Here are a few tutorials/demos that show how to render text with bitmap fonts generated by BMFont.

Changes

  • 1.9c - 2007/11/16
    • Fixed the reversed spacing values in the font settings dialog.
    • The font generation can now be aborted while the characters are being added to the texture.
    • Greatly improved the speed of generating textures.
  • 1.9b - 2007/10/28
    • Fixed the padding
    • Improved documentation
  • 1.9a - 2007/09/16
    • Allowing unicode for all fonts, even fonts that have only one code page
    • Fixed the status messages when generating fonts
  • 1.9 - 2007/08/19
    • Added support for importing colored icons
    • Supported input image formats are: bmp, tga, png, jpg, dds
    • Added support for giving a black outline to characters
    • Characters with outline may be encoded in 1 channel to save space
    • Outline is generated with rounded corners
    • Increased the binary file version because there is new information
  • 1.8c - 2007/01/25
    • Fixed a bug where the font saver got confused with the 4 chnl packed flag set, even though saving in 8bit format
  • 1.8b - 2007/01/06
    • Fixed kerning amount in binary file format when using super sampling
  • 1.8a - 2006/11/23
    • Fixed alignment bug with 8bit TGA and DDS files with non-power-of-4 widths
    • Fixed crash on Windows with installed Input Method Editors, e.g. Japanese and Chinese Windows
  • 1.8 - 2006/11/11
    • Added support for binary font descriptor file
    • Added support for saving PNG texture files
    • The application now remembers the configuration from last execution
    • Improved useability for selecting characters in unicode mode
    • Added option to select all characters from a text file
    • Kerning pairs with amount 0 are no longer output
    • XML font descriptor file now groups the pages, chars, and kerning pairs
    • The font configuration can be saved to disk, and later reloaded
    • Added support for generating fonts via command line using a saved configuration.
    • Added support for saving DDS texture files (no compression)
  • 1.7a - 2006/09/12
    • Fixed the creation of non-unicode fonts
  • 1.7 - 2006/09/08
    • Added the standard xml header
    • Added support for unicode charsets
    • Added the option to pack monochrome characters into each of the 4 channels of a 32 bit texture
    • Added tag with texture file names in the font descriptor file
    • The generation of textures is now done in a background thread
  • 1.6 - 2006/02/18
    • It's now possible to choose between XML and text for the format of the font descriptor file.
    • Fixed kerning sizes with super-sampling
  • 1.5 - 2005/10/01
    • Implemented stretching so that fonts can now be non-uniformly scaled (only works on Win2K or later).
  • 1.4a - 2005/08/26
    • Non-TrueType fonts, such as Script and System, are now supported as well.
    • Minor fix to rendering when padding is used.
  • 1.4 - 2005/07/17
    • The preview window now shows the page number in the title.
    • Characters without a defined glyph may now be automatically removed (only works on Win2K or later).
    • Kerning pairs are now saved as well.
    • Added support for chooseable charset, e.g. arabic and hebrew fonts.
  • 1.3 - 2005/05/08
    • Added support for italic fonts.
    • Application no longer crashes when visualizing with no characters selected.
  • 1.2 - 2005/03/09
    • User can now choose to generate the bitmap font with or without font smoothing.
    • Font smoothing is now done without ClearType, so that artifacts are no longer generated in the output texture.
    • Added program icon.
  • 1.1 - 2005/03/05
    • User can now choose to save in 32bit and 8bit TGAs.
    • The spacing between characters can now be manually set.
    • Fixed the bug where some fonts weren't visible in the font list.
  • 1.0a - 2004/11/27
    • Fixed a problem with values that where not adjusted to compensate for antialiasing level.
  • 1.0 - 2004/02/14
    • First public version.

Special thanks to

Work in Progress

Some of the things that will be implemented in future versions:

  • Improve packing routine to leave even less unused space of the textures.
  • Allow output with fixed height, for easier post edit in graphics programs.
  • Allow use of character encoding for the text file which characters are selected from. Should support at least 8bit OEM, UTF-8, and UTF-16.
  • Improved font generation
    • Add support for ClearType as anti-aliasing method again.
    • Support for drop shadow.
    • Support for blurring.
  • Improve the useability.
    • Add a 'clear all' option that will clear all characters in all subsets.
    • Selecting characters from a file could support a drag-and-drop interface.
    • Importing images over characters could also support a drag-and-drop interface.
    • Add logfile output for missing glyphs when scanning text files for used characters.
    • Add mouse over information for characters, i.e. character code, etc.
  • Complete unicode support with support for the characters above 65535.
  • Add font preview
    • Allow user to write text and see the outcome. It should be possible to encode special characters as icons are usually imported over non-visible glyphs
  • Improve icon import
    • Skip kerning information for imported icons that are overriding font characters.
    • Allow offsets and abc widths of imported icons to be adjusted manually.
    • Store relative path in the configuration file, so that the project can be moved without having to import all images again.
    • Allow importing grayscale images into a single channel, rather than full 32bit.
    • Warn if imported icon is larger than output texture.
  • Add plugin support for output formats.
    • Allow the plugins to format both font descriptor and image files.

support the site
make a donation

link to site


sponsor links
Programming forum
C, C++, VC++, C#, Java, VB, SQL, PHP, and many more programming forum

your site here