[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft-announce] Announcing FreeType 2.1.10
[ft-announce] Announcing FreeType 2.1.10
Wed, 15 Jun 2005 17:43:44 +0200 (CEST)
FreeType 2.1.10 has been released.
It is available from
The latter site also holds older versions of the FreeType library.
See below for the relevant snippet from the CHANGES file.
FreeType 2 is a software font engine that is designed to be small,
efficient, highly customizable, and portable while capable of
producing high-quality output (glyph images) of most vector and bitmap
Note that FreeType 2 is a font service and doesn't provide APIs to
perform higher-level features, like text layout or graphics processing
(e.g., colored text rendering, `hollowing', etc.). However, it
greatly simplifies these tasks by providing a simple, easy to use, and
uniform interface to access the content of font files.
FreeType 2 is released under two open-source licenses: our own
BSD-like FreeType License and the GPL. It can thus be used by any
kind of projects, be they proprietary or not.
I. IMPORTANT BUG FIXES
- The size comparison for BDF and PCF files could fail sometimes.
- Some CFF files were still not loaded correctly. Patch from
- The stroker still had some serious bugs.
- Boris Letocha fixed a bug in the TrueType interpreter: The
NPUSHW instruction wasn't skipped correctly in IF clauses. Some
fonts like `Helvetica 75 Bold' failed.
- Another serious bug in handling TrueType hints caused many
distortions. It has been introduced in version 2.1.8, and it is
highly recommended to upgrade.
- FreeType didn't properly parse empty Type 1 glyphs.
- An unbound dynamic buffer growth was fixed in the PFR loader.
- Several bugs have been fixed in the cache sub-system.
- FreeType behaved incorrectly when resizing two distinct but very
close character pixel sizes through `FT_Set_Char_Size' (Savannah
- The auto-hinter didn't work properly for fonts without a Unicode
charmap -- it even refused to load the glyphs.
II. IMPORTANT CHANGES
- Many fixes have been applied to drastically reduce the amount of
heap memory used by FreeType, especially when using
memory-mapped font files (which is the default on Unix systems
which support them).
- The auto-hinter has been replaced with a new module, called the
`auto-fitter'. It consumes less memory than its predecessor,
and it is prepared to support non-latin scripts better in next
- George Williams contributed code to read kerning data from PFM
- FreeType now uses the TT_NAME_ID_PREFERRED_FAMILY and
TT_NAME_ID_PREFERRED_SUBFAMILY strings (if available) for
setting family and style in SFNT fonts (patch from Kornfeld
- A new API `FT_Sfnt_Table_Info' (in FT_TRUETYPE_TABLES_H) has
been added to retrieve name and size information of SFNT tables.
- A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
been added to validate OpenType tables (BASE, GDEF, GPOS, GSUB,
JSTF). After validation it is no longer necessary to check
for errors in those tables while accessing them.
Note that this module might be moved to another library in the
future to avoid a tight dependency between FreeType and the
- A new API in FT_BITMAP_H (`FT_Bitmap_New', `FT_Bitmap_Convert',
`FT_Bitmap_Copy', `FT_Bitmap_Embolden', `FT_Bitmap_Done') has
been added. Its use is to convert an FT_Bitmap structure in
1bpp, 2bpp, 4bpp, or 8bpp format into another 8bpp FT_Bitmap,
probably using a different pitch, and to further manipulate it.
- A new API `FT_Outline_Embolden' (in FT_OUTLINE_H) gives finer
control how outlines are embolded.
- `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H) now handles bitmaps
also (code contributed by Chia I Wu). Note that this function
is still experimental and may be replaced with a better API.
- The method how BDF and PCF bitmap fonts are accessed has been
refined. Formerly, FT_Set_Pixel_Sizes and FT_Set_Char_Size
were synonyms in FreeType's BDF and PCF interface. This has
changed now. FT_Set_Pixel_Sizes should be used to select the
actual font dimensions (the `strike', which is the sum of the
`FONT_ASCENT' and `FONT_DESCENT' properties), while
FT_Set_Char_Size selects the `nominal' size (the `PIXELSIZE'
property). In both functions, the width parameter is ignored.
- The BDF driver no longer converts all returned bitmaps with a
depth of 2bpp or 4bpp to a depth of 8bpp. The documentation has
not mentioned this explicitly, but implementors might have
relied on this after looking into the source files.
- A new option `--ftversion' has been added to freetype-config to
return the FreeType version.
- The memory debugger has been updated to dump allocation
statistics on all allocation sources in the library. This is
useful to spot greedy allocations when loading and processing
- We removed a huge array of constant pointers to constant strings
in the `psnames' module. The problem was that compilations in
PIC mode (i.e., when generating a Unix shared object/dll) put
the array into the non-shared writable section of the library
since absolute pointers are not relocatable by nature.
This reduces the memory consumption by approximately 16KByte per
process linked to FreeType. We now also store the array in a
compressed form (as a trie) which saves about 20KByte of code as
- Kirill Smelkov provided patches to make src/raster/ftraster.c
compile stand-alone again.
|[Prev in Thread]
||[Next in Thread]|
- [ft-announce] Announcing FreeType 2.1.10,
Werner LEMBERG <=