* 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>
|
||||
|
||||
* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
|
||||
src/autofit/afloader.c, src/types.h: grave bugs were fixed. The
|
||||
auto-fitter works, doesn't crashes, but still produces unexpected
|
||||
results !!
|
||||
* src/autofit/afhints.c, src/autofit/afhints.h,
|
||||
src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave
|
||||
bugs have been fixed. The auto-fitter works, doesn't crash, but
|
||||
still produces unexpected results...
|
||||
|
||||
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
|
||||
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
|
||||
rounded, making them virtually unusable if not loaded with
|
||||
FT_LOAD_LINEAR_DESIGN.
|
||||
|
||||
- Indexing CID-keyed CFF fonts is now working: The glyph index is
|
||||
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
|
||||
formats.
|
||||
@ -32,8 +34,8 @@ LATEST CHANGES BETWEEN 2.1.8 and 2.1.7
|
||||
|
||||
- The flex operator didn't work for CFF fonts.
|
||||
|
||||
- PS glyphs which use the `hintmask' operator haven't been rendered
|
||||
correctly in some cases.
|
||||
- PS glyphs which use the `hintmask' operator haven't been
|
||||
rendered correctly in some cases.
|
||||
|
||||
- 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
|
||||
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.
|
||||
|
||||
- There is now support for deinstallation of faces.
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Debugging and logging component (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002 by */
|
||||
/* Copyright 1996-2001, 2002, 2004 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -27,6 +27,7 @@
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_CONFIG_CONFIG_H
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
@ -96,6 +97,53 @@ FT_BEGIN_HEADER
|
||||
#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! */
|
||||
|
@ -4,7 +4,7 @@
|
||||
/* */
|
||||
/* Debugging and logging component (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001 by */
|
||||
/* Copyright 1996-2001, 2002, 2004 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
@ -82,8 +82,9 @@
|
||||
/* array of trace levels, initialized to 0 */
|
||||
int ft_trace_levels[trace_count];
|
||||
|
||||
|
||||
/* 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] =
|
||||
{
|
||||
@ -94,19 +95,43 @@
|
||||
#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 */
|
||||
/* value of the "FT2_DEBUG" environment variable. It must be a list of */
|
||||
/* toggles, separated by spaces, `;' or `,'. Example: */
|
||||
/* value of the `FT2_DEBUG' environment variable. It must be a list of */
|
||||
/* 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 */
|
||||
/* for the memory and stream components which are set to 6 and 5, */
|
||||
/* This requests that all levels be set to 3, except the trace level for */
|
||||
/* the memory and stream components which are set to 6 and 5, */
|
||||
/* 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. */
|
||||
/* */
|
||||
/* 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" );
|
||||
|
||||
|
||||
if ( ft2_debug )
|
||||
{
|
||||
const char* p = ft2_debug;
|
||||
@ -136,7 +162,7 @@
|
||||
|
||||
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;
|
||||
|
||||
|
||||
@ -171,7 +197,7 @@
|
||||
{
|
||||
if ( found == trace_any )
|
||||
{
|
||||
/* special case for "any" */
|
||||
/* special case for `any' */
|
||||
for ( n = 0; n < trace_count; n++ )
|
||||
ft_trace_levels[n] = level;
|
||||
}
|
||||
@ -183,14 +209,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
|
||||
FT_BASE_DEF( void )
|
||||
ft_debug_init( void )
|
||||
{
|
||||
/* 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 */
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user