Glyph Keeper

Latest version: 0.32 (February 6, 2007)
[an error occurred while processing this directive] Home | [an error occurred while processing this directive] Introduction | [an error occurred while processing this directive] Screenshots | [an error occurred while processing this directive] Files | [an error occurred while processing this directive] Compiling | [an error occurred while processing this directive] Manual | [an error occurred while processing this directive] Reference | [an error occurred while processing this directive] Examples | [an error occurred while processing this directive] Future | [an error occurred while processing this directive] Thanks | [an error occurred while processing this directive] Links


Glyph Keeper is a C language library for text rendering. Glyph Keeper helps your program to load a font, render character glyphs and write them to the target surface. Right now only Allegro and SDL targets are supported, but there will be more in future. Glyph Keeper is free, portable, effecient and easy to use. If you are new here, you are welcome to see the Introduction page.


February 6, 2007 – Glyph Keeper 0.32
  • Glyph Keeper now can produce native Allegro FONT objects (with Allegro vtable). This means that Glyph Keeper can probably be used with AllegroGL (untested yet).
  • Fixed memory leak introduced in 0.30.
  • Added API to debug memory usage in Glyph Keeper and FreeType.
  • Stable centering: Glyph center remains the same when you rotate it.
Full list of changes
February 2, 2007 – Glyph Keeper 0.31
Changes since 0.30.1:
  • Added support for bitmap (raster) fonts.
  • Bundled FreeType updated to version 2.3.1.
  • gk_rend_set_angle() and gk_rend_set_italic() are deprecated. (They are still available if you don't define GK_NO_LEGACY when compiling your program). Instead four new functions are introduced: gk_rend_set_angle_in_radians(), gk_rend_set_angle_in_degrees(), gk_rend_set_italic_angle_in_radians() and gk_rend_set_italic_angle_in_degrees().
  • New functions for finding text dimensions: gk_text_dimensions_utf8(), gk_text_dimensions_utf16(), gk_text_dimensions_utf32().
  • Dimensions of italic text are now computed correctly.
  • Examples are improved (particularly benchmarks).
Full list of changes
January 15, 2007 – Glyph Keeper 0.30
Important changes since version 0.27:
  • FreeType source is now bundled with Glyph Keeper.
  • Glyph Keeper is now compatible with latest FreeType 2.2.1.
  • Added gk_rend_set_bold() function to control text boldness (strength).
Full list of changes
June 14, 2005 – Glyph Keeper 0.27
Important changes since version 0.22:
  • Implemented character remapping with API: gk_remap_character(), gk_unmap_character(), gk_remap_range(), gk_unmap_range().
  • Added new glyph precaching functions: gk_precache_range(), gk_precache_set_utf8(), gk_precache_set_utf16() and gk_precache_set_utf32().
  • New functions: gk_face_has_character() and gk_face_has_own_character().
  • Fixed a memory leak, occuring when Glyph Keeper was used without glyph cache. (Thanks to biscuitz for reporting!)
  • gk_render_char() is fixed to match documentation.
  • OpenGL driver is getting better, but still has few problems. Thanks to Fladimir da Gorf for his continuous efforts!
Full list of changes
February 15, 2005 – SDL support added
SDL port has been broken since 0.19, but now it is fully functional again, in Glyph Keeper 0.22. All features are supported - monochrome/antialiased rendering, transparency, rotations, backgrounds etc. This code needs testing, and it is not optimized for speed currently. The benchmark example is also updated to include SDL benchmark code.
February 6, 2005 – Glyph Keeper 0.21.2
Glyph Keeper 0.21.2 is ready with the major API change - all functions are now prefixed with "gk_". Compatibility macros will let your old code work without modification, but please use new API when writing new code. Other changes:
  • Added functions for measuring a single glyph / single character.
  • Added gk_set_font_path() function for setting a font search path.
  • Added background rectangle rendering, working for angled text also.
  • Optimized Allegro 32-bit antialiased output with background.
  • Added gk_text_advance_utf8/16/32 functions.
  • Added macros for enabling/disabling RLE and bitpack glyphs compression. From now a target driver is not required to handle RLE and bitpacked glyphs, linear 8-bit glyph support is enough.
  • UTF-32 decoder now knows about byte order mark.
  • Added GK_NO_LEGACY macro, controlling compatibility with old API.
  • Added UTF-16 support.
  • Fixed text width calculation bug, reported by Daniel Schlyder.
  • Fixed (hopefully) 64-bit porting problems, following Peter Wang's suggestion.
  • Fixed overflow problem with glyph advance values for very large font sizes (around 1000 pixels).
  • Fixed Allegro driver's screen access with DJGPP compilation.
  • Fixed C89 compatibility, broken in 0.20.
January 23, 2005 – Glyph Keeper 0.20.1
Glyph Keeper 0.20.1 is uploaded, with these improvements over 0.19:
  • Added support for Allegro FONT objects. There is explanation in the manual.
  • Increased speed of face_get_number_of_characters().
  • Italic rendering bug is fixed.
October 28, 2004 – Glyph Keeper 0.19
Glyph Keeper 0.19 is ready. The main changes since 0.15 are:
  • Added italic text rendering.
  • Improved speed of Allegro drawing.
  • Changed semantics of setting text size routines.
  • SDL support is not functional at the moment.
  • Minor bugfixes.
September 22, 2004 – Glyph Keeper 0.15
Glyph Keeper 0.15 is released. Changes are:
  • Some API functions have got better names.
  • Removed text background rendering. It never worked for angled text anyway.
  • Added alpha transparency.
  • Added RLE-like compression for anti-aliased glyphs.
  • Optimized some of the Allegro-specific routines.
  • Added initial SDL support. Only monochrome opaque rendering.
  • Commenting, logging, etc.
August 22, 2004 – Glyph Keeper 0.14
Glyph Keeper 0.14 is released, together with this web-site. This is the first public release of Glyph Keeper, featuring:
  • Works with FreeType 2.1.9.
  • Rendering directly to Allegro BITMAPS.
  • Glyph caching.
  • Angled text rendering.
  • RLE compression of monochrome glyphs.
August 21, 2004 – Glyph Keeper web-site created
After one year of using Glyph Keeper inhouse, I decided it might be useful for someone else. Birthday of this web-site.

Valid HTML 4.01! Valid CSS! Open Source
Against TCPA No software patents No software patents