* src/autofit/aftypes.h, src/autofit/afhints.h,

src/autofit/afmodule.c: adding support for disabling
        horizontal and vertical hinting for the purpose of debugging
        the auto-fitter
This commit is contained in:
David Turner 2006-09-26 15:42:44 +00:00
parent 745ff2c29f
commit 6f8c622996
4 changed files with 33 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2006-09-26 David Turner <david@freetype.org>
* src/autofit/aftypes.h, src/autofit/afhints.h,
src/autofit/afmodule.c: adding support for disabling
horizontal and vertical hinting for the purpose of debugging
the auto-fitter
2006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
* src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if

View File

@ -213,6 +213,17 @@ FT_BEGIN_HEADER
#define AF_HINTS_TEST_SCALER( h, f ) ( (h)->scaler_flags & (f) )
#define AF_HINTS_TEST_OTHER( h, f ) ( (h)->other_flags & (f) )
#ifdef AF_DEBUG
#define AF_HINTS_DO_HORIZONTAL( h ) \
( !_af_debug_disable_horz_hints && !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_HORIZONTAL ) )
#define AF_HINTS_DO_VERTICAL( h ) \
( !_af_debug_disable_vert_hints && !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_VERTICAL ) )
#define AF_HINTS_DO_ADVANCE( h ) \
!AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_ADVANCE )
#else /* !AF_DEBUG */
#define AF_HINTS_DO_HORIZONTAL( h ) \
!AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_HORIZONTAL )
@ -222,6 +233,7 @@ FT_BEGIN_HEADER
#define AF_HINTS_DO_ADVANCE( h ) \
!AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_ADVANCE )
#endif /* !AF_DEBUG */
FT_LOCAL( AF_Direction )
af_direction_compute( FT_Pos dx,

View File

@ -19,6 +19,11 @@
#include "afmodule.h"
#include "afloader.h"
#ifdef AF_DEBUG
int _af_debug_disable_horz_hints;
int _af_debug_disable_vert_hints;
#endif
#include FT_INTERNAL_OBJECTS_H

View File

@ -54,19 +54,21 @@ FT_BEGIN_HEADER
/*************************************************************************/
#define xxAF_USE_WARPER /* only define to use warp hinting */
#define xxAF_DEBUG
#define AF_DEBUG
#ifdef AF_DEBUG
#include <stdio.h>
# include <stdio.h>
# define AF_LOG( x ) printf x
#define AF_LOG( x ) printf x
extern int _af_debug_disable_horz_hints;
extern int _af_debug_disable_vert_hints;
#else
#else /* !AF_DEBUG */
#define AF_LOG( x ) do ; while ( 0 ) /* nothing */
# define AF_LOG( x ) do ; while ( 0 ) /* nothing */
#endif /* AF_DEBUG */
#endif /* !AF_DEBUG */
/*************************************************************************/
@ -149,7 +151,7 @@ FT_BEGIN_HEADER
FT_Pos y_out );
/*
* Return -1, 0, or +1, depending on the orientation of a given corner.
* Return -1, 0, or +1, depending on the orientation of a given corner.
* We use the Cartesian coordinate system, with positive vertical values
* going upwards. The function returns +1 when the corner turns to the
* left, -1 to the right, and 0 for undecided.