* docs/CHANGES: Updated.
* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H. Provide a simple API to control FreeType's tracing levels. * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count, FT_Trace_Get_Name): New declarations. * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New functions.
This commit is contained in:
parent
9bfbf79c9f
commit
460355a5ea
24
ChangeLog
24
ChangeLog
|
@ -1,9 +1,25 @@
|
||||||
|
2004-02-23 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
* docs/CHANGES: Updated.
|
||||||
|
|
||||||
|
* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.
|
||||||
|
|
||||||
|
2004-02-23 Masatake YAMATO <jet@gyve.org>
|
||||||
|
|
||||||
|
Provide a simple API to control FreeType's tracing levels.
|
||||||
|
|
||||||
|
* include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
|
||||||
|
FT_Trace_Get_Name): New declarations.
|
||||||
|
|
||||||
|
* src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
|
||||||
|
functions.
|
||||||
|
|
||||||
2004-02-23 David Turner <david@freetype.org>
|
2004-02-23 David Turner <david@freetype.org>
|
||||||
|
|
||||||
* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
|
* src/autofit/afhints.c, src/autofit/afhints.h,
|
||||||
src/autofit/afloader.c, src/types.h: grave bugs were fixed. The
|
src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
|
||||||
auto-fitter works, doesn't crashes, but still produces unexpected
|
bugs have been fixed. The auto-fitter works, doesn't crash, but
|
||||||
results !!
|
still produces unexpected results...
|
||||||
|
|
||||||
2004-02-21 Werner Lemberg <wl@gnu.org>
|
2004-02-21 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
|
12
docs/CHANGES
12
docs/CHANGES
|
@ -6,13 +6,15 @@ LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
|
||||||
- The native TrueType hinter contained some bugs which prevented
|
- The native TrueType hinter contained some bugs which prevented
|
||||||
some fonts to be rendered correctly, most notably Legendum.otf.
|
some fonts to be rendered correctly, most notably Legendum.otf.
|
||||||
|
|
||||||
|
- The PostScript hinter now produces much improved results.
|
||||||
|
|
||||||
- The linear advance width and height values were incorrectly
|
- The linear advance width and height values were incorrectly
|
||||||
rounded, making them virtually unusable if not loaded with
|
rounded, making them virtually unusable if not loaded with
|
||||||
FT_LOAD_LINEAR_DESIGN.
|
FT_LOAD_LINEAR_DESIGN.
|
||||||
|
|
||||||
- Indexing CID-keyed CFF fonts is now working: The glyph index is
|
- Indexing CID-keyed CFF fonts is now working: The glyph index is
|
||||||
correctly treated as a CID, similar to FreeType's CID driver
|
correctly treated as a CID, similar to FreeType's CID driver
|
||||||
module. Note that CID CMaps support is still missing.
|
module. Note that CID CMap support is still missing.
|
||||||
|
|
||||||
- The FT_FACE_FLAGS_GLYPH_NAMES is now set correctly for all font
|
- The FT_FACE_FLAGS_GLYPH_NAMES is now set correctly for all font
|
||||||
formats.
|
formats.
|
||||||
|
@ -32,8 +34,8 @@ LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
|
||||||
|
|
||||||
- The flex operator didn't work for CFF fonts.
|
- The flex operator didn't work for CFF fonts.
|
||||||
|
|
||||||
- PS glyphs which use the `hintmask' operator haven't been rendered
|
- PS glyphs which use the `hintmask' operator haven't been
|
||||||
correctly in some cases.
|
rendered correctly in some cases.
|
||||||
|
|
||||||
- Metrics for BDF and PCF bitmap font formats have been fixed.
|
- Metrics for BDF and PCF bitmap font formats have been fixed.
|
||||||
|
|
||||||
|
@ -57,6 +59,10 @@ LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
|
||||||
in file-based fonts, it can happen in document-embedded
|
in file-based fonts, it can happen in document-embedded
|
||||||
resources of PostScript documents.
|
resources of PostScript documents.
|
||||||
|
|
||||||
|
- A simple API is now available to control FreeType's tracing
|
||||||
|
mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file
|
||||||
|
`ftdebug.h' for more details.
|
||||||
|
|
||||||
- The cache sub-system has been rewritten.
|
- The cache sub-system has been rewritten.
|
||||||
|
|
||||||
- There is now support for deinstallation of faces.
|
- There is now support for deinstallation of faces.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Debugging and logging component (specification). */
|
/* Debugging and logging component (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002 by */
|
/* Copyright 1996-2001, 2002, 2004 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -27,6 +27,7 @@
|
||||||
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_CONFIG_CONFIG_H
|
#include FT_CONFIG_CONFIG_H
|
||||||
|
#include FT_FREETYPE_H
|
||||||
|
|
||||||
|
|
||||||
FT_BEGIN_HEADER
|
FT_BEGIN_HEADER
|
||||||
|
@ -96,6 +97,53 @@ FT_BEGIN_HEADER
|
||||||
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Trace_Get_Count */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Return the number of available trace components. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* The number of trace components. 0 if FreeType 2 is not built with */
|
||||||
|
/* FT_DEBUG_LEVEL_TRACE definition. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* This function may be useful if you want to access elements of */
|
||||||
|
/* the internal `ft_trace_levels' array by an index. */
|
||||||
|
/* */
|
||||||
|
FT_EXPORT( FT_Int )
|
||||||
|
FT_Trace_Get_Count( void );
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Trace_Get_Name */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Return the name of a trace component. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* The index of the trace component. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* The name of the trace component. This is a statically allocated */
|
||||||
|
/* C string, so do not free it after use. NULL if FreeType 2 is not */
|
||||||
|
/* built with FT_DEBUG_LEVEL_TRACE definition. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* Use @FT_Trace_Get_Count to get the number of available trace */
|
||||||
|
/* components. */
|
||||||
|
/* */
|
||||||
|
/* This function may be useful if you want to control FreeType 2's */
|
||||||
|
/* debug level in your appliaciton. */
|
||||||
|
/* */
|
||||||
|
FT_EXPORT( const char * )
|
||||||
|
FT_Trace_Get_Name( FT_Int index );
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* You need two opening resp. closing parentheses! */
|
/* You need two opening resp. closing parentheses! */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Debugging and logging component (body). */
|
/* Debugging and logging component (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001 by */
|
/* Copyright 1996-2001, 2002, 2004 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -82,8 +82,9 @@
|
||||||
/* array of trace levels, initialized to 0 */
|
/* array of trace levels, initialized to 0 */
|
||||||
int ft_trace_levels[trace_count];
|
int ft_trace_levels[trace_count];
|
||||||
|
|
||||||
|
|
||||||
/* define array of trace toggle names */
|
/* define array of trace toggle names */
|
||||||
#define FT_TRACE_DEF(x) #x ,
|
#define FT_TRACE_DEF( x ) #x ,
|
||||||
|
|
||||||
static const char* ft_trace_toggles[trace_count + 1] =
|
static const char* ft_trace_toggles[trace_count + 1] =
|
||||||
{
|
{
|
||||||
|
@ -94,19 +95,43 @@
|
||||||
#undef FT_TRACE_DEF
|
#undef FT_TRACE_DEF
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( FT_Int )
|
||||||
|
FT_Trace_Get_Count( void )
|
||||||
|
{
|
||||||
|
return trace_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( const char * )
|
||||||
|
FT_Trace_Get_Name( FT_Int index )
|
||||||
|
{
|
||||||
|
int max = FT_Trace_Get_Count();
|
||||||
|
|
||||||
|
|
||||||
|
if ( index < max )
|
||||||
|
return ft_trace_toggles[index];
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Initialize the tracing sub-system. This is done by retrieving the */
|
/* Initialize the tracing sub-system. This is done by retrieving the */
|
||||||
/* value of the "FT2_DEBUG" environment variable. It must be a list of */
|
/* value of the `FT2_DEBUG' environment variable. It must be a list of */
|
||||||
/* toggles, separated by spaces, `;' or `,'. Example: */
|
/* toggles, separated by spaces, `;', or `,'. Example: */
|
||||||
/* */
|
/* */
|
||||||
/* "any:3 memory:6 stream:5" */
|
/* export FT2_DEBUG="any:3 memory:6 stream:5" */
|
||||||
/* */
|
/* */
|
||||||
/* This will request that all levels be set to 3, except the trace level */
|
/* This requests that all levels be set to 3, except the trace level for */
|
||||||
/* for the memory and stream components which are set to 6 and 5, */
|
/* the memory and stream components which are set to 6 and 5, */
|
||||||
/* respectively. */
|
/* respectively. */
|
||||||
/* */
|
/* */
|
||||||
/* See the file <freetype/internal/fttrace.h> for details of the */
|
/* See the file <include/freetype/internal/fttrace.h> for details of the */
|
||||||
/* available toggle names. */
|
/* available toggle names. */
|
||||||
/* */
|
/* */
|
||||||
/* The level must be between 0 and 6; 0 means quiet (except for serious */
|
/* The level must be between 0 and 6; 0 means quiet (except for serious */
|
||||||
|
@ -117,6 +142,7 @@
|
||||||
{
|
{
|
||||||
const char* ft2_debug = getenv( "FT2_DEBUG" );
|
const char* ft2_debug = getenv( "FT2_DEBUG" );
|
||||||
|
|
||||||
|
|
||||||
if ( ft2_debug )
|
if ( ft2_debug )
|
||||||
{
|
{
|
||||||
const char* p = ft2_debug;
|
const char* p = ft2_debug;
|
||||||
|
@ -136,7 +162,7 @@
|
||||||
|
|
||||||
if ( *p == ':' && p > q )
|
if ( *p == ':' && p > q )
|
||||||
{
|
{
|
||||||
FT_Int n, i, len = (FT_Int)(p - q);
|
FT_Int n, i, len = (FT_Int)( p - q );
|
||||||
FT_Int level = -1, found = -1;
|
FT_Int level = -1, found = -1;
|
||||||
|
|
||||||
|
|
||||||
|
@ -171,7 +197,7 @@
|
||||||
{
|
{
|
||||||
if ( found == trace_any )
|
if ( found == trace_any )
|
||||||
{
|
{
|
||||||
/* special case for "any" */
|
/* special case for `any' */
|
||||||
for ( n = 0; n < trace_count; n++ )
|
for ( n = 0; n < trace_count; n++ )
|
||||||
ft_trace_levels[n] = level;
|
ft_trace_levels[n] = level;
|
||||||
}
|
}
|
||||||
|
@ -183,14 +209,31 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#else /* !FT_DEBUG_LEVEL_TRACE */
|
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
FT_BASE_DEF( void )
|
FT_BASE_DEF( void )
|
||||||
ft_debug_init( void )
|
ft_debug_init( void )
|
||||||
{
|
{
|
||||||
/* nothing */
|
/* nothing */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( FT_Int )
|
||||||
|
FT_Trace_Get_Count( void )
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_EXPORT_DEF( const char * )
|
||||||
|
FT_Trace_Get_Name( FT_Int index )
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue